Schemas / Spatial / scene

rig.spatial.camera

v1.0.0 · stable maturity: stable 12 fields 0 required

Fields

FieldTypeMeaning
active bool optional Optional. Used for present (typically one); absent = true
projection enumperspective · orthographic optional Optional. perspective, orthographic; absent = perspective
fovYDegrees float optional Optional. Perspective FOV (degrees); absent = 60. Ignored if orthographic, and ignored when the four off-axis angles below are all set
leftDegrees float optional Optional. Signed degrees from −Z to the left clip plane. Negative when that plane sits left of the axis
rightDegrees float optional Optional. Signed degrees to the right clip plane. Positive when that plane sits right of the axis
upDegrees float optional Optional. Signed degrees to the top clip plane. Positive when that plane sits above the axis
downDegrees float optional Optional. Signed degrees to the bottom clip plane. Negative when that plane sits below the axis
orthoHeight float optional Ortho frustum height; required when orthographic
nearClip float optional Optional. Near plane; absent = 0.1
farClip float optional Optional. Far plane; absent = 1000
aspect float optional Optional. Absent or 0 = use viewport aspect at present
fixedAspect bool optional Optional. Keep aspect when the viewport changes; absent = false

Projection parameters (pose lives on transform). Format when present.

Looks along local −Z. 3D is right-handed, +Y up - Axes.

When any of leftDegrees, rightDegrees, upDegrees, downDegrees is present, all four are present. Together they replace fovYDegrees and aspect (an off-axis or stereo frustum). They are ignored when projection is orthographic. A stereo eye composes this camera on rig.vr.eye.

No camera object / GPU handle.

JSON Schema

Resolves at https://rig.works/schemas/rig.spatial.camera.schema.json — raw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.spatial.camera.schema.json",
  "title": "rig.spatial.camera",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "active": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    },
    "projection": {
      "type": "string",
      "enum": [
        "perspective",
        "orthographic"
      ]
    },
    "fovYDegrees": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "leftDegrees": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "rightDegrees": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "upDegrees": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "downDegrees": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "orthoHeight": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "nearClip": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "farClip": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "aspect": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "fixedAspect": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    }
  },
  "x-rig-maturity": "stable"
}

Seen in

bim-bcf.json · robot-lab.json · robot-lesson.json · vr-room.json