zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    TSQL语句
    约束
    数据库创建
    递归
    函数
    结构体
    集合
    jquery中的select
    正则表达式
    多表单提交
  • 原文地址:https://www.cnblogs.com/njflash/p/2886918.html
Copyright © 2011-2022 走看看