Options
All
  • Public
  • Public/Protected
  • All
Menu

A THREE.Mesh that fits the user's head and fills the depth buffer, ensuring that the camera image of the head shows instead of any 3D elements behind it in the scene.

Works using a full-head ZapparThree.FaceMesh with the mouth, eyes and neck filled in. Its renderOrder is set to Number.MIN_SAFE_INTEGER to ensure it's rendered before any other objects in the scene, and its material has the colorWrite property set to false so it fills the depth buffer but not the color buffer.

see

https://docs.zap.works/universal-ar/web-libraries/threejs/face-tracking/

Hierarchy

  • Mesh
    • HeadMaskMesh

Index

Constructors

constructor

  • new HeadMaskMesh(onLoad?: () => void, onError?: () => void): HeadMaskMesh
  • Constructs a new head mask mesh.

    Parameters

    • Optional onLoad: () => void

      Callback function which runs when the mesh is loaded.

        • (): void
        • Returns void

    • Optional onError: () => void

      Callback which is called if there's an error loading the mesh.

        • (): void
        • Returns void

    Returns HeadMaskMesh

Properties

animations

animations: AnimationClip[]

Array with animation clips.

default

[]

castShadow

castShadow: boolean

Gets rendered into shadow map.

default

false

children

children: Object3D<Event>[]

Array with object's children.

default

[]

customDepthMaterial

customDepthMaterial: Material

Custom depth material to be used when rendering to the depth map. Can only be used in context of meshes. When shadow-casting with a DirectionalLight or SpotLight, if you are (a) modifying vertex positions in the vertex shader, (b) using a displacement map, (c) using an alpha map with alphaTest, or (d) using a transparent texture with alphaTest, you must specify a customDepthMaterial for proper shadows.

customDistanceMaterial

customDistanceMaterial: Material

Same as customDepthMaterial, but used with PointLight.

frustumCulled

frustumCulled: boolean

When this is set, it checks every frame if the object is in the frustum of the camera before rendering the object. If set to false the object gets rendered every frame even if it is not in the frustum of the camera.

default

true

geometry

geometry: BufferGeometry

id

id: number

Unique number of this object instance.

Readonly isMesh

isMesh: true

Readonly isObject3D

isObject3D: true

Used to check whether this or derived classes are Object3Ds. Default is true. You should not change this, as it is used internally for optimisation.

layers

layers: Layers
default

new THREE.Layers()

material

material: Material | Material[]

matrix

matrix: Matrix4

Local transform.

default

new THREE.Matrix4()

matrixAutoUpdate

matrixAutoUpdate: boolean

When this is set, it calculates the matrix of position, (rotation or quaternion) and scale every frame and also recalculates the matrixWorld property.

default

THREE.Object3D.DefaultMatrixAutoUpdate

matrixWorld

matrixWorld: Matrix4

The global transform of the object. If the Object3d has no parent, then it's identical to the local transform.

default

new THREE.Matrix4()

matrixWorldNeedsUpdate

matrixWorldNeedsUpdate: boolean

When this is set, it calculates the matrixWorld in that frame and resets this property to false.

default

false

Readonly modelViewMatrix

modelViewMatrix: Matrix4
default

new THREE.Matrix4()

Optional morphTargetDictionary

morphTargetDictionary: {}

Type declaration

  • [key: string]: number

Optional morphTargetInfluences

morphTargetInfluences: number[]

name

name: string

Optional name of the object (doesn't need to be unique).

default

''

Readonly normalMatrix

normalMatrix: Matrix3
default

new THREE.Matrix3()

onAfterRender

onAfterRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, material: Material, group: Group) => void

Calls after rendering object

Type declaration

    • (renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, material: Material, group: Group): void
    • Parameters

      • renderer: WebGLRenderer
      • scene: Scene
      • camera: Camera
      • geometry: BufferGeometry
      • material: Material
      • group: Group

      Returns void

onBeforeRender

onBeforeRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, material: Material, group: Group) => void

Calls before rendering object

Type declaration

    • (renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, material: Material, group: Group): void
    • Parameters

      • renderer: WebGLRenderer
      • scene: Scene
      • camera: Camera
      • geometry: BufferGeometry
      • material: Material
      • group: Group

      Returns void

Optional onError

onError: () => void

Type declaration

    • (): void
    • Returns void

Optional onLoad

onLoad: () => void

Type declaration

    • (): void
    • Returns void

parent

parent: null | Object3D<Event>

Object's parent in the scene graph.

default

null

Readonly position

position: Vector3

Object's local position.

default

new THREE.Vector3()

Readonly quaternion

quaternion: Quaternion

Object's local rotation as a Quaternion.

default

new THREE.Quaternion()

receiveShadow

receiveShadow: boolean

Material gets baked in shadow receiving.

default

false

renderOrder

renderOrder: number

Overrides the default rendering order of scene graph objects, from lowest to highest renderOrder. Opaque and transparent objects remain sorted independently though. When this property is set for an instance of Group, all descendants objects will be sorted and rendered together.

default

0

Readonly rotation

rotation: Euler

Object's local rotation (Euler angles), in radians.

default

new THREE.Euler()

Readonly scale

scale: Vector3

Object's local scale.

default

new THREE.Vector3()

type

type: string

up

up: Vector3

Up direction.

default

THREE.Object3D.DefaultUp.clone()

userData

userData: {}

An object that can be used to store custom data about the Object3d. It should not hold references to functions as these will not be cloned.

default

{}

Type declaration

  • [key: string]: any

uuid

uuid: string

visible

visible: boolean

Object gets rendered if true.

default

true

Static DefaultMatrixAutoUpdate

DefaultMatrixAutoUpdate: boolean

Static DefaultUp

DefaultUp: Vector3

Methods

add

  • Adds object as child of this object.

    Parameters

    • Rest ...object: Object3D<Event>[]

    Returns HeadMaskMesh

addEventListener

  • addEventListener<T>(type: T, listener: EventListener<Event, T, HeadMaskMesh>): void
  • Adds a listener to an event type.

    Type parameters

    • T: string

    Parameters

    • type: T

      The type of event to listen to.

    • listener: EventListener<Event, T, HeadMaskMesh>

      The function that gets called when the event is fired.

    Returns void

applyMatrix4

  • applyMatrix4(matrix: Matrix4): void
  • This updates the position, rotation and scale with the matrix.

    Parameters

    • matrix: Matrix4

    Returns void

applyQuaternion

  • Parameters

    • quaternion: Quaternion

    Returns HeadMaskMesh

attach

  • Adds object as a child of this, while maintaining the object's world transform.

    Parameters

    • object: Object3D<Event>

    Returns HeadMaskMesh

clear

  • Removes all child objects.

    Returns HeadMaskMesh

clone

  • Parameters

    • Optional recursive: boolean

    Returns HeadMaskMesh

copy

  • Parameters

    Returns HeadMaskMesh

dispatchEvent

  • dispatchEvent(event: Event): void
  • Fire an event type.

    Parameters

    • event: Event

    Returns void

dispose

  • dispose(): void

getObjectById

  • getObjectById(id: number): undefined | Object3D<Event>
  • Searches through the object's children and returns the first with a matching id.

    Parameters

    • id: number

      Unique number of the object instance

    Returns undefined | Object3D<Event>

getObjectByName

  • getObjectByName(name: string): undefined | Object3D<Event>
  • Searches through the object's children and returns the first with a matching name.

    Parameters

    • name: string

      String to match to the children's Object3d.name property.

    Returns undefined | Object3D<Event>

getObjectByProperty

  • getObjectByProperty(name: string, value: string): undefined | Object3D<Event>
  • Parameters

    • name: string
    • value: string

    Returns undefined | Object3D<Event>

getWorldDirection

  • getWorldDirection(target: Vector3): Vector3
  • Parameters

    • target: Vector3

    Returns Vector3

getWorldPosition

  • getWorldPosition(target: Vector3): Vector3
  • Parameters

    • target: Vector3

    Returns Vector3

getWorldQuaternion

  • getWorldQuaternion(target: Quaternion): Quaternion
  • Parameters

    • target: Quaternion

    Returns Quaternion

getWorldScale

  • getWorldScale(target: Vector3): Vector3
  • Parameters

    • target: Vector3

    Returns Vector3

hasEventListener

  • hasEventListener<T>(type: T, listener: EventListener<Event, T, HeadMaskMesh>): boolean
  • Checks if listener is added to an event type.

    Type parameters

    • T: string

    Parameters

    • type: T

      The type of event to listen to.

    • listener: EventListener<Event, T, HeadMaskMesh>

      The function that gets called when the event is fired.

    Returns boolean

localToWorld

  • localToWorld(vector: Vector3): Vector3
  • Updates the vector from local space to world space.

    Parameters

    • vector: Vector3

      A local vector.

    Returns Vector3

lookAt

  • lookAt(vector: number | Vector3, y?: number, z?: number): void
  • Rotates object to face point in space.

    Parameters

    • vector: number | Vector3

      A world vector to look at.

    • Optional y: number
    • Optional z: number

    Returns void

raycast

  • raycast(raycaster: Raycaster, intersects: Intersection[]): void
  • Parameters

    • raycaster: Raycaster
    • intersects: Intersection[]

    Returns void

remove

  • Removes object as child of this object.

    Parameters

    • Rest ...object: Object3D<Event>[]

    Returns HeadMaskMesh

removeEventListener

  • removeEventListener<T>(type: T, listener: EventListener<Event, T, HeadMaskMesh>): void
  • Removes a listener from an event type.

    Type parameters

    • T: string

    Parameters

    • type: T

      The type of the listener that gets removed.

    • listener: EventListener<Event, T, HeadMaskMesh>

      The listener function that gets removed.

    Returns void

removeFromParent

  • Removes this object from its current parent.

    Returns HeadMaskMesh

rotateOnAxis

  • Rotate an object along an axis in object space. The axis is assumed to be normalized.

    Parameters

    • axis: Vector3

      A normalized vector in object space.

    • angle: number

      The angle in radians.

    Returns HeadMaskMesh

rotateOnWorldAxis

  • rotateOnWorldAxis(axis: Vector3, angle: number): HeadMaskMesh
  • Rotate an object along an axis in world space. The axis is assumed to be normalized. Method Assumes no rotated parent.

    Parameters

    • axis: Vector3

      A normalized vector in object space.

    • angle: number

      The angle in radians.

    Returns HeadMaskMesh

rotateX

  • Parameters

    • angle: number

    Returns HeadMaskMesh

rotateY

  • Parameters

    • angle: number

    Returns HeadMaskMesh

rotateZ

  • Parameters

    • angle: number

    Returns HeadMaskMesh

setRotationFromAxisAngle

  • setRotationFromAxisAngle(axis: Vector3, angle: number): void
  • Parameters

    • axis: Vector3
    • angle: number

    Returns void

setRotationFromEuler

  • setRotationFromEuler(euler: Euler): void
  • Parameters

    • euler: Euler

    Returns void

setRotationFromMatrix

  • setRotationFromMatrix(m: Matrix4): void
  • Parameters

    • m: Matrix4

    Returns void

setRotationFromQuaternion

  • setRotationFromQuaternion(q: Quaternion): void
  • Parameters

    • q: Quaternion

    Returns void

toJSON

  • toJSON(meta?: { geometries: any; images: any; materials: any; textures: any }): any
  • Parameters

    • Optional meta: { geometries: any; images: any; materials: any; textures: any }
      • geometries: any
      • images: any
      • materials: any
      • textures: any

    Returns any

translateOnAxis

  • translateOnAxis(axis: Vector3, distance: number): HeadMaskMesh
  • Parameters

    • axis: Vector3

      A normalized vector in object space.

    • distance: number

      The distance to translate.

    Returns HeadMaskMesh

translateX

  • Translates object along x axis by distance.

    Parameters

    • distance: number

      Distance.

    Returns HeadMaskMesh

translateY

  • Translates object along y axis by distance.

    Parameters

    • distance: number

      Distance.

    Returns HeadMaskMesh

translateZ

  • Translates object along z axis by distance.

    Parameters

    • distance: number

      Distance.

    Returns HeadMaskMesh

traverse

  • traverse(callback: (object: Object3D<Event>) => any): void
  • Parameters

    • callback: (object: Object3D<Event>) => any
        • (object: Object3D<Event>): any
        • Parameters

          • object: Object3D<Event>

          Returns any

    Returns void

traverseAncestors

  • traverseAncestors(callback: (object: Object3D<Event>) => any): void
  • Parameters

    • callback: (object: Object3D<Event>) => any
        • (object: Object3D<Event>): any
        • Parameters

          • object: Object3D<Event>

          Returns any

    Returns void

traverseVisible

  • traverseVisible(callback: (object: Object3D<Event>) => any): void
  • Parameters

    • callback: (object: Object3D<Event>) => any
        • (object: Object3D<Event>): any
        • Parameters

          • object: Object3D<Event>

          Returns any

    Returns void

updateFromFaceAnchor

updateFromFaceAnchorGroup

updateFromIdentityExpression

  • updateFromIdentityExpression(identity: Float32Array, expression: Float32Array): void
  • Updates pose directly from identity and expression coefficients.

    Parameters

    • identity: Float32Array

      The identity coefficients.

    • expression: Float32Array

      The expression coefficients.

    Returns void

updateMatrix

  • updateMatrix(): void
  • Updates local transform.

    Returns void

updateMatrixWorld

  • updateMatrixWorld(force?: boolean): void
  • Updates global transform of the object and its children.

    Parameters

    • Optional force: boolean

    Returns void

updateMorphTargets

  • updateMorphTargets(): void
  • Returns void

updateWorldMatrix

  • updateWorldMatrix(updateParents: boolean, updateChildren: boolean): void
  • Parameters

    • updateParents: boolean
    • updateChildren: boolean

    Returns void

worldToLocal

  • worldToLocal(vector: Vector3): Vector3
  • Updates the vector from world space to local space.

    Parameters

    • vector: Vector3

      A world vector.

    Returns Vector3

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property

Generated using TypeDoc