bbi.camera.camera¶
The camera module provides various cameras for viewing the 3D world. The
World has a default camera accessible via world.camera.
- class BaseCamera(transform: Transform, resolution: tuple[int, int], sensor_preset: CameraProfile)¶
Bases:
Node- property resolution: tuple[int, int]¶
The resolution of the capture output.
- property post_processing: SensorPostProcessing¶
The post processing settings for the camera.
- set_transform(transform: Transform) None¶
Set the transform of the instance. For efficiency, this method is preferred over setting individual transform components.
- Parameters:
transform (Transform) – The transform.
- set_resolution(resolution: tuple[int, int]) None¶
Sets the resolution of the capture output.
- Parameters:
resolution (tuple[int, int]) – The resolution of the capture output.
- set_preset(preset_id: str) None¶
Applies a preset to the camera.
- Parameters:
preset_id (str) – The ID of the preset to apply.
- apply_preset(preset_id: str) None¶
DEPRECATED: Use set_preset instead.
Apply a preset to the camera.
- Parameters:
preset_id (str) – The ID of the preset to apply.
- class BasePerspectiveCamera(transform: Transform, fov: float, resolution: tuple[int, int], sensor_preset: CameraProfile)¶
Bases:
BaseCamera- property fov: float¶
The field of view in degrees.
- set_fov(fov: float) None¶
Sets the field of view.
- Parameters:
fov (float) – The field of view in degrees.
- set_transform(transform: Transform) None¶
Set the transform of the instance. For efficiency, this method is preferred over setting individual transform components.
- Parameters:
transform (Transform) – The transform.
- set_image_stabilization(enabled: bool) None¶
Capture a still scene for each frame.
When the camera is attached to a moving object (for example, a boat with buoyancy damping), the motion is captured during render and may blur the final composited image. Enabling image stabilization holds the scene steady for the duration of each capture, producing a sharp render regardless of what the camera’s mount is doing.
Disable to preserve motion blur in your renders.
- Parameters:
enabled – If True, the scene is held steady during frame capture. Default False.
- class BaseOrthographicCamera(transform: Transform, ortho_width_m: float, resolution: tuple[int, int], sensor_preset: CameraProfile)¶
Bases:
BaseCamera- property ortho_width: float¶
The width of the orthographic camera in meters.
- set_ortho_width(ortho_width: float) None¶
Set the width of the orthographic camera in meters.
- pydantic model CameraUpdateParam¶
Bases:
AnimationFrame- Validators:
check_ocean_gradient_start_end_distances»all fieldscheck_only_either_absolute_or_relative»all fields
- field fov: float | None = None¶
- field preset_id: str | None = None¶
- field thermal_brightness: float | None = None¶
- field thermal_contrast: float | None = None¶
- field thermal_ocean_detail: float | None = None¶
- field thermal_ocean_gradient_end_distance: Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])] | None = None¶
- field thermal_ocean_gradient_end_factor: float | None = None¶
- field thermal_ocean_gradient_intensity: float | None = None¶
- field thermal_ocean_gradient_start_distance: Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])] | None = None¶
- field thermal_ocean_max_temperature: float | None = None¶
- field thermal_ocean_min_temperature: float | None = None¶
- field thermal_ocean_temperature: float | None = None¶
- field thermal_sky_cloud_opacity: Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0.0), Le(le=1.0)])] | None = None¶
- field thermal_sky_gradient_intensity: float | None = None¶
- field thermal_sky_temperature: float | None = None¶
- field thermal_sky_transition_point: float | None = None¶
- field thermal_sky_transition_world_space: bool | None = None¶
- validator check_ocean_gradient_start_end_distances » all fields¶
- validator check_only_either_absolute_or_relative » all fields¶
- class Camera(transform: Transform, fov: float, resolution: tuple[int, int], sensor_preset: CameraProfile)¶
Bases:
BasePerspectiveCamera,Animatable[CameraUpdateParam]A Camera that is used to view the 3D world.
- Parameters:
transform (Transform) – The transform of the camera.
fov (float) – The field of view in degrees.
resolution (tuple[int, int]) – The resolution of the capture output.
- property preset_id: str¶
- attach_to(parent: Node, rule: TransformAttachmentRule = TransformAttachmentRule.KEEP_WORLD) None¶
Attach the asset to another node inheriting its transform operations.
- Parameters:
parent (Node) – The parent node to attach the asset to.
rule (TransformAttachmentRule, optional) – How to handle transforms and welding when attaching, defaults to TransformAttachmentRule.KEEP_WORLD.
- attach_to_root() None¶
Attach the asset to its root node .
- set_thermal_mode(enabled: bool) None¶
Enables or disables thermal mode for the camera.
- Parameters:
enabled (bool) – Whether to enable or disable thermal mode.
- execute(frame_id: int, frame_max: int, delta_seconds: float) None¶
Updates the Camera state to the specified frame.
- Parameters:
frame_id (int) – The frame ID.
frame_max (int) – Max frame count in the current loop.
delta_seconds (float) – The target real-time in seconds between frames. This is used to calculate physical displacement for certain assets.
- pydantic model SatelliteCameraUpdateParam¶
Bases:
AnimationFrame- field azimuth: float | None = None¶
- field ground_target: tuple[float, float] | None = None¶
- field gsd: float | None = None¶
- field look_angle: float | None = None¶
- field resolution: tuple[int, int] | None = None¶
- class SatelliteCamera(fov: float, resolution: tuple[int, int], sensor_preset: CameraProfile, gsd: float = _DEFAULT_GSD)¶
Bases:
BasePerspectiveCamera,Animatable[SatelliteCameraUpdateParam]A camera that is set up with functions to support a satellite-based workflow.
- Parameters:
fov (float) – The field of view in degrees.
resolution (tuple[int, int]) – The resolution of the capture output.
gsd (float) – The Ground Sample Distance (GSD) of the camera in meters per pixel.
- VERTICAL = -89.9¶
- HARD_MIN_LOOK_ANGLE = 0¶
- MIN_LOOK_ANGLE = 0.09999999999999432¶
- MAX_LOOK_ANGLE = 90¶
- animator: Animator[UpdateType]¶
- property gsd: float¶
The Ground Sample Distance (GSD) of the camera in meters per pixel.
- property ground_target: tuple[float, float]¶
The x and y position of the camera’s ground target.
- property look_angle: float¶
The look angle of the camera in degrees.
- property azimuth: float¶
The azimuth of the camera in degrees.
- set_resolution(resolution: tuple[int, int]) None¶
Sets the resolution of the capture output.
- Parameters:
resolution (tuple[int, int]) – The resolution of the capture output.
- set_gsd(value: float) None¶
Sets the Ground Sample Distance (GSD) of the camera in meters per pixel.
- Parameters:
value (float) – The GSD value.
- set_ground_target(xy: tuple[float, float]) None¶
Sets the x and y position of the camera’s ground target.
This is not necessarily the camera’s final x- and y-position. Instead, the camera will rotate about this ground target to point at it.
- Parameters:
xy (tuple[float, float]) – The x and y position.
- set_look_angle(value: float) None¶
Sets the look angle of the camera.
A look angle of zero is looking straight down, and a look angle of 90 is looking straight ahead.
- Parameters:
value (float) – The look angle in degrees.
- set_azimuth(value: float) None¶
Sets the azimuth that the camera is pointing at.
- Parameters:
value (float) – The azimuth in degrees.
- set_off_nadir_skew(x_skew: float, y_skew: float)¶
Set camera off-nadir skew in x and y directions.
- Parameters:
x_skew (float) – The off-nadir skew in the x direction normalized to individual Asset radius.
y_skew (float) – The off-nadir skew in the y direction normalized to individual Asset radius.
- execute(frame_id: int, frame_max: int, delta_seconds: float) None¶
Updates the SatelliteCamera state to the specified frame.
- Parameters:
frame_id (int) – The frame ID.
frame_max (int) – Max frame count in the current loop.
delta_seconds (float) – The target real-time in seconds between frames. This is used to calculate physical displacement for certain assets.