Interface ArcRotateCamera
alpha: number;
angularSensibility: number;
beta: number;
children: SceneNode[];
farPlane: number;
fov: number;
inertia: number;
inertialAlphaOffset: number;
inertialBetaOffset: number;
inertialPanningX: number;
inertialPanningY: number;
inertialRadiusOffset: number;
lowerAlphaLimit?: number;
lowerBetaLimit?: number;
lowerRadiusLimit?: number;
name?: string;
nearPlane: number;
ortho?: OrthographicBounds | null;
panningInertia: number;
panningSensibility: number;
parent: IWorldMatrixProvider | null;
radius: number;
target: Vec3;
upperAlphaLimit?: number;
upperBetaLimit?: number;
upperRadiusLimit?: number;
viewport?: NormalizedViewport;
wheelPrecision: number;
worldMatrix: Mat4;
worldMatrixVersion: number;
}
Hierarchy (View Summary)
- Camera
- IWorldMatrixProvider
- IParentable
- ArcRotateCamera
Index
Properties
Properties
alpha
angular Sensibility
Mouse-drag orbit sensitivity (HIGHER = slower rotation). Babylon default 1000.
beta
children
far Plane
fov
inertia
Inertia coefficient for rotation and zoom (0 = instant stop, 0.9 = default, 1 = no decay).
inertial Alpha Offset
Per-frame inertial offsets — accumulated by input, applied & decayed each frame.
inertial Beta Offset
inertial Panning X
inertial Panning Y
inertial Radius Offset
Optionallower Alpha Limit
Optional orbit limits enforced by attachControl's per-frame loop.
undefined means unbounded on that side. Set these via setCameraLimits
so the current pose is clamped immediately (and inertia zeroed at the wall),
avoiding any overshoot-then-snap jiggle. Angles are in radians.
Optionallower Beta Limit
Optionallower Radius Limit
Optionalname
Optional source/debug name. Imported glTF cameras use the glTF camera name,
or camera{index} when the source definition is unnamed.
near Plane
Optionalortho
Live orthographic view-volume extents, installed by enableOrthographicCamera
and mutable/animatable thereafter. Null or undefined means the camera projects
perspectively through fov.
panning Inertia
Inertia coefficient for panning (0 = instant stop, 0.9 = default).
panning Sensibility
Right-drag panning sensitivity in pixels-per-unit (LOWER = faster pan). Babylon default 50.
parent
radius
target
Optionalupper Alpha Limit
Optionalupper Beta Limit
Optionalupper Radius Limit
Optionalviewport
wheel Precision
Wheel-zoom sensitivity (HIGHER = slower zoom). Babylon default 3.
Readonlyworld Matrix
World-space 4×4 column-major matrix. May trigger lazy recomputation.
Readonlyworld Matrix Version
Monotonically increasing counter — bumped each time worldMatrix recomputes.
Children snapshot this value to detect when their parent has changed.
Must never decrease: _cameraChangeKey sums it with the projection revision
and relies on that to detect every change without aliasing.
ArcRotateCamera — orbits around a target point. Uses Babylon.js convention: left-handed, alpha=rotation around Y, beta=elevation. Plain data + methods. Does NOT know about the scene.
Push-based dirty tracking: alpha/beta/radius use Object.defineProperty, target uses ObservableVec3. Changes call wm.markLocalDirty() immediately.
Inertia follows the Babylon.js model: input handlers accumulate per-frame offsets (inertialAlphaOffset, etc.) which are applied and exponentially decayed each frame by the controls module.