Hahmon luominen BVH animaatiosta

Motion Builder 7.5 tutoriaali
Kirjoittanut: Antti Veräjänkorva
12.10.2008

http://www.verajankorva.com
xcx@mbnet.fi

BVH ja T-Pose

Oletan, että sinulla on mocap animaatio, josta tarvitset Characterin, jotta voisit editoida animaatiodataa. Minun tapauksessani käytän mocap animaatiota kävelevästä miehestä.

Kuva 1

Importoitu BVH animaatio on tässä vaiheessa vain kasa luita, jotka liikkuvat. Motion Builderilla ei ole mitään tietoa siitä, että luut muodostavat itse asiassa hahmon. Koska MoBu:lle ei ole kerrottu, että kyseessä on hahmo eikä se näin myöskään osaa luoda hierarkialle kuuluisaa FK/IK rigiään.

Ensimmäinen homma on siis luoda hahmo. Hahmon luonti tapahtuu asettamalla hahmo T-pose:iin. T-pose on asento jossa hahmo seisoo suorassa kädet sivuilla, jalat gridin tasolla ja katsoen positiiviseen Z-suuntaan.

Siirrä hahmo ensin origoon. Eli valitse lonkka (yleensä pelvis tai hips).

Kuva 2

Siirrä origoon asettamalla X ja Z arvot nolliksi. Jätä Y arvo siihen missä se on. Helpoiten siirto onnistuu numeraalisesti kirjoittamalla arvot XYZ palkkiin.

Kuva 3

Varmista, että hahmo katsoo positiiviseen Z-suuntaan. Minun tilanteessani hahmo on jo valmiiksi oikein päin, mutta jos näin ei ole voit yksinkertaisesti kääntää lonkkaluusta hahmon oikeaan suuntaan. Jos hahmo on oikein päin voit varmistaa sen katsomalla että Z-akselin nuoli osoittaa samaan suuntaan, kuin hahmon katselusuunta.

Kuva 4

Kun hahmo on oikein päin pitää se vielä saada varsinaiseen T-pose asentoon. Useimmissa tilanteissa se onnistuu varsin helposti.

Ensin asetat luiden rotaatiot nolliksi. Voit tehdä sen valitsemalla jokaisen luun erikseen ja asettamalla rotaatioarvot nolliksi. Helpommalla pääset jos kirjoitat pienen scriptin.

Scripti

from pyfbsdk import * 
ml = FBModelList() 
FBGetSelectedModels(ml,None,True) 
for m in ml: 
	v = FBVector3d(0,0,0) 
	m.Rotation = v 
del ml 

Scripti asettaa kaikkien valittujen luiden rotaatiot nolliksi.

Kuva 5

Nyt sinun pitää vain nostaa kädet sivuille.

Kuva 6

Nyt T-pose on tehty. Motion Builder haluaa hahmojen olevan tässä asennossa luodessaan control riginsä.

Seuraavaksi luodaan se hahmo.

Characterize

Tämä on vaivalloisin vaihe, mutta tämä tarvitsee tehdä vain kerran uutta hahmoa kohden. Aloitetaan luomalla uusi Character. Raahaa Character asset Asset Browserista sceneesi.

Kuva 7

Kun Character on lisätty se ilmestyy Scene Browser listaasi.

Kuva 8

Selvyyden vuoksi hahmo kannattaa nimetä joksikin muuksi, kuin Character. Itse käytän tutoriaalissa nimeä BVH_Charater.

Kuva 9

Tupla klikkaa BVH_Characteria ja saat esille Characterin asetukset. Asetuspaneeli on kaksi tabinen, jossa tabissa Character Settings on hahmon varsinaiset asetukset ja tabissa Character Definition on hahmon luontiin ja määrittelyyn tarvittavia asetuksia.

Kuva 10

Klikkaa Character Definition tabia. Tässä tabissa määritellään Character eli mikä luu on mikäkin osa hahmoa.

Tärkeimmät luut löytyvät Base valikosta. Nämä luut ovat luita jotka on pakko löytyä, jotta control rigin luominen on mahdollista.

Luut raahataan Definition taulukon vastaaviin slotteihin, joten on tärkeää nähdä kaikki luut helposti. Scene browserista saat koko luurankosi hierarkian kätevästi esille.

Kuva 11

Scene browserista voit drag&drop:ta luita Character Definition ikkunan vastaaviin slotteihin.

Kuva 12

Ensimmäisenä on Reference. Se on luurangon pohjaluu, josta voi liikutella koko luurankoa. Raahaa tämä luu Reference slottiin Character Definition ikkunaan. Hips luu hips slottiin jne.Slotin nimi saattaa olla eri kuin luurankosi luun nimi, mutta Definition taulukon slottien nimet ovat melkoisen selkeitä. Motion Builderin manuaaleista otsikoiden Bone naming conventions ja Character Definition pane alta saat tarkempia tietoja siitä mikä slotti Definition taulukossa vastaa mitäkin osaa hahmossa.

Kun kaikki luut on asetettu omiin slotteihinsa saatat haluta tallentaa hahmo templaten, jotta et joudu joka kerta asettamaan luita slotteihinsa. Tämä onnistuu helposti painamalla Extract Naming Template nappia Character Definition paneelista. Klikkaa sen jälkeen Clear Mapping nappia, joka poistaa juuri asettamasi luut sloteista :). Ei hätää sillä tällä kertaa luut osaavat hakeutua itse oikeille sloteille. Valitse pelkästään Character ja klikkaa File valikosta Save Selected vaihtoehtoa ja tallenna fbx ilman Takea.

Kuva 13

Nyt sinulla character template, jota voit käyttää tulevaisuudessa samalle luurangolle.
Kuitenkin olet juuri poistanut luut Character Definition taulukosta. Tosin sinulla on taulukossa template, joten tarvitsee vain valita kaikki luut ja raahata ne Definition taulukkoon. Kätevästi luut asettuvat automaattisesti omiin slotteihinsa. Sitten klikkaa Characterize checkboxia. Ruudulle tulee popup, joka kysyy tehdäänkö kaksi –vai nelijalkainen rigi. Vastaa tähän Biped eli kaksijalkainen rigi.

Kuva 14

Hahmosi on tehty. Tosin sillä ei ole vielä control rigiä, mutta Motion Builder tunnistaa luuhierarkian hahmoksi.

Tässä vaiheessa Control rigin luominen on kuitenkin vain napin painallus. Paina Create nappia Character Definition paneelista. Tästä tulee popup ikkuna, josta voit valita teetkö ik -vai ik/fk rigin. Yleensä aina haluat luoda IK/FK rigin, kuten nytkin.

Kuva 15

Hahmosi on valmis. Tallenna hahmo File->Save As ja tallenna taas ilman Takea.