• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
元某人的代码农场
博客园    首页    新随笔    联系   管理    订阅  订阅

Away3D学习笔记-物体位置和移动

为了看清楚Away3D里物体的位置关系,首先来创建坐标系和三个平面。坐标系在Away3D里已经封装为Trident类,直接调用即可:

var tri:Trident = new Trident(400, true);
scene.addChild(tri);
创建参数第一个是坐标轴长度,第二个是要不要坐标轴字母。

再来三个坐标平面,这里使用GridPlane类效果比较好。

var p1:GridPlane = new GridPlane();
p1.width = 800;
p1.height = 800;
p1.segmentsH = 2;
p1.segmentsW = 2;
p1.material = new WireframeMaterial(0xff0000);
scene.addChild(p1);
通过旋转创建其他两个平面。

Away3D创建的几何体中心点都在其几何中心,如何要改变这个点,就需要使用movePivot方法,movePivot方法需要坐标参数,这个坐标是相对于几何体中心点的,也就是局部坐标。将一个100*100*100的立方体放到第一象限,则可以写:

cube.movePivot( -50, -50, -50);
随后物体的转轴也变到了中心点对应的三条坐标轴。

在实际应用中,控制物体位置常用moveForward,moveBackward等一系列函数,他们对应的移动方向分别是:

moveForward:向Z轴正向

moveBackward:向Z轴负向

moveLeft:向X轴负向

moveRight:向X轴正向

moveUp:向Y轴正向

moveDown:向Y轴负向

对应三个旋转函数:

pitch:绕X轴顺时针转

yaw:绕Y轴顺时针转

roll:绕Z轴顺时针转

这里说的顺时针,都是指从指定坐标轴的方向看过去的。由于上面9个函数也可以带负参数,所以其实只有6个函数,分别控制物体的6个自由度。

使用这些函数的好处就是,他们会随着物体位置自适应新的局部坐标系。

posted @ 2010-12-04 17:58  元某人  阅读(1021)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3