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