Away3D Lite:Others
2010年01月05日
转自http://sjkgxf7191.javaeye.com/blog/524754
[/b]
[b]使用TargetCamera:
Java代码
// 将camera锁定住对象mesh targetCamera = new TargetCamera3D(10, 100, mesh); targetCamera.z = -1000; // 给view赋值:新的camera view.camera = targetCamera; // 将camera锁定住对象meshtargetCamera = new TargetCamera3D(10, 100, mesh);targetCamera.z = -1000;// 给view赋值:新的cameraview.camera = targetCamera;
锁定摄像机视角:
Java代码
override protected function onPreRender():void { sphere1.x = 200*Math.sin(step); step += 0.1; target = isLookAt? sphere0 : sphere1; // flash.display.DisplayObject.tranform.matrix3D.position // 一个保存显示对象在转换参照帧中的 3D 坐标 (x,y,z) 位置的 Vector3D 对象。 camera.lookAt(target.transform.matrix3D.position); } override protected function onPreRender():void{ sphere1.x = 200*Math.sin(step); step += 0.1; target = isLookAt? sphere0 : sphere1; // flash.display.DisplayObject.tranform.matrix3D.position // 一个保存显示对象在转换参照帧中的 3D 坐标 (x,y,z) 位置的 Vector3D 对象。 camera.lookAt(target.transform.matrix3D.position);}
遍历场景中的所有object:
Java代码
protected override function onPreRender():void { // 继承关系 Sphere -> AbstractPrimitive -> Mesh -> Object3D -> flash.display.Sprite for each (var mesh:Mesh in scene.children) { mesh.rotationX++; mesh.rotationY++; mesh.rotationZ++; } } protected override function onPreRender():void{ // 继承关系 Sphere -> AbstractPrimitive -> Mesh -> Object3D -> flash.display.Sprite for each (var mesh:Mesh in scene.children) { mesh.rotationX++; mesh.rotationY++; mesh.rotationZ++; }}
设置3D剪裁窗口大小:
Java代码
// 如果你在代码里设置view.width与view.height不会报错,但不会起作用 private var clipping:RectangleClipping; clipping = new RectangleClipping(); clipping.minX = -400; clipping.minY = -300; clipping.maxX = 400; clipping.maxY = 300; private var view:View3D; view = new View3D(); view.clipping = clipping; // 如果你在代码里设置view.width与view.height不会报错,但不会起作用private var clipping:RectangleClipping;clipping = new RectangleClipping();clipping.minX = -400;clipping.minY = -300;clipping.maxX = 400;clipping.maxY = 300;private var view:View3D;view = new View3D();view.clipping = clipping;
设置layer:(同PV3D中的viewportLayer)
Java代码
// Plane plane = new Plane(new BitmapFileMaterial("assets/earth.jpg"), 256, 128); plane.bothsides = true; plane.rotationX = 45; plane.y = i*50 - 4*50/2; scene.addChild(plane); // Layer var layer:Sprite = new Sprite(); view.addChild(layer); // Object3D.layer:An optional layer sprite used to draw into inseatd of the default view. plane.layer = layer; // Event plane.layer.addEventListener(MouseEvent.CLICK, onClick); private function onClick(event:MouseEvent):void { var layer:Sprite = event.target as Sprite; // 给layer添加滤镜 if(layer.filters.length==0) layer.filters = [new GlowFilter(0xFF0000, 1, 4, 4, 16, 1)]; else layer.filters = null; } // Planeplane = new Plane(new BitmapFileMaterial("assets/earth.jpg"), 256, 128);plane.bothsides = true;plane.rotationX = 45;plane.y = i*50 - 4*50/2;scene.addChild(plane);// Layervar layer:Sprite = new Sprite();view.addChild(layer);// Object3D.layer:An optional layer sprite used to draw into inseatd of the default view.plane.layer = layer;// Eventplane.layer.addEventListener(MouseEvent.CLICK, onClick);private function onClick(event:MouseEvent):void{ var layer:Sprite = event.target as Sprite; // 给layer添加滤镜 if(layer.filters.length==0) layer.filters = [new GlowFilter(0xFF0000, 1, 4, 4, 16, 1)]; else layer.filters = null;}
Cast类使用:
Java代码
// Cast:Helper class for casting assets to usable objects // Casts the given data value as a bitmapdata object. // 将一个图片class转化成一个bitmapdata shadeMaterial = new BitmapMaterial(Cast.bitmap(Shade)); // Casts the given data value as a material object. // 将一个图片class转化成一个material对象 materialArray = [Cast.material(GreenPaint), Cast.material(RedPaint)]; // Cast:Helper class for casting assets to usable objects // Casts the given data value as a bitmapdata object.// 将一个图片class转化成一个bitmapdatashadeMaterial = new BitmapMaterial(Cast.bitmap(Shade));// Casts the given data value as a material object.// 将一个图片class转化成一个material对象materialArray = [Cast.material(GreenPaint), Cast.material(RedPaint)];
创建DAE模型的两种方法:
Java代码
// 方法一 private var collada:Collada; private var loader:Loader3D; private var model:Object3D; collada = new Collada(); collada.scaling = 600; collada.centerMeshes = true; loader = new Loader3D(); loader.loadGeometry("assets/chameleon.dae", collada); loader.addEventListener(Loader3DEvent.LOAD_SUCCESS, onSuccess); scene.addChild(loader); private function onSuccess(event:Loader3DEvent):void { model = loader.handle; } // 方法二 [Embed(source="assets/mario_testrun.dae",mimeType="application/octet-stream")] private var Charmesh:Class; private var collada:Collada; private var model1:ObjectContainer3D; collada = new Collada(); collada.scaling = 10; // parseGeometry:Parses 3d file data. model1 = collada.parseGeometry(Charmesh) as ObjectContainer3D; model1.materialLibrary.getMaterial("FF_FF_FF_mario1").material = material; scene.addChild(model1); // 方法一private var collada:Collada;private var loader:Loader3D;private var model:Object3D;collada = new Collada();collada.scaling = 600;collada.centerMeshes = true;loader = new Loader3D();loader.loadGeometry("assets/chameleon.dae", collada);loader.addEventListener(Loader3DEvent.LOAD_SUCCESS, onSuccess);scene.addChild(loader);private function onSuccess(event:Loader3DEvent):void{ model = loader.handle;}// 方法二[Embed(source="assets/mario_testrun.dae",mimeType="application/octet-stream")]private var Charmesh:Class;private var collada:Collada;private var model1:ObjectContainer3D;collada = new Collada();collada.scaling = 10;// parseGeometry:Parses 3d file data.model1 = collada.parseGeometry(Charmesh) as ObjectContainer3D;model1.materialLibrary.getMaterial("FF_FF_FF_mario1").material = material;scene.addChild(model1);
DAE模型动画设置:
Java代码
// 定义骨骼动画 private var skinAnimation:BonesAnimator; // BonesAnimator 骨骼动画:hold the animation information for a bones animation imported from a collada object skinAnimation = model1.animationLibrary.getAnimation("default").animation as BonesAnimator; // 动起来。。。 private function onEnterFrame(event:Event):void { // Updates all channels in the animation with the given time in seconds. skinAnimation.update(getTimer()*2/1000); } // 定义骨骼动画private var skinAnimation:BonesAnimator;// BonesAnimator 骨骼动画:hold the animation information for a bones animation imported from a collada object skinAnimation = model1.animationLibrary.getAnimation("default").animation as BonesAnimator;// 动起来。。。private function onEnterFrame(event:Event):void{ // Updates all channels in the animation with the given time in seconds. skinAnimation.update(getTimer()*2/1000);}
获取鼠标在3D场景中的坐标:
Java代码
// scenePosition:The xyz coordinate at which the event occurred in global scene coordinates. private function onMouseMove(e:MouseEvent3D):void { position.x = e.scenePosition.x; position.z = e.scenePosition.z; }
发表评论
-
编译 boost
2012-01-20 00:30 523编译 boost 2011年05月17日 ... -
[转]如何把一个Windows Phone 7 Twitter应用转换成新浪微博客户端
2012-01-20 00:30 345[转]如何把一个Windows Phone 7 Twitter ... -
《Windows核心编程》第一章 读书笔记
2012-01-20 00:29 582《Windows核心编程》第一章 读书笔记 2010年06月 ... -
在windows xp下编译WebKit
2012-01-20 00:29 729在windows xp下编译WebKit 2010年10月2 ... -
Symbian OS S60三种开发环境的搭建,基于C++
2012-01-20 00:29 610Symbian OS S60三种开发环境的搭建,基于C++ ... -
计算机4级5.31---6。30
2012-01-19 01:27 524计算机4级5.31---6。30 2010年06月14日 ... -
多线程和多进程的区别
2012-01-19 01:27 708多线程和多进程的区别 2010年07月20日 很想写点关 ... -
多线程和多进程的区别(小结
2012-01-19 01:27 758多线程和多进程的区别(小结 2011年09月18日 多线 ... -
7月16号 键盘按键失灵? 蓝屏的终极处理?
2012-01-19 01:27 8367月16号 键盘按键失灵? 蓝屏的终极处理? 2011年07 ... -
如何培养一年级学生良好的学习习惯
2012-01-19 01:27 645如何培养一年级学生良好的学习习惯 2011年06月28日 ... -
毕生精力总结的电脑技巧。。
2012-01-17 00:43 389毕生精力总结的电脑技巧。。 2011年10月03日 声 ... -
Android基础知识~入门进阶,一步步走到高手
2012-01-17 00:43 595Android基础知识~入门进 ... -
android linux 基础知识总结(789)
2012-01-17 00:43 405android linux 基础知识总结(789) 2011 ... -
Java Me--丰富多彩的领域中生机勃勃的技术
2012-01-17 00:43 616Java Me--丰富多彩的领域 ... -
一步步安装原版雪豹10.6.3-10.6.6
2012-01-17 00:43 1956一步步安装原版雪豹10.6 ... -
系统调用、POSIX、C库、系统命令和内核函数
2012-01-15 19:32 732系统调用、POSIX、C库、 ... -
pv3d 2.0版本的一篇英文教程翻译 5 基础纹理
2012-01-15 19:32 780pv3d 2.0版本的一篇英文 ... -
papervision3D介绍及入门
2012-01-15 19:32 481papervision3D介绍及入门 2009年11月27日 ... -
Away3D Lite:ExMD2Cubic
2012-01-15 19:32 659Away3D Lite:ExMD2Cubic 2010年01 ...
相关推荐
Away3D中文学习资料集锦打包下载 Away3D中文学习资料集锦打包下载 Away3D中文学习资料集锦打包下载 官方翻译, 有基础知识,学习笔记,实例说明 内容有 Away3D 4.0.7。chm 1 -对一个简单类的解释 2 - 视口与场景 3 ...
Away3D 4.1官方开发包,flash 3D开发利器
flash 3D引擎 away3d源码 flash 3D引擎 away3d源码 flash 3D引擎 away3d源码 flash 3D引擎 away3d源码 flash 3D引擎 away3d源码 flash 3D引擎 away3d源码
As3.0+Away3d+as3dmod超炫3D相册 立体感超强3D环形相册 效果:http://blog.csdn.net/he_wen_jian/article/details/21695711
最新away3D 引擎包最新away3D 引擎包最新away3D 引擎包最新away3D 引擎包最新away3D 引擎包最新away3D 引擎包最新away3D 引擎包
Away3D 4.0.7.chm flash3D技术开发手册
完整的代码,可编译运行通过。运用的是Away3D 4.06版本引擎,源码里面有away3d.swc了,引用就可以编译。
Away3D是flash或flex上的一个功能强大且实时的3D引擎,具有快速、高效、API清楚等优点。但是三角型消失的问题让人头疼。away3d世界由:view 视口、scene 场景、camera 摄像机和3D物体四部分组成,也称Away3D的四大...
#将Away3D用于OpenFL的示例 ## Introduction Away3D for Flash是Flash Away3D引擎的端口,可为OSX,Windows,iOS,Android和其他...lime create away3d:Basic_View /destinationFolder // To install the example to
Away3D 基础教程 Flash 3d 开发必备
Away3D中文api
Away3D是Flash的3D引擎,这是Away3D 3.6 Cookbook 教程源码
自己制作的away3d3.6的swc文件方便大家下载使用。away3d的官网上面没有swc文件提供下载
《Away3D傻瓜系列教程3 — 灯光和投影》示例代码,教程地址:http://www.chenlinsheng.com/?p=2109
away3d4.1 开源代码 很方便的啦啦啦
away3D引擎物体鼠标拖动类,拖动3D物体
Flash/Flex上强大的3D引擎Away3D的帮助文档 版本3.6.0 英文版
Away3D的APIAway3D的APIAway3D的API
away3d4.1 chm文档资料由梦天整理
away3d