tall-teacher-57409
05/11/2023, 9:22 AMhx
public static function lookAt(target:Vector3, position:Vector3, up:Vector3):Matrix4 {
var forward:Vector3 = target.subtract(position).normalize();
var right:Vector3 = up.cross(forward).normalize();
var newUp:Vector3 = forward.cross(right).normalize();
var lookAt:Matrix4 = new Matrix4();
lookAt.set(right.x, newUp.x, -forward.x, 0,
right.y, newUp.y, -forward.y, 0,
right.z, newUp.z, -forward.z, 0,
-right.dot(position), -newUp.dot(position), forward.dot(position), 1);
return lookAt;
}
does that look right?