復雜模型這里指的是用第三方軟件預先制作的模型,最常見的是用3DMAX軟件繪制的模型,在Papervision3D中,能夠使用這種模型的稱之為
Collada(可拉大),實話說,我本人對3DMAX軟件的建模功能并不是十分熟悉,如果想要快速達到這種建模目的,可以使用一款免費軟
件:GoogleSketchUpFree,現(xiàn)從網(wǎng)上找到一款簡體中文綠色版,下載地址:http://x.139.xdowns.com/085/Google%20SketchUp%206.chs.rar(附注冊信息:
Name:www.xdowns.com
Serial Number:KA-290-30718084-MMM
Authorization
Number:4314573-409430-4318663
這里簡要介紹使用這種模型達到的效果:

這幅截圖是使用Papervision3D生成的動畫乳牛效果圖,3D感十分強烈~!
想要達到這種效果,在Papervision3D中要用到一個新的類:Collada,它位于
org.papervision3d.objects.parsers包中,此外還要用到一個3D顯示對象類DisplayObject3D,它位于
org.papervision3d.objects包中,我要定義的乳牛cow就是用這個類來存貯模型,因此必須先import這兩個類,連同基類
PaperBase一共3個類:
import PaperBase;
import
org.papervision3d.objects.DisplayObject3D;
import
org.papervision3d.objects.parsers.Collada; |
類import后,就要構(gòu)造cow乳牛了,即:
public var cow:DisplayObject3D; |
cow定義完成后,接下來就是進行具體的初始化,這只需要override 父類PaperBase中的init3d()函數(shù):
override protected function
init3d():void
{
cow = new
Collada("collada/cow.dae");
cow.moveDown(100);
cow.scale =
3;
cow.pitch(
-30);
default_scene.addChild(cow);
} |
測試一下即有相應的效果~!
完整的代碼如下:
package
{
import PaperBase;
import
org.papervision3d.objects.DisplayObject3D;
import
org.papervision3d.objects.parsers.Collada;
public class MainColladaCow extends
PaperBase
{
public var
cow:DisplayObject3D;
public function
MainColladaCow():void
{
init();
}
override protected function
init3d():void
{
cow = new
Collada("collada/cow.dae");
cow.moveDown(100);
cow.scale =
3;
cow.pitch(
-30);
default_scene.addChild(cow);
}
override protected function
processFrame():void
{
cow.yaw(2);
}
}
} |
補充說明:Collada文件要放在MainColladaCow這個類同包下的collada文件夾中,一共有2個文件:cow.dae和cow.png素材下載點此。
總結(jié):本課學習了有關(guān)復雜模型在Papervision3D中的使用。一般地,使用復雜3D模型時必須要用到Collada類,再進行實例化,重新渲染3D場景即可實現(xiàn)效果~!
本教程可自由轉(zhuǎn)載,請注明轉(zhuǎn)載出處,謝謝~!