lensDefinitionData
TypeScriptget lensDefinitionData(): (ImmersiveCameraLensDefinition) | nullSwift declarationvar lensDefinitionData: ImmersiveCameraLensDefinition?Inline lens definition (ILPD) data to override lens calibration
struct · iOS 27.0+ · SDK 27.1
struct OverridesOverride camera/venue params - Note: The renderer only honors these overrides on visionOS 27, macOS 27, or later. Earlier runtimes ignore them during playback.
get lensDefinitionData(): (ImmersiveCameraLensDefinition) | nullSwift declarationvar lensDefinitionData: ImmersiveCameraLensDefinition?Inline lens definition (ILPD) data to override lens calibration
set lensDefinitionData(value: (ImmersiveCameraLensDefinition) | null)Swift declarationvar lensDefinitionData: ImmersiveCameraLensDefinition?Inline lens definition (ILPD) data to override lens calibration
get maskData(): (ImmersiveDynamicMask) | nullSwift declarationvar maskData: ImmersiveDynamicMask?Dynamic mask data to override camera mask
set maskData(value: (ImmersiveDynamicMask) | null)Swift declarationvar maskData: ImmersiveDynamicMask?Dynamic mask data to override camera mask
static init(rotation?: (_Spatial_Rotation3DFloat) | null, lensDefinitionData?: (ImmersiveCameraLensDefinition) | null, maskData?: (ImmersiveDynamicMask) | null): SetCameraCommand_OverridesSwift declarationinit(rotation: Rotation3DFloat? = nil, lensDefinitionData: ImmersiveCameraLensDefinition? = nil, maskData: ImmersiveDynamicMask? = nil)get rotation(): (_Spatial_Rotation3DFloat) | nullSwift declarationvar rotation: Rotation3DFloat? { get set }Camera rotation to override the rotation in ``ImmersiveCamera/pose``. The rotation decomposes into three axis rotations, applied intrinsically in this order: 1. **Roll** — rotation around the camera's local z-axis (the optical axis; the camera looks toward −Z). 2. **Yaw** — rotation around the camera's (post-roll) local y-axis. 3. **Pitch** — rotation around the camera's (post-roll, post-yaw) local x-axis (the right / baseline axis). This matches Spatial's `EulerAngleOrder.xyz`, which composes intrinsically as roll, then yaw, then pitch (equivalently, extrinsically as pitch, then yaw, then roll). The composition order matters — the same angle values under a different order produce a different orientation. In particular, this does **not** match `RealityKit.Transform(pitch:yaw:roll:)`, which composes intrinsically as yaw, then pitch, then roll. ### Stereo fusion constraints The rotation is applied uniformly to both eyes as an image reorientation; it does not remap eye assignment, reproject parallax, or account for the stereo baseline encoded in the source video. For stereo content, only rotations that keep the stereo baseline horizontal in viewer space produce comfortable fusion: - **Roll** — rotates the baseline out of horizontal, creating vertical disparity between eyes. Small roll angles cause eye strain; larger angles (≥ a few degrees) prevent fusion entirely. - **Yaw** — may be safe in some circumstances but increasingly likely to cause anomalous parallax perception at larger angles. - **Pitch** — the baseline is the rotation axis and the invariant of the rotation depends on the projection. - Any mixed rotation that decomposes to a non-zero roll component exhibits the same failure proportional to the roll magnitude. For mono content there are no stereo constraints and the full rotation space is valid.
set rotation(value: (_Spatial_Rotation3DFloat) | null)Swift declarationvar rotation: Rotation3DFloat? { get set }Camera rotation to override the rotation in ``ImmersiveCamera/pose``. The rotation decomposes into three axis rotations, applied intrinsically in this order: 1. **Roll** — rotation around the camera's local z-axis (the optical axis; the camera looks toward −Z). 2. **Yaw** — rotation around the camera's (post-roll) local y-axis. 3. **Pitch** — rotation around the camera's (post-roll, post-yaw) local x-axis (the right / baseline axis). This matches Spatial's `EulerAngleOrder.xyz`, which composes intrinsically as roll, then yaw, then pitch (equivalently, extrinsically as pitch, then yaw, then roll). The composition order matters — the same angle values under a different order produce a different orientation. In particular, this does **not** match `RealityKit.Transform(pitch:yaw:roll:)`, which composes intrinsically as yaw, then pitch, then roll. ### Stereo fusion constraints The rotation is applied uniformly to both eyes as an image reorientation; it does not remap eye assignment, reproject parallax, or account for the stereo baseline encoded in the source video. For stereo content, only rotations that keep the stereo baseline horizontal in viewer space produce comfortable fusion: - **Roll** — rotates the baseline out of horizontal, creating vertical disparity between eyes. Small roll angles cause eye strain; larger angles (≥ a few degrees) prevent fusion entirely. - **Yaw** — may be safe in some circumstances but increasingly likely to cause anomalous parallax perception at larger angles. - **Pitch** — the baseline is the rotation axis and the invariant of the rotation depends on the projection. - Any mixed rotation that decomposes to a non-zero roll component exhibits the same failure proportional to the roll magnitude. For mono content there are no stereo constraints and the full rotation space is valid.
No declarations were skipped in this snapshot.