Away3D基础技巧

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);

转载于:https://www.cnblogs.com/njflash/archive/2013/01/31/2886918.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值