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

制作模型的软件是SketchUp Pro 7.1,选这个主要是体积小,建模方便,毕竟Maya和3Ds max都上是GB的体积,SketchUp才30MB。

在SketchUp中建好模,注意不能让模型成组,选择文件-导出3D模型,注意右下角的选项,勾上“输出材质纹理”,其他都可以不选,导出格式选dae即可。

找到这个dae文件,用记事本打开,dae其实就是个xml文件,打开后搜索init_from,然后在下方不远处会看到大致如下的内容:

<image id="ID171"><init_from>car/texture0.jpg</init_from></image>

这里显示的就是模型贴图的路径(如果贴了图的话就有),改成这样:

<image id="ID171"><init_from>texture0.jpg</init_from></image>

也就是删掉目录,只剩贴图文件名,然后相应地,将car文件夹里的贴图全部复制出来。

不知道问什么,PV3D似乎不会去搜索文件夹下的东西,只认和dae文件同目录下的贴图,这就是我一直没搞定贴图的元凶。

然后是PV3D的调用代码,代码一贯很简洁,只要3行即可,创建DAE对象需要引入org.papervision3d.objects.parsers.DAE,创建代码如下:

1
2
3
var mod:DAE = new DAE();
mod.addEventListener(FileLoadEvent.LOAD_COMPLETE, onload);
mod.load("house.dae");

这里使用了addEventListener来监视模型的载入,接着相应LOAD_COMPLETE事件;

1
2
3
4
private function onload(e:FileLoadEvent):void
{
        mod.scale=20;<br>      scene.addChild(mod);
}

需要注意的是,SketchUp里的坐标单位和PV3D里的单位不同(应该有个对应关系,至少我现在没发现),所以SketchUp里看起来很大的模型,放在PV3D里也许小到被忽略,所以用scale放大20倍,其他模型再具体调整。

PV3D学习笔记-导入DAE模型的更多相关文章

  1. V-rep学习笔记:机器人模型创建3—搭建动力学模型

    接着之前写的V-rep学习笔记:机器人模型创建2—添加关节继续机器人创建流程.如果已经添加好关节,那么就可以进入流程的最后一步:搭建层次结构模型和模型定义(build the model hierar ...

  2. 操作系统学习笔记----进程/线程模型----Coursera课程笔记

    操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进 ...

  3. V-rep学习笔记:机器人模型创建2—添加关节

    下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些 ...

  4. ArcGIS模型构建器案例学习笔记-字段处理模型集

    ArcGIS模型构建器案例学习笔记-字段处理模型集 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 由四个子模型组成 子模型1:判断字段是否存在 方法:python工 ...

  5. Dubbo -- 系统学习 笔记 -- 示例 -- 线程模型

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 线程模型 事件处理线程说明 如果事件处理的逻辑能迅速完成,并且不会发起新的IO请求 ...

  6. .net学习笔记---IIS 处理模型及ASP.NET页面生命周期

    本文是基于IIS6的处理模型. 当一个客户端页面访问IIS试图获取一些信息的时候,发生了什么事情?一个请求在通过了HTTP管道后又发生了什么?本文主要是描述这两个过程,即IIS处理asp.net请求和 ...

  7. V-rep学习笔记:机器人模型创建1—模型简化

    要进行机器人仿真首先需要得到机器人的几何模型.我们可以直接通过VREP中提供的基本几何体来搭建一个简易的机器人[Menu bar --> Add --> Primitive shape - ...

  8. [PyTorch 学习笔记] 3.1 模型创建步骤与 nn.Module

    本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/module_containers.py 这篇文章来看下 ...

  9. CSS学习笔记——视觉格式化模型 visual formatting model

    CSS 视觉格式化模型(visual formatting model)是用来处理文档并将它显示在视觉媒体上的机制.他有一套既定的规则(也就是W3C规范),规定了浏览器该怎么处理每一个盒子.以下内容翻 ...

随机推荐

  1. 很实用的js限制不让输入其他字符,只让输入数字和 js生成UUID

    onkeyup="this.value=this.value.replace(/\D/g,'')" js生产UUID var createUUID = (function (uui ...

  2. 如何有效地报告 Bug

    如何有效地报告 Bug 引言 为公众写过软件的人,大概都收到过很拙劣的bug(计算机程序代码中的错误或程序运行时的瑕疵--译者注)报告,例如: 在报告中说"不好用": 所报告内容毫 ...

  3. leetcode:Merge Two Sorted Lists(有序链表的归并)

    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...

  4. 【转】Android Gson的使用

    Android Gson 2014 年 05 月 22 日 android 目前的客户端大都有和服务端进行交互,而数据的格式基本就是json了,于是在Android开发中就经常用到json解析,方便的 ...

  5. ibernate学习笔记5---实体类或属性名与数据库关键字冲突、hql命名参数、hql实现通用分页

    一.实体类或属性名与数据库关键字冲突问题1.实体类名与数据库中的关键字冲突比如:实体表User与oracle中的系统表冲突解决方式1:在xml中添加table属性,指定表名,使其不与name默认相等 ...

  6. tomcat下jndi的三种配置方式

    jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...

  7. Css中光标,DHTML,缩放的使用

    Css中光标的使用: 属性名称                属性值                                         说明cursor                 ...

  8. R语言,NA,NAN

    好莫名其妙的结果 is.na() #NA得不到的值is.nan() #NAN不可能的值is.infinite() #无穷的 x1<-NA x2<-0/0x3<-1/0 is.na(x ...

  9. BZOJ 2151 种树

    贪心+priority_queue. #include<iostream> #include<cstdio> #include<cstring> #include& ...

  10. 【C#学习笔记】浏览目录得到路径

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...