carrido Napisano 16 Maj 2012 Napisano 16 Maj 2012 Witam, Mam ogromny dylemat , chcę stworzyć swioje portfolio z 3ech środowisk 3d ale jeszcze nie pracowałem w żadnym studiu i nie wiem jakimi Zasadami mam się kierować przy tworzeniu dema.Znam procedure Level of details, normal mapy , displacement maps itd. Mogę właściwie siąść i to robić ale wiem, że przy tworzeniu gier to wszystko ma swoje "restrykcje" i ograniczenia o których nie słyszałem w żadnych tutorialach. Czy jest tu ktoś z branży , kto mi podpowie jak zrobić środowisko 3d "jadalne" np. przez PlayStation3?? Jakieś takie 10 przykazań bożych podczas pracy jako enviroment artist ,będę bardzo wdzięczny.pozdrawiam wszystkich twórców.
Bruneq Napisano 16 Maj 2012 Napisano 16 Maj 2012 to nie religia, tutaj nie ma przykazan :P to wszystko zalezy co cie kreci, gry na telefony maja swoje wymagania a gry na pc swoje. Poogladaj sobie modele, popatrz jak duzo trisow maja inne modele, zastanow sie co chcesz zrobic i rob. Ma wygladac ladnie, spojnie, i z jak najmniejsza iloscia poly. Model moze miec 300 tri i miec zmarnowane 200 tri, a moze miec 30K i nie zmarnowanego ani jednego :P rob, pracuj, cwicz, ogladaj i pokazuj tutaj a napewno dostaniesz szybko odpowiedz czy obiekt ma za duzo albo za malo tri :)
plutko Napisano 16 Maj 2012 Napisano 16 Maj 2012 Sciagnij sobie jakis darmowy edytor - UDK, Cryengine, Unity ew. Source. Poogladaj testowe sceny i modele, tekstury, materialy itp.. Z samego grzebania duzo sie dowiesz. Sprobuj wtedy zrobic cos podobnego, mozesz zaczac z gotowych assetow. Potem cos dodawaj od siebie. Generalnie nie ma jakis rozroznien, np. ze pod Playstation modelujesz inaczej, to juz bardziej specyfika silnika co lepiej sie optymalizuje. Kilka rad mozna dac: - rob jak najwydajniejsze modele przy najlepszej jakosci to co wplywa na wydajnosc na poziomie pojedynczego modelu to: - ilosc wierzcholkow - ilosc i rozmiar tekstur - ilosci i skomplikowanie materialow - geometrie dawaj tylko tam gdzie poprawia ona sywletke modelu, badz oswietlenie. Reszta niech idzie na normalmape - na poziomie sceny dochodzi dodatkowo wiele innych ograniczen, ale one sa juz specyficzne dla konkretnego silnika. Przykladowo UDK sam dba o culling (zeby sie obiekty niewidoczne nie rendereowaly niepotrzebnie), w innych silnikach musisz sam o to dbac. -unikaj jesli mozesz alphy, bo mozesz miec problemy z sortowaniem. To nadal zmora wielu silnikow. To tak na szybko,a tutorioli jest sporo, wejdz na portale moderskie, czy chocby polycount.
JacekCichy Napisano 16 Maj 2012 Napisano 16 Maj 2012 Wszystko to co napisali koledzy wyżej, plus od siebie dorzuciłbym takie cuś: - jeżeli to możliwe to użycie jednej tekstury lub jej fragmentów dla wielu modeli (np. budynki, korytarze itp.) - tworzenie LOD'ow w przypadku np. drzew ostatni poziom to pojedynczy prostokąt ale nic nie stoi na przeszkodzie żeby pierwszy poziom miał np. 10k trójkątów albo i więcej trójkątów. Dużo zależy od rodzaju gry, od tego czy enviro to główny element czy tylko element tła towarzyszący i "mało" istotny. - jeżeli chodzi Ci o przykładowe liczby to mój komputer który najnowszą maszyną nie jest nie ma problemu z wyświetleniem 1-5mln trójkątów. Co do tekstur to w jednym momencie mogę maksymalnie używać mniej więcej 24000x24000 teksli oczywiście jest to sumaryczna wartość robienie tekstury o rozmiarze powyżej 2048x2048 najczęściej nie ma sensu a tekstury o rozmiarach powyżej 8000x8000 najczęściej nie są obsługiwane przez karty graficzne. EDIT: Najważniejsze przykazanie to GameArt to nie fotorealistyczny Render i stosowanie modyfikatora meshsmooth/turbosmooth w modelach jest w 90% surowo zakazane :)
carrido Napisano 17 Maj 2012 Autor Napisano 17 Maj 2012 Hej,dzieki za odpowiedź, zastanowił mnie ten tekst o "zmarnowanych" polygonach tudzież trójkątach czy miałeś na myśli Tę część modelu, która nie będzie w grze widzialna? np.tył posążka czy coś takiego?
carrido Napisano 17 Maj 2012 Autor Napisano 17 Maj 2012 Druga rzecz, opacity maps są oparte na kanale alpha (czarno białe) , czy nie wydaje się wam że raczej trudno było by ich nie urzywać np. w drzewach czy ivys ,mam na myśli, że jest to nawet niezbędne dla twórców??
plutko Napisano 17 Maj 2012 Napisano 17 Maj 2012 Opacity - nie chodzi o nieuzywanie, ale uzywanie rozsadne. Mozesz pracowac w silniku co radzi sobie dobrze, a potem przyjdzie Ci przerzucic sie na inny i bedziesz cierpial jak nabierzesz zlych nawykow ;) Podales dobry przyklad. Drzewa i bluszcz. Na drzewach jest to konieczne, ale w przypadku bluszczu czesto da sie zrobic material typu solid, w ktorym sciana blenduje sie za pomoca maski z liscmi. Oczywiscie bluszcz wystajacy bylby dodatkowo na alphie. Sorting alphy to zreszta temat na osobna dyskusje. Jeszcze odniose sie do limitow, ktore podal JacekCichy. To sa dosc wysokie liczby. W normalnej, pelnej grze duzo rzeczy spowalnia: postaci, animacje, dynamiczne swiatla, skomplikowane shadery, cienie, efekty i particle, logika gry, muzyka, doczytywanie z dysku, UI, tryb sieciowy. Czasem gra musi dzialac w 60 fps-ach, czasem dorzuca sie split-screen. I czesto z tych kilku milionow trisow wydajnosci starcza na kilkaset tysiecy. Oczywiscie robiac dla siebie, pod portfolio az tak sie tym nie przejmujesz, ale gdzies tam trzeba miec w pamieci, ze sa platformy majace spore ograniczenia: zarowno nowe komorki jak i x360 i ps3 i biedne wii. I ze czasem uzywanie tekstur 1024 jest juz luksusem ;)
carrido Napisano 17 Maj 2012 Autor Napisano 17 Maj 2012 Dzięki za wyczerpurajcą odpowiedź Plutko. Mój pierwszy enviroment to będzie kawałek terenu przedmieścia czyli skromne ulice biedne budynki i odrapane murki ciągnace akcje do szpitala psychiatrycznego.Wszystkie obiekty wiadomo wrzucę w colision cube także o to się nie martwię ale ulice i teren cały robię za pomocą tileable moduls (tak samo jak tworzymy budyki "niby bogatej konstrukcji"), żeby poukładać to sobie niczym klocki lego i modyfikowac w dowolne kształty (pewnie tak jak to jest w edytorze jako domyślnie).Pytanko: Czy te moje wszystkie kostki powiedzmy 12 inch X 12 inch będą w UDK itp. akceptowane jako ciągły mesh czy trzeba je w Maya zmergować albo nie wiem czy to jest dobry pomysł ??:-/ a może postać będzie mi wpadała między te kostki ...?? drugie: Jak zrobie to za pomoca tileable moduls to będzie to wyglądało dość monotonnie- czy decals mam oddzielnie wkładać w udk czy razem wszystko da się może z majki eksportować razem z decals do udk?
carrido Napisano 17 Maj 2012 Autor Napisano 17 Maj 2012 [ATTACH=CONFIG]86152[/ATTACH] To jest szybki przykładzik (nawet bez normal mapy prawie goły)widzimy tutaj wykonany dosłownie w 5 minut kawałek ulicy, który ma podłóżny kształt a tak naprawdę to tileable mesh poukładany szybko wzdłuż z dodaną specular map jedynie. Bardzo bardzo wydajny model pracy zajmujący dosłownie chwile, 10 polygonów i to chyba najwyższy jaki potrzebny bo level aby ulica nie była kompletnie płaska.
plutko Napisano 17 Maj 2012 Napisano 17 Maj 2012 UDK jest stoworzony do modularnych obiektow. Kazdy z klockow bedzie mial swoja kolizje (tworzona automatycznie albo przez Ciebie), wiec nie musisz, nawet nie powinienes mergowac w mayce. Powtarzalnosci unikasz na kilka sposobow: - kilka lekko rozniacych sie modularnych obiektow - rozstawiasz inne obiekty na powierzchni (studzienki, kupy gruzu, brudu, kosze, samochody itp.) - oswieteleniem - decale - UDK ma bardzo fajny system decali w sobie - zaawansowane materialy, tu jest duzo mozliwosci np. cos takiego: albo cos z 2 roznymi koordyantami mapowania (drugi jako world)
iniside Napisano 17 Maj 2012 Napisano 17 Maj 2012 Ja powiem tyle tyle. Content tworzy sie do silnika a nie silnik do contentu. Wiec jesli zależnie do tego czego używasz powienienś wykorzystać ficzery do maximum (4 kanały UV w Unrealu - mozna uzywac do decali na przykład, shader editor), albo Decale w Ce3 (ustawiane w czasie modelowania), albo vertex blending.
Skoti Napisano 17 Maj 2012 Napisano 17 Maj 2012 UDK jest stoworzony do modularnych obiektow. Kazdy z klockow bedzie mial swoja kolizje (tworzona automatycznie albo przez Ciebie), wiec nie musisz, nawet nie powinienes mergowac w mayce. Wszystko zależy od silnika - jeśli UDK rozpozna to jako osobne obiekty to jeśli mu wygodniej w Mayce to może w Maya, a jeśli UDK zaimportuje wszystko jako jeden obiekt to jest wręcz zbrodnia używać Maya do tego (UDK będzie widział jako jeden wielki obiekt scenę, więc zawsze będzie rysować wszystko na scenie, a nie tylko to co przejdzie testy widoczności i przecięcia z bryłą widoku). Czyli jak zwykle wszystko zależy od silnika i sposobu korzystania z danych i to wymusza pewne limity i zachowania. - jeżeli chodzi Ci o przykładowe liczby to mój komputer który najnowszą maszyną nie jest nie ma problemu z wyświetleniem 1-5mln trójkątów. Co do tekstur to w jednym momencie mogę maksymalnie używać mniej więcej 24000x24000 teksli oczywiście jest to sumaryczna wartość robienie tekstury o rozmiarze powyżej 2048x2048 najczęściej nie ma sensu a tekstury o rozmiarach powyżej 8000x8000 najczęściej nie są obsługiwane przez karty graficzne. EDIT: Najważniejsze przykazanie to GameArt to nie fotorealistyczny Render i stosowanie modyfikatora meshsmooth/turbosmooth w modelach jest w 90% surowo zakazane :) Karty graficzne nie mają problemów nawet z 50 milionów trójkątów (mobilne w tabletach i smartfonach potrafią 1M Poly wyświetlać przy 30FPS), ale problem jest z gospodarowaniem czasem klatki - sztywne ograniczenie, którego klatka nie powinna przekraczać to 33ms (około 30FPS) i jeśli damy na przetwarzanie wierzchołków 20ms to musimy oszczędzać czas na efektach (HDR/SSAO/DoF/AA/shadowmapping/...), a im więcej efektów tym mniej powinno być trójkątów, dlatego mimo, że karty są coraz mocniejsze, dalej powinno się ograniczyć max do 1M poly renderowanej sceny... właśnie renderowanej sceny, bo jeśli silnik wycina dobrze niewidoczną siatkę to scena może mieć i 50M poly (jeśli jej na raz nie widać w viewporcie i renderowane faktycznie jest ~1M poly). OFC jest jeszcze dodatkowa sprawa czyli teselacja (czyli model najwyższego LOD może mieć nawet 100M poly, a w grze będzie on dynamicznie zagęszczany jeśli się zbliżysz na niższym LOD jako displace mapa). Sprawa jeszcze bardziej komplikuje się kiedy wchodzi w grę mobilna rozgrywka jak smartfony. Ogólnie nie można podać jednej z góry ustalonej granicy, bo wszystko zależy od wielu czynników czyli sprzętu minimalnego, silnika, a nawet dane jego wykorzystanie i ustawienia - dziś model z zbrusha może być pokazany w portfolio jako gameart, bo przy teselacji tak będzie wyglądał w grze (o ile się dostatecznie do niego zbliżysz, ale też model jak z przed 10 lat może być najwyższym poziomem szczegółowości siatki, jeśli targetem jest telefon). 24000x24000 Texeli? WOW! Licząc nawet bez ALPHA, to RGB będzie zajmować 1 728 000 000 bajtów (ponad 1.6GB pamięci na karcie), co jest stanowczo za dużą liczbą... nawet stosując kompresje stratną na GPU. Co do tekstur ponad 16384x16384 obsługują 3x ostatnie serie kart (AMD od HD5000 i Nvidia od GTX400), 8192x8192 to z tego co pamiętam AMD od HD2k i Nvidia GTX8k od Intel HD Graphics (te najnowsze w prockach SandyBridge i IvyBridge - starsze nie), więc jeśli celujemy w starsze urządzenia to max jest 4k lub nawet 2k (AMD 9k czy X700/X600, niektóre integry Intela (popularne jeszcze niedawno przykładowo w netbookach ale i laptopach) czy niektóre mobilne procki (Nvidia nie obsługująca 4k to GeForce 2 o którym już nikt nie pamięta, ale i GeForce 4 MX)). Ogólnie nie można dawać rad na temat limitów, jeśli nie mamy... limitów czyli minimalnego sprzętu i w jakim silniku.
JacekCichy Napisano 18 Maj 2012 Napisano 18 Maj 2012 Mój błąd :) ta ilość texli którą podałem była dla jednego kanału(CSM). Czyli dla trzech wychodzi ok. 8000x8000 maks. Co do tego że GTX400 w górę obsługuje maksymalnie 16384^2 odnosiłbym się z mocną rezerwą bo mam karte GTX460 i powyżej rozmiarów 12k karta działała bardzo niestabilnie ;)
FiK_ Napisano 21 Maj 2012 Napisano 21 Maj 2012 A ja dokładam małe pytanko odnośnie samych polygonów. Otóż mója mała parka prywatnych mentorów, wpajała mi cały czas "siatka ma zawsze być zajebista", co stało się głównym hasłem na obudowie monitora, ale nvm. Idąc za ciosem pada pytanie: Co robić z trójkątami i gniazdami* (za gniazdo rozumiem skupisko 5ciu [i więcej] edgy w jednym vercie)? Czy wszystko zawsze i wszędzie trzeba quadowoać, skoro i tak nie będę używać ts/ms? Dlaczego nie powinienem zostawiać tri, skoro i tak silnik sobie wszystko przetrójkątuje? Ponadto capowanie cylindra w sposób quadowania na paski daje zawsze o jednego fejsa mniej i unika się gniazda, które ma miejsce przy capowaniu popularną metodą usuwania co drugiego edga w standardowym capie z trójkątów i zrobienia z tego quadów (pozniżej bardzo szybki, paintowy schemat >warunki polowe Generalnie wolę używać metody na paski, ale chcąc zrobić dajmy na to jakiś szpic, to już "gniazda" się nie uniknie. *spotkałem się również z nazwą "pentagon" ;d
JacekCichy Napisano 22 Maj 2012 Napisano 22 Maj 2012 Według mnie to jeżeli nie robisz ms/ts i jest to płaskie to nie ma kompletnie znaczenia czy zrobisz to tak czy siak czy w ogóle z samych trójkątów. Karta owszem przerabia wszystko na trójkąty, co więcej jeżeli robi się jakiś babol (złe cieniowanie) to też niekoniecznie oznacza że musisz wszystko przerobić na quady czasem wystarczy włączyć "retriangulation" i ustawić inaczej trójkąt na sąsiednim quadzie a sam trójkąt zostawić. Zasada używania samych quadów tyczy się przypadku w którym używa się modyfikatora ms/ts ale nie zawsze bo np. w organice czy w tkaninach zastosowanie trójkątów nieraz poprawia efekt. Pytanie zatem dlaczego jeżeli karta i tak to widzi jako trójkąty i w rzeczywistości też tak jest my nie możemy/nie powinniśmy korzystać z trójkątów np. na wypukłych powierzchniach? Odpowiedź jest taka że tylko dla naszej wygody. Możemy edytować trójkąt po trójkącie a nasz model tworzyć z trójkątów zamiast quadów tylko ze to nam raczej utrudni a nie ułatwi sprawę. Stwierdzenie że nie wolno korzystać z trójkątów jest nie prawdziwe natomiast nieraz tak się właśnie mówi początkującym po to aby unikali pewnych problemów i się po prostu nie zniechęcali. Reasumując: - Quady świetne do modelowania wypukłych powierzchni i do stosowania ms/ts - Trójkąty dobre do stosowania na płaskich powierzchniach - Trójkąty dobre do stosowania w niektórych przypadkach organiki czy tkanin przy użyciu ms/ts Co do samego cieniowania to zachowuje się ono najlepiej na regularnej(podobnej wielkości zbliżone kształtem do trójkąta równobocznego) siatce trójkątów/quadów
plutko Napisano 22 Maj 2012 Napisano 22 Maj 2012 Ta "zasada" dzielenia cylindra wziela sie ze starych czasow i wynikala z czegos takiego jak triangle strips. Tu w polowie artykulu jest to wyjasnione: http://www.ericchadwick.com/examples/provost/byf2.html Przy czym artykul jest z 2003 roku. Od tego czasu zmienilo sie wiele :) I jest to ostatnia rzecz jaka mozna, by sie przejmowac. Zreszta nie wiem, czy karty graficzne nadal licza w ten sposob i nawet jesli to pewnie wplyw na wydajnosc, to jakies promile. A ludzie powtarzaja ten podzial cylindra kolejnym pokoleniom :) Wiec modeluj jak Ci wygodnie. Jesli ten wierzcholek nie jest potrzebny, to go nie dawaj. Jesli chcesz gorke albo pomoze w mapowaniu, to go tam wsadz. Quady stosuje sie dla wygody i czystosci siatki, bo mozna latwo stosowac edgeloopy, ciac je itp.. Exporter i tak to trianguluje. Gniazda sa ok. Unikaj tylko wielokatow wiekszych niz quad. Raz, ze nigdy nie wiadomo jak sie to podzieli. Dwaz ze czesc silnikow tego nie lyka.
FiK_ Napisano 22 Maj 2012 Napisano 22 Maj 2012 O wielokątach wiem :) Dzięki za art, będzie co czytać nawet jeśli stare. Ogólnie to najbardziej obawiałem się tych gniazdeczek, ale myślę że dojdę do jakichś wniosków jak kilka razy coś popsuje : Na razie mimo wszystko jestem na etapie wchłaniania wiedzy i podglądania siateczek : D
iniside Napisano 22 Maj 2012 Napisano 22 Maj 2012 O wielokątach wiem :) Dzięki za art, będzie co czytać nawet jeśli stare. Ogólnie to najbardziej obawiałem się tych gniazdeczek, ale myślę że dojdę do jakichś wniosków jak kilka razy coś popsuje : Na razie mimo wszystko jestem na etapie wchłaniania wiedzy i podglądania siateczek : D Na twoim miejscu przeszedłbym na etap modelowanie :D Takimi pierdami jak optymilzacja to sie mozna zaczac przejmowac potem. Narazie ci tylko powiem ze liczba vertexow ma wiekszy wplyw na wydajnosc niz liczba polygonow.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się