Cameras are perspectives through which the Scene may be viewed.

Projection can be perspective or orthographic. Cameras are contained in nodes and thus can be transformed. The camera is defined such that the local +X axis is to the right, the lens looks towards the local -Z axis, and the top of the camera is aligned with the local +Y axis. If no transformation is specified, the location of the camera is at the origin.


const camera = doc.createCamera('myCamera')
    .setYFov(Math.PI / 4)





propertyType: CAMERA

Property type.

Type: Record<string, CameraType> = ...



  • dispatchEvent(event: BaseEvent): Camera
  • Events.

  • dispose(): void
  • Removes both inbound references to and outbound references from this object. At the end of the process the object holds no references, and nothing holds references to it. A disposed object is not reusable.

  • equals(other: Camera, skip?: Set<string>): boolean
  • Returns true if two properties are deeply equivalent, recursively comparing the attributes of the properties. Optionally, a 'skip' set may be included, specifying attributes whose values should not be considered in the comparison.

    Example: Two Primitives are equivalent if they have accessors and materials with equivalent content — but not necessarily the same specific accessors and materials.

  • getAspectRatio(): number
  • getDefaults(): Nullable<ICamera>
  • getExtension<Prop>(name: string): Prop
  • getExtras(): Record<string, unknown>
  • getName(): string
  • getXMag(): number
  • getYFov(): number
  • getYMag(): number
  • getZFar(): number
  • getZNear(): number
  • init(): void
  • isDisposed(): boolean
  • Returns true if the node has been permanently removed from the graph.

  • listExtensions(): ExtensionProperty<IProperty>[]
  • listParents(): Property<IProperty>[]
  • Returns a list of all properties that hold a reference to this property. For example, a material may hold references to various textures, but a texture does not hold references to the materials that use it.

    It is often necessary to filter the results for a particular type: some resources, like Accessors, may be referenced by different types of properties. Most properties include the Root as a parent, which is usually not of interest.


    const materials = texture
        .filter((p) => p instanceof Material)
  • setAspectRatio(aspectRatio: number): Camera
  • setExtension<Prop>(name: string, extensionProperty: Prop): Camera
  • setExtras(extras: Record<string, unknown>): Camera
  • setName(name: string): Camera
  • setXMag(xmag: number): Camera
  • setYFov(yfov: number): Camera
  • setYMag(ymag: number): Camera
  • setZFar(zfar: number): Camera
  • setZNear(znear: number): Camera
Function symbol, f(📦) → 📦, where the argument and output are a box labeled 'glTF'.

Made by Don McCurdy TypeDoc documentation Copyright 2021 under MIT license