Papervision3D使用复杂模型贴图

Papervision3D使用复杂模型贴图(转)

复杂模型这里指的是用第三方软件预先制作的模型,最常见的是用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场景即可实现效果~!

   本教程可自由转载,请注明转载出处,谢谢~!

   

你可能感兴趣的:(Papervision3D使用复杂模型贴图)