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

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

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


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

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

  


 1 // var meshs:Object = new Object();
2
3 protected function onAssetComplete(event:AssetEvent):void
4 {
5 if(event.asset.assetType == AssetType.MESH) {
6 // add loaded object to meshs, to easy find it.
7 meshs[event.asset.name] = event.asset;
8 }
9 }
10 // 之后就可以这样去调用了: meshs.printer.rotationY++;

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

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

  


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

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

时间: 2024-10-06 22:23:11

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

OGEngine学习笔记---资源加载

声音管理兼容各种音频文件格式,比特率和样本率 OGEngine开源引擎兼容各种音频视频文件格式,并且引用了硬件加速技术,来对音频文件进行io读取,简化了资源的加载和读取写入的过程,大幅度减少应用卡顿.无响应的状况出现. 一个背景音乐 多个音效 OGEngine开源引擎在同一时间只能播放一首背景音乐,但是能同时播放多个音效. 首先自定义一个枚举类ConfigData,用来存放背景音乐key和音效key. public class ConfigData { /** 背景音乐*/ public sta

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

TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有像素存在磁盘文件,需要被加载到内存. 图像加载与二进制文件相同.图像需要解码.输入生成器(tf.train.string_input_producer)找到所需文件,加载到队列.tf.WholeFileReader加载完整图像文件到内存,WholeFileReader.read读取图像,tf.ima

ArcGIS API for JavaScript3.x 学习笔记[3] 加载底图(一)【天地图(经纬度版)】

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>天地图底图加载(经纬度版本)</title> 6 <link rel="stylesheet" href="https://js.arcgis.com/3.21/esri/css/esri.css"> 7 <script

Flixel学习笔记002 加载地图(一)

这篇的参考官方代码示例Cameras,代码在https://github.com/phmongeau/SplitScreen/tree/master/src. 首先用Windows的画图画了几个格,大小是20*20的. 然后参照官方代码示例,写了一段代码: 1 package org 2 { 3 import org.flixel.FlxState; 4 import org.flixel.FlxTilemap; 5 6 /** 7 * ... 8 * @author QuanJP [email

OPENCV学习笔记2_Mat 加载, 显示

1.1 Introduction to related functions    1.Imread() function Mat imread( const String& filename, int flags = IMREAD_COLOR ); filename:Name of file to be loaded flags:载入标识,指定一个加载图像的颜色类型(参考enum ImreadModes).自带缺省值1,如果在调用时忽略这个参数,就表示载入三通道的彩色图像. enum Imrea

ArcGIS API for JavaScript3.x 学习笔记[5] 加载底图(四)【高德在线地图】

/** * Created by WanderGIS on 2015/7/15. */ define(["dojo/_base/declare", "esri/geometry/Extent", "esri/SpatialReference", "esri/geometry/Point", "esri/layers/TileInfo", "esri/layers/TiledMapServiceLa

Hibernate学习笔记-懒加载Lazy-true

1. 懒加载概述以及使用情景 描述:懒加载(lazy),简单说就是延时.延迟加载. 情景:在Hibernate框架应用中,就是当我们要访问的数据量过大时,使用缓存并不太合适,因为内存容量有限 ,为了减少系统资源的消耗,减少并发量,这时需要用懒加载机制来弥补这种缺陷,但是这并不意味用了懒加载总体性能就提高了. 应用: 比如学校school和学生student,学校与学生1对多,如果lazy设置为 false,那么只要加载了一个学校的信息,就会根据一对多配置的关系把所有学生的信息也加载出来.但是实际

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

好久没写Blogs了,现在在看[WPF编程宝典],决定开始重新写博客,和大家一起分享技术. 在编程时我们常希望界面是动态的,可以随时变换而不需要重新编译自己的代码. 以下是动态加载XAML的一个事例代码. 在debug文件夹下新建一个文本文件,重命名为:file.xaml 插入界面代码: <DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <Button Name=

ArcGIS API for JavaScript3.x 学习笔记[4] 加载底图(三)【Open Street Map开放街道地图】

Open Street Map OpenStreetMap(简称OSM,中文是开放街道地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图. OSM是一款由网络大众共同打造的免费开源.可编辑的地图服务.OpenStreetMap它是利用公众集体的力量和无偿的贡献来改善地图相关的地理数据.OSM是非营利性的,它将数据回馈给社区重新用于其它的产品与服务.而其他地图则是将大多数的地图数据出售给第三方. OSM的地图由用户根据手提GPS装置.航空摄影照片.其他自由内容甚至单靠地