Sealyu

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

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

          復雜模型這里指的是用第三方軟件預先制作的模型,最常見的是用3DMAX軟件繪制的模型,在Papervision3D中,能夠使用這種模型的稱之為 Collada(可拉大),實話說,我本人對3DMAX軟件的建模功能并不是十分熟悉,如果想要快速達到這種建模目的,可以使用一款免費軟 件:GoogleSketchUpFree,現從網上找到一款簡體中文綠色版,下載地址: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后,就要構造cow乳牛了,即:

           

           public var cow:DisplayObject3D;

           

          cow定義完成后,接下來就是進行具體的初始化,這只需要override 父類PaperBase中的init3d()函數:

           

           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素材下載點此

              總結:本課學習了有關復雜模型在Papervision3D中的使用。一般地,使用復雜3D模型時必須要用到Collada類,再進行實例化,重新渲染3D場景即可實現效果~!

             本教程可自由轉載,請注明轉載出處,謝謝~!

             

          posted on 2008-11-19 14:49 seal 閱讀(883) 評論(0)  編輯  收藏 所屬分類: Flex+ActionScript
          主站蜘蛛池模板: 南阳市| 墨江| 那曲县| 措美县| 成都市| 德庆县| 江永县| 达尔| 莲花县| 焉耆| 峡江县| 尼勒克县| 兴国县| 贵德县| 正定县| 孙吴县| 芜湖县| 治县。| 菏泽市| 阳信县| 罗源县| 吉林省| 白城市| 手机| 策勒县| 肇庆市| 中方县| 白山市| 嘉义市| 桑植县| 和林格尔县| 达尔| 响水县| 阿坝| 汪清县| 沈丘县| 资阳市| 禄劝| 沽源县| 金门县| 成武县|