2011年10月7日 星期五

away3d how to move 3D object along a path - part1

away3d how to move 3D object along a path
away3d 裡有支援 path animator,可以沿著路徑移動 3D 物件,
以往必需先自己建立路徑,再丟給 PathAnimator 處理

pseudocode:
var aPath:Array = [
new Vector3D(-1000, -1000, -2000),
new Vector3D(-1000, 0, 0),
new Vector3D(1000, 0, 0),
new Vector3D(1000, 1000, -2000),
];
var p:Path = new Path(aPath);
pa = new PathAnimator(path, arrow, o);

簡單的路徑可以自己建立,但是複雜的路徑
這樣搞大概永遠都下不了班,
為了讓大家能夠準時下班,這裡介紹一個好用的工具

preFab http://www.closier.nl/prefab/
1. Geometry -> Path -> Path Editor
2. 點出你要的路徑
3. smooth or average path
4. 微調
5. Export -> Export AS3 Class -> path for Away3D

pesudocode:
var r:Array = [new Vector3D(0, 0, 0), new Vector3D(0, 0, 0), new Vector3D(0, 0, 0) ];
var o:Object = { alignToPath:true,
          targetobject:null,
          rotations:r,
          fps:30,
          offset:new Vector3D(0,100,0)
          };
// PathAWpath_0 就是匯出的 class
pa = new PathAnimator(new PathAWpath_0(), arrow, o);

這邊要注意的是 fps 記得要指定,不然不會播,
rotations 可有可無,後面 render 時再用 rotationX/Y/Z 校正會比較好處理,
preFab 也有提供 Path Animator 工具預覽效果。
完整程式碼如下:

沒有留言:

張貼留言