Macolla
07-07-2009, 16:06
3D Modeliranje te integracija u igre
U 3D računalnoj grafici, 3d modeliranje je proces konstruiranja matematičkih prikaza 3D objekata (mogu imati i svoj wireframe prikaz koji prikazuje oblik i poziciju poligona na objektu). Objekti se mogu prikazati u dvije dimenzije pomoću renderiranja preko specijalnog softwera. Model se prikazuje pomoću milijuna točaka u prostoru koje su povezane ravnim prostornim linijama koje ujedno tvore i poligon (ima i drugih načina koje necemo sad obrađivati jer se malo koriste u produkciji igara).
U prošlosti računala nisu bila sposobna prikazati renderiranu sliku nekog objekta u realnom vremenu pa su korišteni tzv. "spriteovi" to jest prerenderirane slike istih objekata. Svi 3D modeli mogu se podijeliti u dvije skupine:
(eng.) Solid - tijela koja imaju svoj volumen te definiraju prostor oko sebe (ne koriste se u igrama tako da ćemo ih za sad preskočiti).
(eng.) Shell - su površine definirane samo krivuljama tj. točkama kojima su okružene a možemo ih zamisliti kao infinitezimalnu ljusku jajeta.
Objekat virtualno nemože biti prikazan savršeno obal pa se stoga koristi "Teselacija" koja je proces djeljenja zakrivljene površine na sve manje i manje poligone. Postoji način modeliranja zvan "NURBS" modeliranje pomoću krivulja. NURBS krivulje definirane su njihovim redom, setom kontrolnih točaka, te "čvornim" vektorom. NURBS krivulje i površine generalizacije su "B-splinea" i Bézier krivulja i površina.. Danas postoji i novi nacin modeliranja "Sclupting" kojim se objekti definiraju pomoću "Voxela".
I dan danas postoji problem real-time renderiranja fluida jer je jedini način da se točno i vjerno prikažu gibanja i oblici je da se zasebno prati svaka čestica tj. "particle". Čestice mogu biti 3D objekti, točke, polygoni, spriteovi ili texture od kojih svaka ima svoje koordinate. Ovo se primjenjuje pri renderiranju vode, pijeska ili čak simulacije galaksije.
Programi za modeliranje:
Poligonalno modeliranje:
3DS Max, Blender,...
NURBS modeliranje:
Rhino 3D, Maya,...
Voxel modeliranje:
Zbrush, Mudbox,...
Integracija u igre
Svaka igra ima svoj engine koji se brine za sve što čujete ili vidite kad igrate. Engine je softwer koji računa sve potrebno za grafički prikaz, fiziku te zvuk u igri. Danas najpoznatiji i najbolji engine-i su Havoc, CryEngine 2 (uskoro 3), UnrealEngine 3, SeriousEngine 3, SAGE, Source, RAGE,...
Postoje dvije vrste modela koji se koriste u igrama a to si low-poly te high-poly modeli. High-poly modeli se koriste za prikaz (real-time render) na monitoru a low-poly modeli pri izračunu fizičkih interakcija među njima. Razlog tome je to što bi se korištenjem high-poly modela pri izračunu fizike trošilo previše hardwerke snage jer to nije potrebno dok je uvijek grafički prikaz na prvom mjestu. Primjer tome možemo uzeti model pištolja, koji se pri izračunu fizike definira kao obična kocka da bi se ubrzao sam engine.
Primarne odlike engine-a variraju sa žanrovima, FPSovi traže najbolji vizualni prikaz te fiziku a simulacije vožnje ultra realističnu fiziku...
Sigurno svi znate podesiti video detalje u igrama pa se sigurno sjecate Low, Medium te High postavki (standarne). Prilikom mjenjanja tih postavki mjenjaju se i modeli u igri da bi se ubrzao cijeli taj proces. Ako idemo logički naravno Low detalji ce prikazati najjednostavniji model nečega dok će High prikazati najvjerodostojniji i najkompleksniji model.
Imam jos ideja za proširivanje ovog članka ali nemam više vremena pa ću nastaviti sljedećih dana. Pozdrav ekipa! :)
U 3D računalnoj grafici, 3d modeliranje je proces konstruiranja matematičkih prikaza 3D objekata (mogu imati i svoj wireframe prikaz koji prikazuje oblik i poziciju poligona na objektu). Objekti se mogu prikazati u dvije dimenzije pomoću renderiranja preko specijalnog softwera. Model se prikazuje pomoću milijuna točaka u prostoru koje su povezane ravnim prostornim linijama koje ujedno tvore i poligon (ima i drugih načina koje necemo sad obrađivati jer se malo koriste u produkciji igara).
U prošlosti računala nisu bila sposobna prikazati renderiranu sliku nekog objekta u realnom vremenu pa su korišteni tzv. "spriteovi" to jest prerenderirane slike istih objekata. Svi 3D modeli mogu se podijeliti u dvije skupine:
(eng.) Solid - tijela koja imaju svoj volumen te definiraju prostor oko sebe (ne koriste se u igrama tako da ćemo ih za sad preskočiti).
(eng.) Shell - su površine definirane samo krivuljama tj. točkama kojima su okružene a možemo ih zamisliti kao infinitezimalnu ljusku jajeta.
Objekat virtualno nemože biti prikazan savršeno obal pa se stoga koristi "Teselacija" koja je proces djeljenja zakrivljene površine na sve manje i manje poligone. Postoji način modeliranja zvan "NURBS" modeliranje pomoću krivulja. NURBS krivulje definirane su njihovim redom, setom kontrolnih točaka, te "čvornim" vektorom. NURBS krivulje i površine generalizacije su "B-splinea" i Bézier krivulja i površina.. Danas postoji i novi nacin modeliranja "Sclupting" kojim se objekti definiraju pomoću "Voxela".
I dan danas postoji problem real-time renderiranja fluida jer je jedini način da se točno i vjerno prikažu gibanja i oblici je da se zasebno prati svaka čestica tj. "particle". Čestice mogu biti 3D objekti, točke, polygoni, spriteovi ili texture od kojih svaka ima svoje koordinate. Ovo se primjenjuje pri renderiranju vode, pijeska ili čak simulacije galaksije.
Programi za modeliranje:
Poligonalno modeliranje:
3DS Max, Blender,...
NURBS modeliranje:
Rhino 3D, Maya,...
Voxel modeliranje:
Zbrush, Mudbox,...
Integracija u igre
Svaka igra ima svoj engine koji se brine za sve što čujete ili vidite kad igrate. Engine je softwer koji računa sve potrebno za grafički prikaz, fiziku te zvuk u igri. Danas najpoznatiji i najbolji engine-i su Havoc, CryEngine 2 (uskoro 3), UnrealEngine 3, SeriousEngine 3, SAGE, Source, RAGE,...
Postoje dvije vrste modela koji se koriste u igrama a to si low-poly te high-poly modeli. High-poly modeli se koriste za prikaz (real-time render) na monitoru a low-poly modeli pri izračunu fizičkih interakcija među njima. Razlog tome je to što bi se korištenjem high-poly modela pri izračunu fizike trošilo previše hardwerke snage jer to nije potrebno dok je uvijek grafički prikaz na prvom mjestu. Primjer tome možemo uzeti model pištolja, koji se pri izračunu fizike definira kao obična kocka da bi se ubrzao sam engine.
Primarne odlike engine-a variraju sa žanrovima, FPSovi traže najbolji vizualni prikaz te fiziku a simulacije vožnje ultra realističnu fiziku...
Sigurno svi znate podesiti video detalje u igrama pa se sigurno sjecate Low, Medium te High postavki (standarne). Prilikom mjenjanja tih postavki mjenjaju se i modeli u igri da bi se ubrzao cijeli taj proces. Ako idemo logički naravno Low detalji ce prikazati najjednostavniji model nečega dok će High prikazati najvjerodostojniji i najkompleksniji model.
Imam jos ideja za proširivanje ovog članka ali nemam više vremena pa ću nastaviti sljedećih dana. Pozdrav ekipa! :)