https://linen.dev logo
```hx public static function lookAt(target:Vector3...
# lime
t
Copy code
hx
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?