Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Juraj
Založen: 06. 12. 2007 Příspěvky: 189
|
Zaslal: 25. únor 2009, 08:59:59 Předmět: Kombinace animací |
|
|
Zdravím Vás,
potřebuji poradit jak se používají vytvořené animace grafikem. Konkrétně:
1) potřebuji vedět, zda se načítá jeden model a k tomu xxx různých animací, které se později kombinují, pokud ano v jakém formátu jsou samotné animace?
2) která z těchto možností se používá častěji:
a) animace chuze, animace strelby a programator si tyto dve animace kombinuje
b) animcae chuze, animace strelby, animace chuze + strelby a programator jen prehrava danou animaci.
Snad jsem to popsal nějak srozumiteně, když Vám něco nebude jasné napište, nějak to přepíšu.. |
|
Návrat nahoru |
|
|
ladik-BigBoss
Založen: 28. 07. 2007 Příspěvky: 162
|
Zaslal: 25. únor 2009, 09:44:19 Předmět: |
|
|
1) většinou máš model i animace v jenom souboru. formát je na tobě. můžeš zkusit použít nějaký existující (MD2, MD3, ASE, 3DS, COLLADA, LWO/LWS...) nebo vlastní, kde si uložíš jen co skutečně potřebuješ
2) záleží na tom, jestli používáš animaci framů na úrovni vertexů nebo animuješ kosti, pak záleži na jaké funkční celky máš model rozdělený |
|
Návrat nahoru |
|
|
]semo[
Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 25. únor 2009, 09:57:21 Předmět: |
|
|
Řek bych, že je to projekt od projektu různý. Jedna možnost je, uložit si do toho souboru s modelem všechny animace, a nějaký info, že chůze je třeba od 0 do 10 keyframu, střelba od 11 do 58, ...
Ty kombinace jdou pohodlně provádět jen u kostěných animací. Myslím, že když budeš mít animaci chůze, kde nastavíš váhy kostí pro horní část těla na 0 a k tomu opačně animaci střelby, kde váha kostí pro nohy bude 0, tak to pude dobře míchat.
Chce to udělat si na to pěknej vertex shader a systém včetně editoru by měl podporovat ováhování kostí.
To mě teď jen tak napadlo, je to řešení, který snad neurazí...jistě ale existujou další přístupy. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
|
franz
Založen: 30. 07. 2007 Příspěvky: 1325
|
Zaslal: 25. únor 2009, 10:21:10 Předmět: |
|
|
V quake3 jsou postavy ze 4 modelů - nohy, trup s rukama, hlava, zbraň, spojené kostma. Animace mají nohy a trup. Jak to funguje názorně je dobře vidět tady: http://hyperblaster.ufouni.cz/actor.rar |
|
Návrat nahoru |
|
|
Juraj
Založen: 06. 12. 2007 Příspěvky: 189
|
Zaslal: 25. únor 2009, 14:40:05 Předmět: |
|
|
Díky za vaše reakce, osobně se mi asi zatím nejvíce líbí možnost složit model z částí, ale časové rozložení taky nevypadá špatně .
Kdyby někdo veděl o dalším možném způsobu, hodtě to sem, rád mám ve všem jasno než něco začnu implementovat. |
|
Návrat nahoru |
|
|
Vilem Otte
Založen: 18. 09. 2007 Příspěvky: 462 Bydliště: Znojmo - Sedlesovice, Kravi Hora
|
Zaslal: 25. únor 2009, 14:50:03 Předmět: |
|
|
Např. v enginu na kterém už nějakou dobu dělám se zatím používá formát podobný MD5 - kde md5mesh je model a md5anim jsou různé skeletální animace.
V moderních hrách funguje možnost 2b - proč? Možnost 2a je sice praktičtější pro grafika i programátora, ovšem vypadá na pohled daleko hůře a méně realisticky než možnost 2b, proto se dnes v praxi používá převážně možnost 2b.
Ovšem nakonec celkem nezáleží kterou metodu použiješ - obě se dají vylepšit pomocí dnešní technologie (animation blending, atd.) do takového stavu, že obě vypadají velice přirozeně.
Velmi obtížné ohledně animací je napsání toho, ať se daná postava pořád otáčí za kamerou přirozeně (tzn. do určitého úhlu pouze oči, poté do jistého úhlu pouze hlava a nakonec celé tělo).
Také pokud chceme inverzní kinematiku na chůzi (vypadá mnohem více přirozeně - viz. třeba Fallout 3 nebo Crysis) a příp. i jiné animace - tak také to není zrovna snadný problém tak, aby to vypadalo přirozeně. _________________ Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. |
|
Návrat nahoru |
|
|
Quiark
Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 25. únor 2009, 17:36:59 Předmět: |
|
|
Dobrá sranda je taky to, že se zrovna přehrává 50. ze 100 framů jedné animace a najednou se něco stane - hráč se rozhodne, že půjde najednou dozadu, nebo je postava zasažena projektilem. No a co teď dělat s tou rozdělanou animací, když se má hned reagovat na další? _________________ Mám strach |
|
Návrat nahoru |
|
|
Amorph
Založen: 06. 09. 2007 Příspěvky: 68
|
Zaslal: 25. únor 2009, 17:49:21 Předmět: |
|
|
2Vilem Otte: Ja bych uplne nesouhlasil. Predne nevim, proc by moznost 2a mela vypadat hure, nez 2b. Imho k tomu neni duvod. A pokud chces mit slusny kontroler postavy, aby chodila, otacela se, koukala se pri chuzi kolem, zvedala veci ze zeme, strilela atd. , kdy je nutne kombinovat animace pro ruzne casti tela, tak v tom pripade se pouziva moznost 2a.
A to proto, ze je to daleko univerzalnejsi a da se s tim dosahnout daleko lepsiho chovani postavy a propojeni s nejakym behavioralnim modelem. Pokud bys mel mit pouze prepinani animaci pripravenych pro celou postavu, tak tech animaci musis pripravit mocninu jejich druhu, coz neni zrovna vzdy schudne. Pouzit se to da pouze v pripade, ze ve hre je bud jen par animaci, nebo neni nutne je kombinovat (pokud delas napr. nejakou malou adventurku, kde ti ma postava pouze chodit a mezi tim prehrat nejakou jinou animaci, tak to asi neni problem).
V praxi se dneska prakticky ve vsech komercnich enginech pouziva blending skeletalnich animaci a skeletalni profily, ktere pomoci vah urcuji, na ktere kosti se animace aplikuje. A neni to nijak zavratne slozita a vypocetne narocna zalezitost. Animace je defacto seznam rotaci pro kazdou kost. Kdyz jich aplikuju vic, tak je jednoduse vynasobim vahama ve vybranem profilu a prictu. Pri blendingu animaci - plynuly prechod treba od chuze k boringu se profejdujou animace opet pomoci vah (tentokrat pro vsechny kosti stejne).
Pak muzeme pridat jeste vertexovou animaci, ktera pokud urcuje offset vertexu oproti jejich zakladnimu stavu, se da kombinovat z vice dilcich vertexovych animaci nebo morphu. Napriklad facialni animace se takhle resi - obvykle je nekolik morph targetu (vlastne nejkay koncovy snimek morphu) pro pusu, oci, emoce atd. ktere se podle potreby aplikuji a scitaji.
Nasledne az na vysledny result animace se aplikuje skinning - ovlivneni vertexu modelu aktualni polohou kosti - kazdy vertex meshe ma nekolik indexu kosti, ktere ho ovlivnuji a s jakou vahou. Tim zustava povrch modelu spojity i pri pohybu na "svech" meshu.
Co se tyce inverzni kinematiky, tak to uz je trochu jina kapitola, ale s vyse recenym souvisi tak, ze jeji vysledek se aplikuje na kosti zase jako nejaka jejich rotace a muze se podle chuti napriklad blendovat s nejakou keyframovou animaci, ktera bezi na postave, nebo ji u nekterych kosti treba nahradit. |
|
Návrat nahoru |
|
|
Amorph
Založen: 06. 09. 2007 Příspěvky: 68
|
Zaslal: 25. únor 2009, 17:53:09 Předmět: |
|
|
2Quiark: no a co je na tom za problem? Pokud ti nevadi skok v animaci, tak proste zacnes prehravat (to znamena aplikovat na skeleton) jinou animaci (sekvenci rotaci). Pokud ti skoky vadi, tak ty dve animace musis problendovat - jedny postupne snizis vahy z 1 na 0 a druhe naopak. Tady teda muze obcas dojit k nejkym nechtenym poloham kosti, kdyz to prointerpoluje nejak divoce, ale pri nejakym jednoduchym chozeni, stani, otaceni, to vetsinou nebyva problem. A navic to byva tak rychle, ze i kdyz ti obcas ruka trochu projede telem atd. tak si toho hrac nevsimne. |
|
Návrat nahoru |
|
|
Quiark
Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 25. únor 2009, 21:25:47 Předmět: |
|
|
Jo, ale my neměli kostěné animace a skoky vadily A vůbec jsme to měli celé asi nějak víc složité než bylo třeba.. _________________ Mám strach |
|
Návrat nahoru |
|
|
franz
Založen: 30. 07. 2007 Příspěvky: 1325
|
Zaslal: 25. únor 2009, 21:41:54 Předmět: |
|
|
na to kosti nejsou potřeba, stačí interpolace vertexů |
|
Návrat nahoru |
|
|
Crusty
Založen: 28. 08. 2007 Příspěvky: 120 Bydliště: Praha
|
Zaslal: 1. březen 2009, 22:18:37 Předmět: |
|
|
franz napsal: |
na to kosti nejsou potřeba, stačí interpolace vertexů |
to kostena animace je, jen po grupach vertexu _________________ http://www.2ox.cz |
|
Návrat nahoru |
|
|
franz
Založen: 30. 07. 2007 Příspěvky: 1325
|
Zaslal: 2. březen 2009, 00:49:34 Předmět: |
|
|
Crusty napsal: |
to kostena animace je, jen po grupach vertexu |
jen s vertexy udělám morphing také, navíc se v rámci animace obvykle počet vertexů nemění a o to je to snažší |
|
Návrat nahoru |
|
|
|