Render.ru

CreateGame

#1
Vot tut poigral v igru i tozhe reshil nebolishuju 3D igru sdelati.
Interesuet kto mozhet znaet osnovnije podhodi.

1) Nado ispolizivati Direct3DIM ili Direct3DRM (Chto luche)
2) Glavnaja Problema chto v DirectX esti to chto v Maya net ili ego po drugomu vizivati nado. Ja ispolizuju objektnij poghod:

GLAVNIJ PODHOD:
Na Verzhine piramidi objekt 2DPLANE ona otvechaet za objecti s kotorimi personaz mozhet stalknutisja i kotorije dolzhni ego ne propuystiti v debri poligonov etogo objekta.
v 2DPLANE vhodjat podobjekti 3DOBJECT kotorije sozdajutisja v processe zagruzki urovnja dlja staticheskih objektov i vprocesse igri dlja dinamicheskih
Kazhdij 3DOBJECT imejet svoji UV koordinati v nutri 2DPLANE.
3DOBJECT (gabaritnij kontejner) imeet escho pod objekti 3DSUBOBJECT kotorije
Javljajutisja tozhe Gabaritami No uzhe detalej objekta.

DVIZHOK:
V kazhdoj tochke 2DPLANE v virtualinoj setki animacii personahza(ej) imeetsja nekij perpendikuljarnij ploskosti vektor kotorij dobavljaetsja k vektoru dvizhenija personazha v rezulitate chego personaz mozhet dvigatisja po naklonnim ploakostjam i zabiratisja po lesnicam.U kazhdogo vektora esti zarezervirovannoje znachenije kotoroje ne ispolizuetsja pri dizajne objektov. Odno iz nih eto znachenije pozvoljajushee podnimatisja po lesnice (V ideale ono dolzhno bilo biti beskonechno bolihim) naprimer >=100.
Kogda reshateli animacii na nego natolknotsja on dolzhen postaviti 0 pered vektorom dvizhenija personazha v rezulitate chego personaz budet dvigatisja perpendikuljarno vverh. Esli vektor dvizhenija polozhitelen i v niz esli vektor Dvizhenija otricatelen. Escho v kazdoj tochke 2DPLANE esti dva ogranichivajushih vektora kotorije ispolizujutisja reshatelem chtobi ne "popasti v poligoni" Nu v obshem ponjatno kak eto rabotaet.

Dalishe okazivaetsja shto dlja kazhdoj vershini setki animacii ne vigodno hraniti eti vektora.
Po etoj prichine oni hranjatisja v podobjektah(3DSUBOBJECT).
estestvenno vse tri v 2DPLANE javljajutisja nulevimi vektorami.
Esli v dannoj tochke UV v 2DPLANE nahoditsja 3DOBJECT a eto uznajotisja s pomoshiju funkcii 2DPALNE::GetNearest3DObject(float U, float V, float Radius)
eta funkcija predusmotrenna dlja snizhenija nagruzki na processor.
Ona vosvrashaet identifikator blizheshego 3DOBJECT-a kotorij imejet otlichnije vektorov ot tekushih vektorov a takzhe chislo "taktov" animacii neobhodimoje dlja dostizhenija etogo objekta. Cherez dannoje chislo taktov eta funkcija vizivaetsja snogo i esli objekt zastupoil na gabarit 3DOBJECT to ispolizujetsja funkcija 3DOBJECT::GetAnimationVectors(float U,float V);kotoraja vozvrashaet znachenija etih vektorov dlja dannoj tochki (3DOBJECT peredajot zadanije 3DSUBOBJECTU a on i soderzhit informaciju o etih vektorah).I escho kogda personaz zastupaet na territoriju 3DOBJECT on ne ispolizujet funkciju 2DPALNE::GetNearest3DObject(float U, float V, float Radius) a ispolizujet analogichnuju 3DOBJECT::GetNearest3DSubObject(float U, float V, float Radius).
Esli chelovek odjot po doroge to eti vektora u nego estestvenno 0.
Esli podnimaetsja po naklonnoj ploskosti to ogranichevajushije vektora min i max etoj ploskosti a osnovnoj ektor tg(ugol naklona ploskosti) (mogu oshibitsja nado escho raz proschitati)
Vot tak eto ja sdelal ja vsjo sam pridumal tak shto ne nado iskati eti funkcii v Direct3D naprimer .
A kak drugije delajut ne Znaju da i voobshe pro Napisanije igr malo znaju.
Esli poprobovati analizirovati ishodniki kakojnibudu igri to tam chort nogu slomit.

I Escho pro Animaciju Vragov interesno uznati shtonibudi (Ispolizovati tam puti ili escho kak-nibudi)
Pro primenenije LOD hotelosi bi uznati i pro tipi dozagruzki staticheskih objektov chto tam luche (naprimer zagruzka srazu vsegu podurovnja i pri perehode v drugoj poduroveni vivoditi "Loading..." ili v processe prohoda igroka po urovnju avtomaticheski zagruzhati udalennije na opredelonnij radius objekti).

U menja tak poluchaetsja uporjadochiti Effekti v oddelinij Subobject Ludej tam v Drugoj , bariliefi v DRUGOJ.
 
#2
Da i v Maya ja toliko raspologaju Gabariti etih objektov i eksportiruju ih melom v fail svoego formata otkuda potom beru pri zagruzke urovnja.

Naschot ispolizovanija X-failov a takzhe Maldera i Skalli:))

Oni ispolizujutisja V 3DSUBOBJECTS::Load(char* filename);
 
#3
Vlad...................eto nekto chitati nebudet, Latiniu nepeshi

Dlia tovo chtobi sozdati igru nujno znati MAYA polygon modelirovanie, MEL (mel ocheni pomogaet v razrabotke igr , primer postroenie lanshaftov), C++
------------------------------
Esti paketi kotorie spechialino rashitanni na Game-Dev: ia nepomniu tochnoe nazvanie no pomoemu GenGenerator.
 
Сверху