加载外部的3DS文件分为两种:

  1: 模型与贴图独立于程序的,也就是从外部的文件夹中读取 

 private function load3DSFile():Loader3D
{
loader = new Loader3D();
loader.addEventListener(LoaderEvent.RESOURCE_COMPLETE,onLoadComplete);
loader.addEventListener(AssetEvent.ASSET_COMPLETE,onAssetComplete);
loader.load(new URLRequest("files/printer.3DS"),null,null,new Max3DSParser());
return loader;
}

  这种情况可以将导入的模型做为一个空的Object的以物体名命名的属性的值,这样,方便我们去调用这个模型,并且这种情况下3DS文件与贴图文件在一个文件夹中,不需要使用AssetLoaderContext.直接Loader这个模型,贴图就跟着进来了.

  

 // var meshs:Object = new Object();

 protected function onAssetComplete(event:AssetEvent):void
{
if(event.asset.assetType == AssetType.MESH) {
// add loaded object to meshs, to easy find it.
meshs[event.asset.name] = event.asset;
}
}
// 之后就可以这样去调用了: meshs.printer.rotationY++;

  2: 模型与贴图以Embed形式,嵌入应该程序中的

  因为此时,模型与贴图都嵌入在应用程序中,所以在载入的时候使用LoadData(载入已嵌入的数据),也需要使用AssetLoaderContext类去重新映射原3DS文件中的贴图,由路径映射为Data数据.

  

         private function load3DSFileEmbed():void
{
// 使用 AssetLoaderContext,映射3DS中的贴图路径与已嵌入的图版的Data数据.
var context:AssetLoaderContext = new AssetLoaderContext();
context.mapUrlToData("PRINTERV.JPG",new printerMap()); // 创建一个Loader3D
loader = new Loader3D();
// 载入每一个素材后,如Texture,Material,Mesh,Geometry等.
loader.addEventListener(AssetEvent.ASSET_COMPLETE,onAssetComplete2);
// 所以的素材全部载入后.
loader.addEventListener(LoaderEvent.RESOURCE_COMPLETE,onResComplete);
// 开始载入.1:模型数据 2:AsssetLoaderContext 3,Null 4:模型文件解析器
loader.loadData(new printerModel(),context,null,new Max3DSParser());
}

Away3D 学习笔记(一): 加载3DS格式的模型文件的更多相关文章

  1. 学习笔记TF015:加载图像、图像格式、图像操作、颜色

    TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有 ...

  2. Unity3D学习笔记9——加载纹理

    目录 1. 概述 2. 详论 2.1. Resources方式 2.2. API方式 2.3. Web方式 1. 概述 理论上,Unity中加载纹理并没有什么难度,只需要将图片放置在Assets文件夹 ...

  3. [WPF学习笔记]动态加载XAML

    好久没写Blogs了,现在在看[WPF编程宝典],决定开始重新写博客,和大家一起分享技术. 在编程时我们常希望界面是动态的,可以随时变换而不需要重新编译自己的代码. 以下是动态加载XAML的一个事例代 ...

  4. flutter源码学习笔记-图片加载流程

    本文基于1.12.13+hotfix.8版本源码分析. 0.大纲 Image ImageProvider 图片数据加载 ImageStream.ImageStreamCompleter 缓存池 Pai ...

  5. ARM学习笔记4——加载存储指令

    一.字数据传送指令 作用:用于把单一的数据传入或者传出一个寄存器. 1.LDR指令 1.1.作用 根据<addr_mode>所确定的地址模式从内存中将一个32位的字段读取到目标寄存器< ...

  6. linux学习笔记1——指令的基本格式及基本文件操作

    从今天开始就正式踏上了linux的学习历程.linux作为绝大多数服务器采用的操作系统,是每个开发人员都非常有必要掌握的操作系统.初学时,我没有直接在电脑上安装linux操作系统,而是采用了虚拟机的方 ...

  7. UIWebView加载ANSI格式的txt文件出现乱码问题解决

    //若为txt文档    if([encodedString hasSuffix:@".txt"]){                        NSData* Data = ...

  8. Spring MVC 学习笔记11 —— 后端返回json格式数据

    Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...

  9. Android学习——Fragment静态加载

    从今天开始做一套安卓的学习笔记,开发环境是Android Studio,把学习过程中的知识和遇到的问题都写在这里,先从Fragment开始学起. Fragment概述 Fragment是Android ...

随机推荐

  1. Java初学几个程序背诵

    1.Hello world class first { public static void main(String[] args){ System.out.println("Hello w ...

  2. python findall() re.S

    官方文档:https://docs.python.org/3.6/library/re.html 教程:http://www.regexlab.com/zh/regref.htm re.findall ...

  3. ICE简介及C++程序例子(转)

    一.ICE简介: 1.ICE是什么? ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象 ...

  4. 转!!!解释Eclipse下Tomcat项目部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)

    1.配置eclipse的开发环境,配置jdk的安装路径和tomcat安装路径. 2.在eclipse下建立Dynamic Web Project工程zhgy,在使用eclipse中new一个tomca ...

  5. charles只获取指定的请求的设置方法

    过滤网络请求 通常情况下,需要对网络请求进行过滤,只监控指定服务器的请求.有3种办法: 方法一:在主界面的中部的 Filter 栏中输入需要过滤出来的关键字.例如我们的服务器的地址(host)是:ww ...

  6. JavaScript-Tool:moment-timezone.js

    ylbtech-JavaScript-Tool:moment-timezone.js Parse and display dates in any timezone. 1. Format Datas ...

  7. python appium增加方法

    1.测试过程中发现python client没有拨打电话的方法,因此去添加该方法 1.1查看源码 appium-base-driver/blob/master/lib/protocol/routes. ...

  8. 关于跨域读取json数据我的理解

    这两天在做关于读取json数据的插件,想用getJSON读取数据: $.getJSON(http://www.xxxx.com/Titles.js, function (data) { console ...

  9. 上Google Adsense个人的一点体验

    最近我想开通一个Google Adsense帐号,因为以前注册过一个Google帐号,所以我以为两个是可以共通的,因为很久没上Google帐号,我记不太清密码了,所以我先是登录了Google,登上去了 ...

  10. javascript对象讲解

    js的数据类型 基本数据类型:string   undefined   null   boolean    number 引用数据类型:object 二者的区别: 基本数据类型就是简单的赋值,引用数据 ...