从外部的三维软件,如3dsmax导入模型到papervision3D,下面,让我们熟悉一下这个流程。
[b]【[url]http://www.newflash3d.com[/url]---flash3D先锋队:北京贝武易科技公司】[/b]
有疑问请联系我QQ:363596350
在3dsmax里建立一个箱体。

[img]/upload/attachment/128684/53f88e81-5c04-3d64-8f6a-60c778222adc.jpg[/img]

长 20
宽 100
高 30
如图所示:

[img]/upload/attachment/128690/0bef345f-34a3-3a27-87fb-e40a100bd0ee.jpg[/img]
这里我们用的都是3dsmax默认的单位。也就是英尺。
我们这里需要注意的是它的轴向:xyz和它对应的长宽高。

[img]/upload/attachment/128692/d48258bf-452d-3e23-83b7-565e575f13ae.jpg[/img]
输出为box.DAE文件。
选择默认的设置,OK即可。
我们在Flex中把物体导入进去
代码如下:

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:myCanvas3D="myCanvas3D.*" applicationComplete="init();">   <mx:Script>     <![CDATA[          import org.papervision3d.objects.primitives.Plane;            import org.papervision3d.materials.WireframeMaterial;         import org.papervision3d.lights.PointLight3D;         import org.papervision3d.materials.ColorMaterial;         import org.papervision3d.cameras.FreeCamera3D;            import org.papervision3d.objects.primitives.Sphere;           import org.papervision3d.materials.BitmapFileMaterial;            import org.papervision3d.materials.utils.MaterialsList;           import org.papervision3d.objects.parsers.DAE;         import org.papervision3d.cameras.Camera3D;            import org.papervision3d.render.BasicRenderEngine;            import org.papervision3d.scenes.Scene3D;          import org.papervision3d.view.Viewport3D;         import org.papervision3d.events.FileLoadEvent;

          private var viewport:Viewport3D;          private var scene:Scene3D;            private var render:BasicRenderEngine;         private var camera:FreeCamera3D;

            private var light:PointLight3D;

         private var box:DAE;          private var plane:Plane;

            private function init():void{             viewport=new Viewport3D(500,400);                scene=new Scene3D();             render=new BasicRenderEngine();              camera=new FreeCamera3D(2,100);              plane=new Plane(null,100,100,10,10);             //light=new PointLight3D(true);              //light.x=0;             //light.y=50;                //light.z=-80;               //scene.addChild(light);

                box=new DAE(true);               box.load("assets/box.DAE",new MaterialsList( {all:new WireframeMaterial()} ) );

             box.addEventListener(FileLoadEvent.LOAD_COMPLETE,boxonloaded);

              camera.x=20;             camera.y=00;             camera.z=-20;                mycanvas.canvas.addChild(viewport);           }         private function boxonloaded(evt:FileLoadEvent):void{             scene.addChild(plane);                scene.addChild(box);              camera.lookAt(box);               render.renderScene(scene,camera,viewport);            }

       ]]>    </mx:Script>    <myCanvas3D:Canvas3D id="mycanvas" width="500" height="400" backgroundColor="0x000000"/></mx:Application>

运行,看到如下的结果:

[img]/upload/attachment/128700/d19f9625-566c-38a7-8bc4-b4679838d1f0.jpg[/img]
简单的解释一下,这里我们看到我们的箱体是立着的,我们多做了一个plane物体来作为参考,我们的相机在我们的Pv3d系统的位置为:
camera.x=20;
camera.y=0;
camera.z=-20;
我们的plane物体的长、宽、高都为100,那么箱体的长度和plane物体的长度是一样的。也就是说我们从3dsmax里导入的物体的长度在Pv3d系统的单位长度是一致的!这个很关键。
好,单位确定后我们就来探讨坐标轴的问题。
展开好UV,贴好材质,如图,我们通过材质来示意轴向。

[img]/upload/attachment/128707/2f0b1263-c28f-3d8c-8a66-573a060ee7c5.jpg[/img]
重新输出文件为:boxm.DAE
我们重新把文件导入到pv3d系统去,运行,我们看到是黑色的箱体,看不到材质,我们打开编辑boxm.DAE文件,把

<init_from>../sceneassets/images/outUV.jpg</init_from>

改为

<init_from>outUV.jpg</init_from>

因为我们的贴图outUV.jpg与我们的文件boxm.DAE是在同一个目录下。
再把材质代码改为:

box.load("assets/boxm.DAE",null );

只要路径对了,
boxm.DAE文件自动配置好贴图。
最终贴出来效果为

[img]/upload/attachment/128721/d1c110cb-ee29-37a2-ae26-8e71112506bc.jpg[/img]
在max的显示为:

[img]/upload/attachment/128723/024e5a14-dd1b-38cb-b216-821dd7667057.jpg[/img]
最终我们得出的结论是:
[b]3dsmax与pv3d的系统单位一致,
只要把Y轴与Z轴交换一下就达到一致效果。[/b]
[b]【[url]http://www.newflash3d.com[/url]---flash3D先锋队:北京贝武易科技公司】[/b]
有疑问请联系我QQ:363596350
最终,我们可以导入一个游戏人物角色了,Papervision 3D导入游戏人物!很激愤人心的事情啊!这里我们用了一个最终幻想的人物头部模型。
结果如图

[img]/upload/attachment/128725/67e45d72-da8a-3810-8b4d-d56ede1c4f14.jpg[/img]
下一步,我们会走的更远!

从3dsmax导出Dae模型到papervision3D相关推荐

  1. 3dsMax导出模型到Blender后金属度变成1

    问题:max材质导入blender金属度默认成1,如果有几百个个材质每个都要调简直要死,有什么方法解决或者能统一调整材质金属度吗? 解决3dsMax导出模型到Blender后金属度变成1的问题,三种解 ...

  2. COLLADAMaxNew插件,opencollada导出DAE文件格式 for 3dmax2019

    简介:COLLADAMax导出DAE可以比3DAMX原系统自带的导出格式减少内存消耗并提高性能.OpenCOLLADA 3ds Max插件是OpenCOLLADA开源项目的一部分.它为3ds Max添 ...

  3. dae模型如何合并_PV3D学习笔记-导入DAE模型

    网上关于PV3D导入DAE模型的例子都非常多,可惜我研究了半天,一个都没成功,或者是破面问题,或者是贴图不显示,再或者贴图乱掉了.今天晚上终于搞定,心得发上来. 制作模型的软件是SketchUp Pr ...

  4. 3DsMax导出插件编写(一)——vs2010和3dsmax2011(64位)的配置方法

    作为3D开发人员,特别是3D引擎开发人员,经常会接触到各种三维模型的数据.虽然说3dsmax已经可以导出很多格式的模型,不过总是不一定合适自己用.所以总有一种想自己写一个导出插件,让3dmax导出自己 ...

  5. ios 3D引擎 SceneKit 开发(3) --使用3dmax导出DAE文件

    hello ,大家好,我是Roc.Tian,最近一直在研究苹果自家的3D 引擎 SceneKit ,适当写写博客,总结一下,与大家分享一下,也希望跟大家交流,共同进步. 这其实是建模人员该了解的问题, ...

  6. blender中UV贴图及导出dae文件

    设置单位meter 设置大小 按 N调出属性面板 设置 依次选择编辑模式.线框.面选择: 进入UV贴图模式 右击选中物体上表面,按U--展开:上方选择UV Editing模式 贴图 左下底部选择 图像 ...

  7. oracle导出pdm文件命令,利用PowerDesigner逆向工程导出PDM模型及生成文档

    最近需要对老项目进行重构优化,由于项目都是好几年前的,相关设计资料很不全,最基本的数据库设计文档都没有,只能利用PowerDesigner逆向工程导出PDM模型及生成word文档:以下简单介绍导出模型 ...

  8. 3dsmax导出html,3dsmax导出gltf格式插件

    [实例简介] 3dsmax导出gltf格式插件,里面包括插件,插件使用说明,插件功能介绍: [实例截图] [核心代码] 3dsmx_to_gltf格式插件 └── 3dsMax to gltf 2 ├ ...

  9. PyTorch导出JIT模型并用C++ API libtorch调用

    PyTorch导出JIT模型并用C++ API libtorch调用 本文将介绍如何将一个 PyTorch 模型导出为 JIT 模型并用 PyTorch 的 C++API libtorch运行这个模型 ...

最新文章

  1. 【SVN多用户开发】代码冲突解决办法
  2. NoSQL数据库四大分类
  3. Git与GitHub的使用
  4. hdu 6200 mustedge mustedge mustedge(dfs序+树状数组+并查集)
  5. [转载] Java StringBuilder StringJoiner
  6. php nginx日志分析,如何通过NGINX的log日志来分析网站的访问情况,试试这些命令...
  7. “宇宙总统”计票(洛谷P1781题题解,Java语言描述)
  8. Startlsback常见使用过程中的问题
  9. Educational Codeforces Round 41 (Rated for Div. 2)
  10. java中函数的三要素是什么_函数的概念与三要素
  11. js浏览器 文本语音播报
  12. 阿里云centos7.0安装java环境
  13. P2345 [USACO04OPEN]MooFest G 【树状数组】
  14. 4152: [AMPPZ2014]The Captain
  15. 小程序实现书籍翻页效果
  16. win10+VS2012+opencv2.4.11的安装和配置
  17. 绿色软件在Windows10中设置开机自启方法
  18. 倍福 TwinCAT背景知识
  19. ZZ教你卸载 Office 正版增值计划通知 (KB949810)-CHS
  20. 三十岁了,还是身无分文,一事成无该怎么补救?

热门文章

  1. CAD打开时显示:应用程序无法正常启动(0xc0000142)
  2. 无法显示隐藏的文件或文件夹
  3. phpcm——域名转换问题
  4. arduino 鸿蒙,Arduino 开发板介绍及对比(上)
  5. java自制SQL假数据生成器
  6. Tkinter之place所有属性详解
  7. python中objects_django的objects怎么调用
  8. 字体FontFace动态引入方式
  9. makefile 学习记录(一)简单的两个C文件编译
  10. git下载问题warning: remote HEAD refers to nonexistent ref, unable to checkout