如Quaternion.LookRotation、Quaternion.MoveTowards这俩最常用的方法,Quat里没有~ 然而我绞尽脑汁并会不算
/**
* 非线程安全
*/
public static lookRotation(dir:Vec3) : Quat
{
GameUtil.QUAT.x = GameUtil.QUAT.y = GameUtil.QUAT.z = GameUtil.QUAT.w = 0;
Quat.rotationTo(GameUtil.QUAT, GameUtil.VEC001, dir);
return GameUtil.QUAT;
}
/**
* 线程安全
*/
private static QUAT = new Quat(0,0,0,0);
private static VEC001 = new Vec3(0, 0, 1);
public static lookRotation2(dir:Vec3) : Quat
{
let q = new Quat(0,0,0,0);
q.x = q.y = q.z = q.w = 0;
Quat.rotationTo(q, GameUtil.VEC001, dir);
return q;
}