public void CalculateFollowCameraOffset(AegirLib.Behaviour.World.Transform followTransform) { viewport.Dispatcher.Invoke(() => { this.followTransform = followTransform; AegirLib.MathType.Vector3 fp = followTransform.LocalPosition; CameraPositionOffset = new Vector3D(fp.X, fp.Y, fp.Z) - (Vector3D)viewport.CameraController.CameraPosition; }); }
private void DoCameraFollow() { AegirLib.MathType.Vector3 fp = followTransform.LocalPosition; viewport.Dispatcher.Invoke(() => { viewport.CameraController.CameraPosition = CameraPositionOffset + new Point3D(fp.X, fp.Y, fp.Z); viewport.CameraController.CameraTarget = new Point3D(fp.X, fp.Y, fp.Z); }); }
public static AegirLib.MathType.Vector3 ToLibVector(this Point3D position) { AegirLib.MathType.Vector3 v = new AegirLib.MathType.Vector3( (float)position.X, (float)position.Y, (float)position.Z); return(v); }