private void SyncLight() { var v = Renderer.Light; _lightθ = v.Y.Acos(); _lightφ = v.X == 0f && v.Z == 0f ? 0f : MathF.AngleFromXY(v.X, v.Z); OnPropertyChanged(nameof(LightθDeg)); OnPropertyChanged(nameof(LightφDeg)); }
protected override void LookAtOverride(Vector3 pos, Vector3 target, Vector3 up) { Target = target; Position = pos; var delta = target - pos; Radius = delta.Length(); Look = Vector3.Normalize(delta); Alpha = MathF.AngleFromXY(-Look.X, -Look.Z); Beta = (-Look.Y).Asin(); }