讓對(duì)象動(dòng)起來有兩步:
1。在場景中移動(dòng)對(duì)象
2。讓對(duì)象播放動(dòng)畫
我們一步步來實(shí)現(xiàn)這個(gè)目標(biāo)。
移動(dòng)對(duì)象需要用到UnityScript,不過這里我們只是想要簡單的移動(dòng),拿“Script Tutorial”中的例子稍改改就行:
function Update () {
transform.position.x+= 0.02;
}
在Unity3D中運(yùn)行看看效果,我們將這個(gè)腳本綁定到一個(gè)球上,球開始向x軸方向移動(dòng)了。
接下來再看看如何播放動(dòng)畫。
手冊(cè)上說,如果想用max來做動(dòng)畫,必須將其導(dǎo)出為fbx文件。
沒經(jīng)驗(yàn)就是沒經(jīng)驗(yàn),我裝的3ds max9,從Autodesk網(wǎng)站上下載了個(gè)FBX插件For max 2009,結(jié)果死活加載不了,最后想想弄個(gè)低版本的插件試試,結(jié)果進(jìn)去一找,怎么還有個(gè)For max9的?敢情max9跟max2009不是一回事啊!而且,這max9都已經(jīng)這么老了,中間還隔了個(gè)max2008,再加上最新的max2010……
在max中做了個(gè)簡單的球,和幾幀簡單的動(dòng)畫,導(dǎo)出到Unity3D中,需要手動(dòng)添加動(dòng)畫,效果如下:
結(jié)合上面的移動(dòng)腳本,最后試運(yùn)行了下,球開始邊轉(zhuǎn)邊跑了 :)
還有幾個(gè)問題:
1。當(dāng)在max做多個(gè)動(dòng)畫時(shí),在Unity3D中添加進(jìn)來,第二個(gè)動(dòng)畫的播放位置有問題,不管擺到哪兒,播動(dòng)畫的時(shí)候這個(gè)GameObject都會(huì)跑到場景原點(diǎn)去。
2。手冊(cè)中說只支持Animation與Bone Based Animation。不會(huì)做動(dòng)畫,不知道m(xù)ax的骨骼動(dòng)畫導(dǎo)出來是怎樣,另外,biped動(dòng)畫是否能導(dǎo)出?需要試驗(yàn)一下。
-------------------
費(fèi)了半天勁找比例尺,原來是max中單位設(shè)置不正確。
方法:Customize – Unit Setup – System Unit Setup
用cm做單位,這樣做一個(gè) 100 * 100 * 100 單位的box放到Unity3D中正好占據(jù)一個(gè)Unity3D單位。
在手冊(cè)的某處也說到了,只是不太明顯:Unity’s physics system expects 1 meter in the game world to be 1 unit in the imported file.
所以,也根本用不著我來假設(shè)一個(gè)Unity3D單位等于現(xiàn)實(shí)世界中的一米……