Away3D 学习笔记(一): 加载3DS格式的模型文件
加载外部的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格式的模型文件的更多相关文章
- 学习笔记TF015:加载图像、图像格式、图像操作、颜色
TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有 ...
- Unity3D学习笔记9——加载纹理
目录 1. 概述 2. 详论 2.1. Resources方式 2.2. API方式 2.3. Web方式 1. 概述 理论上,Unity中加载纹理并没有什么难度,只需要将图片放置在Assets文件夹 ...
- [WPF学习笔记]动态加载XAML
好久没写Blogs了,现在在看[WPF编程宝典],决定开始重新写博客,和大家一起分享技术. 在编程时我们常希望界面是动态的,可以随时变换而不需要重新编译自己的代码. 以下是动态加载XAML的一个事例代 ...
- flutter源码学习笔记-图片加载流程
本文基于1.12.13+hotfix.8版本源码分析. 0.大纲 Image ImageProvider 图片数据加载 ImageStream.ImageStreamCompleter 缓存池 Pai ...
- ARM学习笔记4——加载存储指令
一.字数据传送指令 作用:用于把单一的数据传入或者传出一个寄存器. 1.LDR指令 1.1.作用 根据<addr_mode>所确定的地址模式从内存中将一个32位的字段读取到目标寄存器< ...
- linux学习笔记1——指令的基本格式及基本文件操作
从今天开始就正式踏上了linux的学习历程.linux作为绝大多数服务器采用的操作系统,是每个开发人员都非常有必要掌握的操作系统.初学时,我没有直接在电脑上安装linux操作系统,而是采用了虚拟机的方 ...
- UIWebView加载ANSI格式的txt文件出现乱码问题解决
//若为txt文档 if([encodedString hasSuffix:@".txt"]){ NSData* Data = ...
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- Android学习——Fragment静态加载
从今天开始做一套安卓的学习笔记,开发环境是Android Studio,把学习过程中的知识和遇到的问题都写在这里,先从Fragment开始学起. Fragment概述 Fragment是Android ...
随机推荐
- opencart后台操作--第一节 多语言篇---中文语言包
参考:http://www.cnblogs.com/404bozhu/p/5015108.html#3584448 OpenCart简体中文语言包 OpenCart V2.3.0.x 版权所有:www ...
- 转:使用JMeter创建数据库(Mysql)测试
我的环境:MySQL:mysql-essential-5.1.51-win32 jdbc驱动:我已经上传到csdn上一个:http://download.csdn.net/source/3451945 ...
- json包含单双引号问题解决方案
解决方案:在后台处理 JSONArray.fromObject(list).toString() 转自明明如月小角落: 效果DEMO: JsonQuotesUtil.js /** * 解决json传输 ...
- ORA-01919: role 'OLAPI_TRACE_USER' does not exist
我在用数据泵导入数据的时候报的错 TEST_USER1@ORCL> conn / as sysdbaSYS@ORCL> grant plustrace to TEST_USER1; gra ...
- 大数据工具篇之flume1.4-安装部署指南
一.引言 flume-ng是一个分布式.高可靠和高效的日志收集系统,flume-ng是flume的新版本的意思,其中“ng”意为new generate(新一代),目前来说,flume-ng 1.4是 ...
- VBA注释临时
Sub shishi() '按ABCDE为多选题定义答案; 'A.沙利度胺 B.异烟肼 C.利福平 'd.氯法齐明 E.氨苯砜 '46.各型麻风病的首选药物为(D) 'A.沙利度胺 B.异烟肼 C.利 ...
- RESTful Java client with Apache HttpClient / URL /Jersey client
JSON example with Jersey + Jackson Jersey client examples RESTful Java client with RESTEasy client f ...
- js判断是android访问还是ios访问
原文地址:http://blog.csdn.net/wy978651775/article/details/9014039 该博主也是转载的,但是没有标明出处. 判断原理: JavaScript是前端 ...
- javascript讲解
1. js介绍 js的全称 javascript 由布兰登 艾奇发明的 javascript和java是有区别的 javascript是一门前台语言,而Java 是后台语言 前台语言运行在客户 ...
- tsql 循环id读取
declare @IDList as varchar(max) declare @ID as int declare @i as int set @IDList='' )) + ',' from ta ...