2024. április 19., péntek

Gyorskeresés

Útvonal

Cikkek » Játékok rovat

Unreal Engine 4 fejlesztői napló I. rész

Játékfejlesztéshez használt gyári standard programok bemutatása, a projekt alapkoncepiójának és mechanikájának ismertetése.

[ ÚJ TESZT ]

Programok a projekthez I.

Játékkészítéshez használatos programjaim, gyári standard programok

Ezek a programok szerves részét fogják képezni a projektnek, minden objektumot, tárgyat el kell készíteni, vagy módosítani kell ha meglévőt használok épp. Minden program másra és másra jó, de egységet fognak alkotni. Egy-egy elem teljes UnrealEngine ready elkészítése órákba telhet, minden modellt optimalizálni kell például a jó teljesítmény vagy csak a jó esztétika miatt. Összességében talán több időt fogok velük tölteni, mint magával az Engine-nel.

Általában van egy gyári standard program egy-egy probléma megoldására, az .fbx és a 3DS Max/Maya nem véletlen vannak összhangban de még sorolhatnám.
Nem feltétlen tudok ésszerű választ adni arra, hogy például miért nem Blendert használok a Max helyett. Ez személyes döntés volt még anno, ebbe tanultam bele illetve az én modelljeimhez egyértelmű is volt részben a Max. De lehetne Cinema 4D is.

Ezeknek a programoknak mind mind utána kell járni, ki kell őket próbálni. Nálam a kompatibilitás nem volt elsődleges szempont, de a következő program-pakk a lehető legtökéletesebb összhangban van igazából a "véletlen" okán, nem volt direkt.

3DS Max 2016

Számomra a második legfontosabb, és leggyakrabban használt program a 3DS Max.
Jelenleg a 2016 Student verziót használom, ami teljes egészében megegyezik bármelyik más 2016-os kiadással, azonban ingyenes tanuló licenszem van 3 évig.

Ez a program sokaknak nem ismeretlen, 3D objektumok létrehozására, módosítására használatos, továbbá még az objektumok unwrapelésére fogom használni a nem dinamikus árnyékolás miatt.
Ezek a modellek statikus világítással vannak világítva, ami teljesítményben nagyon olcsó, mert előre definiált árnyékokat kap-vet az adott modell. Nem kell realtime kiszámolnia őket. Azonban a hátránya, hogy a mozgó tárgyakat nem tudja kiszámolni, illetve sok munka van a szerkesztésével, mivel teljesen kézi (ha jó eredményt, és szép árnyékokat akarunk). Sajnos sem az Unreal, sem más motor jelenleg nem képes megfelelő lightmapokat generálni, ezért többségben az árnyékok csúnyák (szögletesek, hullámosak, össze-vissza) lesznek. Ezért egy ilyen volumenű projektnél illik külső programban előröl kezdeni a lightmapokat és a saját kezünkbe venni a modelleket. Időigényes, de mivel moduláris falakkal fogok dolgozni, nem kell minden egyes darabot külön-külön megcsinálni, működni fog a copy-paste is.

(3D modell + árnyéktérkép)

3DSen felül Maya és elvileg Blender is alkalmas ennek az elkészítésére, de nekem személy szerint van egy gyors, bejáratott robot technikám ami modell komplexitásától függetlenül max 2perc/modell. Moduláris elemeknél egy egyszerű négyzet alapú szoba, tegyük fel téglatest és van rajta 1 ablak és 1 ajtó, akár 8 elemből is állhat. Érdemes minél kisebb elemekre bontani egy területet, ugyanis ez jót tesz a lightmapunknak. Ajánlott 256-512 felbontás között tartani szép nagy szigetekkel, azaz tágas hellyel az egyes felületek között. Tökéletes árnyékokat fogunk így kapni, illetve a modularitás a későbbiekben már csak gyorsítani fogja a munkánkat, csak az elején lassú. Ennél a projektnél is betartom a 256-512 párost falaknál és padlóknál. De ahogy haladok előre, látni fogom kell e növelni valahol (valószínűleg lesz 2048as is)

Elborzasztó példa az úgynevezett light bleedingre

Aki belevágna modellek pakolgatásába, de csodálkozik, hogy miért jelennek meg így a tárgyak, annak ajánlom a következőket:

Unreal Wiki oldala
YouTube tutorial
Troubleshoot (legjobban ajánlom)

Ezen felül speciális pl. ívelt fal elemek elkészítésére, illetve meglévő assetek módosítására, poly-számuk csökkentésére használatos felém a játékbeli teljesítmény fokozása végett.
Archviz modelleket használok, amiknél nem ritka a több százezres polyszám, ami terheli a motort, néha teljesen feleslegesen. Ezért érdemes csökkenteni, ami például olyanokat eredményezhet, hogy egy ideális kör (ami nem létezik) nem végtelen számú szögből áll, hanem korlátozott számú szögekből.
Például egy 100.000 polys ív csökkentve egy 50.000 polys ív lesz, amivel kicsit tördelt, szögletes lesz.
Nem feltétlen észrevehető, de mindenképpen ajánlatos használni, ha nem Archvizhez kell az engine hanem mondjuk játékkészítéshez.

(VRay-ben renderelve, 100% gyári állapot (jobbklikk, megnyitás új lapon a nagyobb nézetért))

(99% -os optimalizálás ProOptimizer-ben)

(50% -os)

(10% -os)

Egyértelműen látszik, hogy túlzásokba sem szabad esni, a 99% optimalizált székkel kitudja mi történt.
Az 50% és 90%-nál már alig észrevehető a különbség, főleg játékon belül, mégis majdnem a felére csökkent a polygonok száma.
A polyszámra PC-n és konzolokon nincsen gyári standard vagy szűk limit, (2³² - 1) annyi lesz amennyi.
Telefonos játékoknál van limit, természetesen a hardver miatt.

Azonban ez nagyon általános dolog, a pálya méretétől nagyban függ, illetve hogy milyen kidolgozottságot szeretnénk elérni, nem kell feltétlen egy keréknek vagy egy pohárnak 99,99%-ig kereknek lennie, vannak fontosabb területek, ahova kelleni fog a gép teljesítménye, például a részecske effektekre. Természetesen a másik amire figyelni kell, az a tárgyakra szánt anyag és annak összetettsége, ill. felbontása. Összességében nagyobb tárgyaknál 80k és 100k között fogom tartani 2048x2048 textúrákkal.
Kicsi tárgyakra, díszekre elég lesz a maximum pár ezres részletesség és 1024x1024 vagy 512x512 textúra.

Maxban fogok még cloth szimulációkat is készíteni, tehát ide értem a függönyöket ha fújja őket a szél stb.

Ennél a programnál azonban kiegészítőket, azaz plugineket is használok.

RayFire: KATT
Ebből az 1.66 verziót használom.
Ez a plugin objektumok, modellek törésére szolgál, szimulációkat lehet vele készíteni. Nem dinamikus, az elkészült törést animációként renderelem és építem be a játékba.

Vray: KATT
Ez a program lecseréli a gyári renderert. Sok modellem igényli ezt a renderert, mert olyan anyagokkal érkeznek, amik VRayben készültek, és a kompatibilitás megőrzése végett ajánlott használni, vagy rendelkezni ezzel a pluginnel.
Ezen felül továbbfejlesztett fények, árnyékolások stb.stb. jellemzi, saját modelleket is ebben szoktam renderelni és mutogatni, egyszerűen azért, mert gyönyörű.

VRayMtlConverter v2.5:
Sajnos az UnrealEngine 4 nem tud mit kezdeni a Vray anyagokkal, amik némely modellemen vannak, ezért konvertálni kell őket gyári anyagokra, amiket már tudok exportálni majd importálni a játékba. Persze a motor nem fogja helyesen elhelyezni a textúrákat, zöld és kék színűek lesznek kezdetben a modellek, vagy az eredeti textúra egyszínű megfelelője. Pl. barna színű fából csak barna massza marad. Ez a modelljeim 80%-ára jellemző lesz, a manuális textúra importálás fájdalmas lesz, de megoldható. Valamit valamiért, ezek a modellek megérnek ennyi plusz munkát.

Erre képes a 3DS Max + VRay + Evermotion modellek ötvözete

Alapvetően ebben ki is fog merülni a 3DS Max használata, ez a lista lehet, hogy bővülni fog a későbbiekben, lehet, hogy így marad. A berendezés, modellek elhelyezése már a motoron belül fog történni, itt csak előkészítem őket a hibátlan szereplésre.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.