Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

          復(fù)雜模型這里指的是用第三方軟件預(yù)先制作的模型,最常見的是用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);
            }

           

              測試一下即有相應(yīng)的效果~!

              完整的代碼如下:

           

           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é):本課學(xué)習(xí)了有關(guān)復(fù)雜模型在Papervision3D中的使用。一般地,使用復(fù)雜3D模型時必須要用到Collada類,再進行實例化,重新渲染3D場景即可實現(xiàn)效果~!

             本教程可自由轉(zhuǎn)載,請注明轉(zhuǎn)載出處,謝謝~!

             

          posted on 2008-11-19 14:49 seal 閱讀(883) 評論(0)  編輯  收藏 所屬分類: Flex+ActionScript
          主站蜘蛛池模板: 公主岭市| 铁岭县| 永定县| 怀远县| 鹤岗市| 湘阴县| 伽师县| 双城市| 陵水| 邢台县| 天全县| 雷波县| 广平县| 黎城县| 美姑县| 汕头市| 武功县| 增城市| 福安市| 滦平县| 扶风县| 尼木县| 木里| 当阳市| 封丘县| 伊金霍洛旗| 砀山县| 罗城| 平顶山市| 阳谷县| 昌宁县| 泰州市| 渝北区| 延寿县| 江油市| 江都市| 高青县| 边坝县| 靖宇县| 镇赉县| 文安县|