[Away 3D] Away3D4.0入门教程--基础技巧

http://bbs.9ria.com/forum.php?mod=viewthread&tid=132244

好吧,我知道有很多人不会有兴趣一点点把教程全看完,所以,我先在这帖子里集中发布一些基础的,但大家又非常关心的问题,

至于具体细节怎么实现,我会在以后的教程中慢慢完善,这里仅是为了提供给那些有一定动手能力的兄弟们自己先丰衣足食....

1.怎么为一个Mesh设置各个不同部位的皮肤?
调用Mesh的subMeshes,但前提是你的Mesh里有SubMesh...
mesh.subMeshes[index].material = new TextureMaterial(new BitmapTexture(bitmapData));

2.怎么才知道Mesh中是否有SubMesh?
trace(mesh.subMeshes.length);
结果非0则说明有SubMesh

3.3DS文件无法成功加载怎么办?
1.先用3dsMAX之类的软件打开你的3DS文件,删掉camera,保存,
2.清除项目编辑器缓存(如Flash Builder的缓存),再次加载并测试

4.3D对象上的Mouse事件为什么无效?
需先允许Mouse事件,然后侦听MouseEvent3D
mesh.mouseEnabled = true;
mesh.addEventListener(MouseEvent3D.CLICK, mesh_clickHandler);

3.跟随人物的血条与名字怎么做?
可使用Sprite3D类,当然,你也可以参照它自己实现一个类来解决

4.怎么才能让一个模型看上去像玻璃或是水晶?
将Material设置为半透明,然后调用addMethod方法添加EnvMapMethod

5.有没有简单的办法可以画路径动画的路线?
可以使用旧版的preFab(最新支持away3d4的preFab3D目前还没有此功能),先将就用吧

6.怎样才能让贴图的某部分变透明?
使用png图片,然后...
textureMaterial.alphaBlending = true;
textureMaterial.blendMode = BlendMode.LAYER;  

7.有没有办法显示MovieClip?
目前官方暂时没有提供现成的办法,但....
可以继承BitmapTexture,自己实现一个
在继承的类中添加一个Sprite,并不需要添加到stage上
然后侦听它的Event.ENTER_FRAME事件
在每次事件触发时,draw一个新的BitmapData出来

8.怎么为一个Cube每个面贴上不同的贴图?
1.自己用6个PlaneGeometry+6个Mesh来实现一个新的Cube类,以达到每个面不同的贴图
2.用SkyBox实现
(推荐使用第一种方法,灵活度更高)

9.怎样才能让模型变的更平滑?
Weld.apply(mesh);

10.怎样计算2点之间的距离?
var v1:Vector3D = new Vector3D(0,100,0)
var v2:Vector3D = new Vector3D(100,0,0);
trace(v1.subtract(v2).length);


------------------------------------------------
导读:

Away3D4.0入门教程--基础技巧
解答一些Away3D编程时常会遇见的疑问

Away3D4.0入门教程(1)--这个世界的基础
用尽量简单的方法讲解一些3D与Away3D方面的词汇含义

Away3D4.0入门教程(2)--那些贴图的Method
讲解一些常用的为贴图附加效果的Method类

Away3D4.0入门--高清汽车(1)
入门版本,适合刚Away3D的新手使用

Away3D4.0入门--高清汽车(2)
进阶版本,包括物理引擎与粒子效果的应用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值