Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
TeaTime
Založen: 17. 06. 2011 Příspěvky: 264
|
Zaslal: 15. srpen 2013, 16:50:36 Předmět: Import modelu do hry |
|
|
Mám nakreslený model v Blenderu a chci ho načíst ve hře pomocí knihovny Assimp. Potřeboval bych poradit, jaký formát souboru mám použít pro ukládání modelů. Potřebuji načíst vertexy, meshe, materiály, kostru a kosterní animace. Ideální by bylo, kdyby se povedlo uložit více různých animací pro jeden model.
Po nahlédnutí do dokumentace assimpu a otevření Blenderu jsem získal dojem, že s množstvím formátů souborů které tyto programy podporují to bude hračka.
Problém je v tom, že assimp nikdy nenačte animace. Nejblíže se mi povedlo dostat s ogre formátem *.mesh.xml, který sice skutečně obsahuje data pro kostru a animaci, ale assimp je ani přes ujišťování dokumentace, že to načíst umí, nenačte.
Jinak také nemohu potvrdit, že mám v Blenderu včechno správně kolem animací (i když asi mám). Vertexy přidělané ke kostem jsou, v pose modu se vše hezky hýbe. Nicméně zkoušel jsem definovat animaci v action editoru i přímo na timeline. Když pak přejíždím po timeline, tak se to animuje. Ve výpisu stromu scény je pod objektem modelu i položka Animation. Takže to se mi zdá, že to je dobře, ale tak s blenderem zas tak zkušenosti nemám.
Díky za rady, případně ocením info, jak to řešíte ve svých projektech. |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 15. srpen 2013, 16:58:23 Předmět: |
|
|
Mně fungovala dobře Collada, i když tam tuším byl nějaký problémek s cestami k texturám, tuším je to chtělo v Blenderu nějak upravit. _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
TeaTime
Založen: 17. 06. 2011 Příspěvky: 264
|
Zaslal: 15. srpen 2013, 17:23:06 Předmět: |
|
|
Colladu jsem ani nezkoušel, vypadá na první pohled dobře, ale blender už jí nepodporuje kvůli potížím s export pluginem a údajnou neudržitelnou roztříštěností specifikace Collady. Mohl bych tam asi dát ten starý exporter, ale obávám se, abych neměl pak komplikace s tou roztříštěností specifikace. |
|
Návrat nahoru |
|
 |
perry

Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 15. srpen 2013, 17:57:25 Předmět: |
|
|
Jako Collada je dobrá.... ale neskutečně komplexní, takže je X verzí a žádná pořádně v těch exportech nejde... resp. export něco vyhodí, ale import to pak nezvládne. _________________ Perry.cz |
|
Návrat nahoru |
|
 |
Vilem Otte

Založen: 18. 09. 2007 Příspěvky: 462 Bydliště: Znojmo - Sedlesovice, Kravi Hora
|
Zaslal: 15. srpen 2013, 19:23:14 Předmět: |
|
|
Za sebe můžu říct, že používám textový obj pro statické modely (anebo neanimované modely). Skeletální modely používají formát md5. A oba jsou poté narvány do binárních, mnohem lépe použitelnějších formátů, které už nesou všechny informace které potřebuji (např. tangent-space vektory, atd. atd. atd.).
Kosterní animace poté načítám z md5 (mesh + anim soubory), převedu do lepšího formátu a uložím do něj.
Na export md5 jsou pluginy a ten formát je textový a velice jednoduchý. Lze jej velmi snadno převést do matrix-based formátu (je quaternion-based a geometrie je definována pomocí "weights").
Assimp nepoužívám (a nikdy jsem jej nepoužil), mám napsané vlastní knihovny, které se starají o loading (s tím, že mám veřejně známý interface pro engine a není problém napsat další dynamickou knihovnu pro další formát).
Collada je XMLshit (má láska k XML je až tak velká, že vše co je na něm postaveno vyloženě nenávidím), u textur, geometrie a dalších dat (objemnějších než "10 řádků") je XML jednoduše no-way. _________________ Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. |
|
Návrat nahoru |
|
 |
perry

Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 15. srpen 2013, 21:13:23 Předmět: |
|
|
citace: |
má láska k XML je až tak velká, že vše co je na něm postaveno vyloženě nenávidím |
Tak třeba mkv kontejner má interně taky xml strukturu (pravda, binární xml). Osobně bych ho rozhodně nezatracoval. Collada myslím taky podporuje binární xml, nebo ne ? _________________ Perry.cz |
|
Návrat nahoru |
|
 |
Aroidzap

Založen: 14. 11. 2011 Příspěvky: 68
|
Zaslal: 15. srpen 2013, 21:34:27 Předmět: |
|
|
Podle mě je lepší udělat si převodník na vlastní typ modelu, a tam si uložíš co potřebuješ  |
|
Návrat nahoru |
|
 |
TeaTime
Založen: 17. 06. 2011 Příspěvky: 264
|
Zaslal: 15. srpen 2013, 21:49:53 Předmět: |
|
|
Aroidzap napsal: |
Podle mě je lepší udělat si převodník na vlastní typ modelu, a tam si uložíš co potřebuješ  |
Já tedy neví, jímá mě překvapení a i jistá skepse při pomyšlení na to, že kvůli funkčnosti, která byla implementována už asi milionkrát se musím naučit scriptovat v blenderu a psát si vlastní parser. |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 15. srpen 2013, 21:56:35 Předmět: |
|
|
Není to zas nějak extra těžké, navíc se můžeš inspirovat u stávajících pluginů. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
 |
Aroidzap

Založen: 14. 11. 2011 Příspěvky: 68
|
Zaslal: 15. srpen 2013, 22:15:15 Předmět: |
|
|
Já myslel vyexportovat v třeba v Colladě a pak to převést (vlastní aplikací, ne pluginem) |
|
Návrat nahoru |
|
 |
TeaTime
Založen: 17. 06. 2011 Příspěvky: 264
|
Zaslal: 15. srpen 2013, 23:15:07 Předmět: |
|
|
Aroidzap napsal: |
Já myslel vyexportovat v třeba v Colladě a pak to převést (vlastní aplikací, ne pluginem) |
No v Colladě se mi nechce - uváděl jsem to výše. |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 16. srpen 2013, 09:46:48 Předmět: |
|
|
A můžeš použít FBX? Tam se dá uložit všechno možný a na rozdíl od collady to funguje. Neznám framework, co používáš, ale já do svýho programu přidal Autodesk FBX SDK a načítám FBXka. S tim bych mohl poradit.
Jinak, co přesně chceš, aby ten formát uměl?
O colladě: Vím o čem mluvím, psal sem vlastní importer na colladu a musím říct, že toho dovoluje tak moc, že co exporter, to jiná collada. Nejde jen o verze, ale i o vnitřní strukturu, materiály, atd. Liší se to i v rámci verzí jednotlivých 3D SW. Je to hnusnej maglajz.
Na druhou stranu, když budeš importovat jen z jednoho programu, napíšeš importer poměrně rychle. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
 |
TeaTime
Založen: 17. 06. 2011 Příspěvky: 264
|
Zaslal: 16. srpen 2013, 10:21:42 Předmět: |
|
|
]semo[ napsal: |
Jinak, co přesně chceš, aby ten formát uměl? |
Meshe, vertexy, UV, materiál (stačí filename textury), kostru (strom kostí), vazbu mezi kostmi a vertexy, vícero keyframe animací kostry.
No a je samozřejmě možné, že zjistím, že tam potřebuji ještě nějaké drobnosti, ale z těch hlavních featur by to mělo být všechno.
Preferuji assimp, protože už jsem s ním dělal a vím, jak funguje. Zvolit něco jiného by samozřejmě neměl být problém, ale moc se do toho neženu. Na FBX mě navíc trochu znepokojují všechna ta ?.
Teď zdá se nějak funguje formát .x (DirectX). Sice MS technologie moc nemusím, takže ještě hledám něco vhodnějšího, ale ozkouším, jak to bude fungovat. |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 16. srpen 2013, 10:38:39 Předmět: |
|
|
TeaTime napsal: |
Na FBX mě navíc trochu znepokojují všechna ta ?. |
Jaký otazníky máš namysli? Pokud ten otazník neni špatně zobrazený znak :)).
Jinak koukám, že z Blendru se dá exportovat ASE, to animace podporuje. Aspoň v MAXu. Mám dojem, že svýho času to lidi na hry docela používali a tvoje požadavky myslím splňuje. Jinak asi ta MD5ka, ale o ní moc nevím. Kdysi sem viděl formát MD2, už to se dá použít. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
 |
TeaTime
Založen: 17. 06. 2011 Příspěvky: 264
|
Zaslal: 16. srpen 2013, 10:52:03 Předmět: |
|
|
]semo[ napsal: |
TeaTime napsal: |
Na FBX mě navíc trochu znepokojují všechna ta ?. |
Jaký otazníky máš namysli? Pokud ten otazník neni špatně zobrazený znak ).
. |
Jo, je to špatně zobrazený znak, měl jsem na mysli R v kroužku . Prostě radši volím otevřenější technologie.
MD5 se mi líbil, chtěl jsem ho vzít, ale nějak se mi nedařil dobrý export z Blenderu (je na to nějaký plugin, co hází exceptiony).
Na ten ASE kouknu, to jsem ještě nezkoušel, díky. |
|
Návrat nahoru |
|
 |
|