.[ ČeskéHry.cz ].
Animace 3D modelu
Jdi na stránku 1, 2, 3, 4  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Juraj



Založen: 06. 12. 2007
Příspěvky: 189

PříspěvekZaslal: 24. únor 2008, 19:49:35    Předmět: Animace 3D modelu Odpovědět s citátem

Tak jak začít. Pracuji v DirectX, už zdatně načítám 3D modely ze souboru *.x a pohybuji s nimy. Ale nějak nemůžu přijít na kloub animacím. Problém je že já ani nevím co hledat, vůbec totiž netuším jak se animace provede. Jde mi např o chodícího člověka, nějaký takový model jsem našel v DiectX SDK, když ho však otevřu v DirectX, model simuluje pohyb chůze. Ale když ho otevřu já, jen stojí s rozpoaženýma rukama. Z toho vyplívá moje hlavní otázka, informaci o animaci nese už přímo model (u mě soubor *.x), nebo se animování modelů dělá za pomocí nějakých funkcí?? Popř jak se animuje něco v praxi, zda je lepší pouze vykreslovat již vytvořený model s animací, nebo pouze modela a animovat si ho pomocí nějakých funkcí..Question
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 24. únor 2008, 19:58:37    Předmět: Odpovědět s citátem

mekni na moj tutorial http://www.ceske-hry.cz/forum/viewtopic.php?t=236 je sice na iny format ale to je celkom jedno. len neviem ci X nepouziva vertex animation namiseto kostrovej.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Juraj



Založen: 06. 12. 2007
Příspěvky: 189

PříspěvekZaslal: 24. únor 2008, 20:16:23    Předmět: Odpovědět s citátem

Tak zřejmě soubor *.x obsahuje informace přímo informace o animaci. Jen nějak nevím jak ji zobrazit, nebo jaké funkce k ní přistupují..

ps: už pročítám tvůj tutoriál Idea
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 24. únor 2008, 20:27:08    Předmět: Odpovědět s citátem

Ty informace jsou uloženy v .X souboru. Aby jsi načetl soubor i s animacema (skeletálníma), musíš použít místo klasického D3DXLoadMeshFromX funkci D3DXLoadMeshHierarchyFromX. Už jsem to implementoval před nějakým časem, ale nebyl to úplně triviální úkol a musel jsem si implementovat nějaký další podpůrný třídy, které implementovali nějaký specifický rozhraní (obsahuje metody pro vytváření framů apod.). Určitě se podívej na zdrojáky příkladu "Skinned Mesh" z DX SDK - já jsem z toho vycházel a tak po týdnu jsem měl funkční verzi. Kromě přístupu k animacím Ti načítání pomocí D3DXLoadMeshHierarchyFromX umožní také přístup k kompletní struktuře meshe, jak to vytvořil grafik v nějakém tom jeho 3D studiu apod. Funkce D3DXLoadMeshFromX to totiž všechno mergne dohromady podle materiálu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Juraj



Založen: 06. 12. 2007
Příspěvky: 189

PříspěvekZaslal: 24. únor 2008, 20:33:44    Předmět: Odpovědět s citátem

Augi napsal:
Ty informace jsou uloženy v .X souboru. Aby jsi načetl soubor i s animacema (skeletálníma), musíš použít místo klasického D3DXLoadMeshFromX funkci D3DXLoadMeshHierarchyFromX. Už jsem to implementoval před nějakým časem, ale nebyl to úplně triviální úkol a musel jsem si implementovat nějaký další podpůrný třídy, které implementovali nějaký specifický rozhraní (obsahuje metody pro vytváření framů apod.). Určitě se podívej na zdrojáky příkladu "Skinned Mesh" z DX SDK - já jsem z toho vycházel a tak po týdnu jsem měl funkční verzi. Kromě přístupu k animacím Ti načítání pomocí D3DXLoadMeshHierarchyFromX umožní také přístup k kompletní struktuře meshe, jak to vytvořil grafik v nějakém tom jeho 3D studiu apod. Funkce D3DXLoadMeshFromX to totiž všechno mergne dohromady podle materiálu.



Díky podívám se na to a začnu si s tím hrát Smile. A když se vytváří nějaký engine, používá se to přesně tak, že se vetšinou používají již animované modely, nebo se spíše pomocí té kostry animuje model přímo enginem?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 24. únor 2008, 21:38:39    Předmět: Odpovědět s citátem

dnes sa uz animuje pomocou kostry priamo v engine. volakedy sa pouzivala vertexova animacia kde boli ulozene pozicie vsetkych vertexov pre kazde policko animacie. a medzi nimi sa interpolovalo. dnes sa pouziva takmer vyhradne kostrova animacia.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 24. únor 2008, 21:48:39    Předmět: Odpovědět s citátem

Juraj napsal:
A když se vytváří nějaký engine, používá se to přesně tak, že se vetšinou používají již animované modely, nebo se spíše pomocí té kostry animuje model přímo enginem?

Nedokážu říct, jak se to běžně dělá, ale já bych se pravděpodobně (záleží na druhu hry) vydal cestou, kdy grafik připraví animace a engine se postará o vhodné spouštění, převíjení apod. animací.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Juraj



Založen: 06. 12. 2007
Příspěvky: 189

PříspěvekZaslal: 24. únor 2008, 21:52:56    Předmět: Odpovědět s citátem

Augi napsal:
Juraj napsal:
A když se vytváří nějaký engine, používá se to přesně tak, že se vetšinou používají již animované modely, nebo se spíše pomocí té kostry animuje model přímo enginem?

Nedokážu říct, jak se to běžně dělá, ale já bych se pravděpodobně (záleží na druhu hry) vydal cestou, kdy grafik připraví animace a engine se postará o vhodné spouštění, převíjení apod. animací.


A co se týká kostrové animace, je na to soubor *.x také připraven, myslím zda v sobě také má ty potřebné údaje?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 24. únor 2008, 21:57:19    Předmět: Odpovědět s citátem

Imho má.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
franz



Založen: 30. 07. 2007
Příspěvky: 1325

PříspěvekZaslal: 24. únor 2008, 22:30:11    Předmět: Odpovědět s citátem

Juraj napsal:
...že se vetšinou používají již animované modely, nebo se spíše pomocí té kostry animuje model přímo enginem?


Kombinovaně, máš uloženou například animaci běhu (nohou) a těla a do toho enginem otáčíš hlavu a zbraň podle toho, kam se model dívá nebo kterým směrem střílí. Dobře se to dá nastudovat třeba v Quake3 Smile

Ale mnohdy stačí mít rovnou animované celé modely a enginem jen střídat animace.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
am!go



Založen: 19. 08. 2007
Příspěvky: 61
Bydliště: Praha

PříspěvekZaslal: 25. únor 2008, 08:47:32    Předmět: Odpovědět s citátem

Nejsem si jistej, jestli jsou samply v dx sdk to nejlepsi pro zacinajici lidi. Zkus tutorial na tyhle strance, je k tomu i nejaka dokumentace http://www.moon-labs.com/ml_resources.htm . Jeste bych chtel podotkonout, ze dneska nema cenu nic jinyho, nez resit skinning pres vertex shader.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Juraj



Založen: 06. 12. 2007
Příspěvky: 189

PříspěvekZaslal: 27. únor 2008, 17:19:08    Předmět: Odpovědět s citátem

am!go napsal:
Nejsem si jistej, jestli jsou samply v dx sdk to nejlepsi pro zacinajici lidi. Zkus tutorial na tyhle strance, je k tomu i nejaka dokumentace http://www.moon-labs.com/ml_resources.htm . Jeste bych chtel podotkonout, ze dneska nema cenu nic jinyho, nez resit skinning pres vertex shader.


Za ten tutorial díky, zatím vypadá jako dobře.

ps: Můžeš mi osvětlit co znamená že se vše řeší přez vertex shader? Nejsme si jist zda si to dobře vykládám...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
am!go



Založen: 19. 08. 2007
Příspěvky: 61
Bydliště: Praha

PříspěvekZaslal: 27. únor 2008, 18:23:21    Předmět: Odpovědět s citátem

No tak budu vychazet z toho, ze vis, co to vertex shader je. Ty mas u animovanyho modely nejaky kosti a informace o tom, kterej vertex modelu se ke ktery kosti vztahuje. Z kosti mas slozenou nejakou kostru, ktera se samozrejme neustale meni a ty podle toho musis prepocitavat pozice jednotlivejch vertexu modelu. To muzes udelat budto tak, ze pokazdy zamknes vertex buffer, prepises vsechny vertexy, odemknes vertex buffer (je to pomaly, protoze vypocty bezi na CPU a brzdi to GPU) a nebo pozice tech vertexu menis ve vertex shaderu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Juraj



Založen: 06. 12. 2007
Příspěvky: 189

PříspěvekZaslal: 27. únor 2008, 21:27:59    Předmět: Odpovědět s citátem

Tak abych nezakládal další topick, píšu to sem..

Snažím se načítat model pomocí metody LoadHierarchyFromFile, na netu jsem zjistil že napřed si musím nadefinovat a naplnit proměnou typu AllocateHierarchy. Ale ani za nic se mi ji nedaří naplnit..

Dim alloHie As AllocateHierarchy

alloHie.CreateFrame("frame")

dám sen jen tuto část, i takto mi to spadne na chybu, nevíte co s tím?? Myslím si že bych ji napřed měl nějak předdefinovat, ale new na ni použít nejde tak už opravdu nevím.. Sad
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 27. únor 2008, 22:01:49    Předmět: Odpovědět s citátem

Na ten sample v DirectX jsi se díval? Jakou chybu ti to hází? Není to náhodou NullReferenceException? A četl jsi vůbec dokumentaci? Ta mluví jasně ohledně toho parametru: Pointer to an ID3DXAllocateHierarchy interface. Tzn., že vytvoříš instanci třídy, která implementuje rozhraní ID3DXAllocateHierarchy a předáš ji jako parametr. Na té instanci nic nevoláš.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2, 3, 4  Další
Strana 1 z 4

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna