Class ArcballCamera
- Namespace
- OmegaEngine.Graphics.Cameras
- Assembly
- OmegaEngine.dll
A camera that orbits around a target point. Adjustable yaw, pitch, and roll. Panning the target respects the current yaw and roll.
Useful for building model viewers, character inspection screens, or turntable presentations.
public sealed class ArcballCamera : ZoomCamera, IInputReceiver, IPositionable
- Inheritance
-
objectArcballCamera
- Implements
- Inherited Members
Properties
Pitch
The vertical rotation upwards of the camera around the target in degrees.
public double Pitch { get; set; }
Property Value
Roll
The counter-clockwise roll along the view direction in degrees.
public double Roll { get; set; }
Property Value
TranslationSensitivity
Controls how translation input for Navigate(DoubleVector3, DoubleVector3) is scaled compared to rotation input.
[FloatRange(0, 0.01)]
public double TranslationSensitivity { get; set; }
Property Value
WorldUp
A unit vector describing the direction considered up in the world.
public DoubleVector3 WorldUp { get; set; }
Property Value
Yaw
The clockwise horizontal rotation of the camera around the target in degrees.
public double Yaw { get; set; }
Property Value
Methods
Navigate(DoubleVector3, DoubleVector3)
Called when the user changes the view perspective.
public override void Navigate(DoubleVector3 translation = default, DoubleVector3 rotation = default)
Parameters
translationDoubleVector3Movement in screen units. X = pan right, Y = pan up, Z = move forward
rotationDoubleVector3Rotation in degrees. X = yaw right, Y = pitch up, Z = roll clockwise
UpdateView()
Update cached versions of View and related matrices; abstract, to be overwritten in subclass.
protected override void UpdateView()