Skip to content

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:180

new Sprite2D(options?): Sprite2D

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:880

Create a new Sprite2D. Can be called with no arguments for R3F compatibility - set texture via property.

Sprite2DOptions

Sprite2D

Mesh.constructor

_idx: number = 0

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:515

Index into the backing arrays (0 when standalone, eid when enrolled).


alphaMap: AlphaMap | null = null

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:253

CPU-side alpha data for 'alpha' hit-test mode.


alphaThreshold: number = 0.5

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:256

Alpha value (0–1) below which a pixel is treated as transparent.


animations: AnimationClip []

Defined in: three.js/core/Object3D:animations 

Array with object’s animation clips.

[]

Mesh.animations


castShadow: boolean

Defined in: three.js/core/Object3D:castShadow 

Whether the object gets rendered into shadow map.

false

Mesh.castShadow


children: Object3D <Object3DEventMap >[]

Defined in: three.js/core/Object3D:children 

Array with object’s children.

THREE.Object3DGroup | Group for info on manually grouping objects.

[]

Mesh.children


count: number

Defined in: three.js/objects/Mesh:count 

The number of instances of this mesh. Can only be used with WebGPURenderer.

1

Mesh.count


optional customDepthMaterial?: Material <MaterialEventMap >

Defined in: three.js/core/Object3D:customDepthMaterial 

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 THREE.DirectionalLight | DirectionalLight or THREE.SpotLight | SpotLight, if you are modifying vertex positions in the vertex shader you must specify a customDepthMaterial for proper shadows.

undefined

Mesh.customDepthMaterial


optional customDistanceMaterial?: Material <MaterialEventMap >

Defined in: three.js/core/Object3D:customDistanceMaterial 

Same as customDepthMaterial, but used with THREE.Object3DPointLight | PointLight.

undefined

Mesh.customDistanceMaterial


frustumCulled: boolean

Defined in: three.js/core/Object3D:frustumCulled 

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.

true

Mesh.frustumCulled


geometry: BufferGeometry 

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:184

An instance of THREE.BufferGeometry | BufferGeometry (or derived classes), defining the object’s structure.

THREE.BufferGeometry | `new THREE.BufferGeometry()`.

Mesh.geometry


readonly id: number

Defined in: three.js/core/Object3D:id 

Unique number for this Object3D  instance.

Note that ids are assigned in chronological order: 1, 2, 3, …, incrementing by one for each new object. Expects a Integer

Mesh.id


readonly isMesh: true

Defined in: three.js/objects/Mesh:isMesh 

Read-only flag to check if a given object is of type Mesh .

This is a constant value

true

Mesh.isMesh


readonly isObject3D: true

Defined in: three.js/core/Object3D:isObject3D 

Flag to check if a given object is of type Object3D .

This is a constant value

true

Mesh.isObject3D


layers: Layers 

Defined in: three.js/core/Object3D:layers 

The layer membership of the object.

The object is only visible if it has at least one layer in common with the THREE.Object3DCamera | Camera in use. This property can also be used to filter out unwanted objects in ray-intersection tests when using THREE.Raycaster | Raycaster.

new THREE.Layers()

Mesh.layers


material: Sprite2DMaterial

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:185

An instance of material derived from the THREE.Material | Material base class or an array of materials, defining the object’s appearance.

THREE.MeshBasicMaterial | `new THREE.MeshBasicMaterial()`.

Mesh.material


matrix: Matrix4 

Defined in: three.js/core/Object3D:matrix 

The local transform matrix.

new THREE.Matrix4()

Mesh.matrix


matrixAutoUpdate: boolean

Defined in: three.js/core/Object3D:matrixAutoUpdate 

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

DEFAULT_MATRIX_AUTO_UPDATE - that is (true).

Mesh.matrixAutoUpdate


matrixWorld: Matrix4 

Defined in: three.js/core/Object3D:matrixWorld 

The global transform of the object.

If the Object3D  has no parent, then it’s identical to the local transform THREE.Object3D.matrix | .matrix.

new THREE.Matrix4()

Mesh.matrixWorld


matrixWorldAutoUpdate: boolean

Defined in: three.js/core/Object3D:matrixWorldAutoUpdate 

If set, then the renderer checks every frame if the object and its children need matrix updates. When it isn’t, then you have to maintain all matrices in the object and its children yourself.

DEFAULT_MATRIX_WORLD_AUTO_UPDATE - that is (true).

Mesh.matrixWorldAutoUpdate


matrixWorldNeedsUpdate: boolean

Defined in: three.js/core/Object3D:matrixWorldNeedsUpdate 

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

false

Mesh.matrixWorldNeedsUpdate


readonly modelViewMatrix: Matrix4 

Defined in: three.js/core/Object3D:modelViewMatrix 

new THREE.Matrix4()

Mesh.modelViewMatrix


optional morphTargetDictionary?: object

Defined in: three.js/objects/Mesh:morphTargetDictionary 

A dictionary of morphTargets based on the morphTarget.name property.

[key: string]: number

undefined, but rebuilt by .updateMorphTargets() .

Mesh.morphTargetDictionary


optional morphTargetInfluences?: number[]

Defined in: three.js/objects/Mesh:morphTargetInfluences 

An array of weights typically from 0-1 that specify how much of the morph is applied.

undefined, but reset to a blank array by .updateMorphTargets() .

Mesh.morphTargetInfluences


name: string

Defined in: three.js/core/Object3D:name 

Optional name of the object

(doesn’t need to be unique).

""

Mesh.name


readonly normalMatrix: Matrix3 

Defined in: three.js/core/Object3D:normalMatrix 

new THREE.Matrix3()

Mesh.normalMatrix


optional occlusionTest?: boolean

Defined in: three.js/renderers/common/Backend:occlusionTest 

Mesh.occlusionTest


onBeforeRender: (renderer, scene, camera, geometry, material, group) => void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:2230

Auto-orchestration Signal B: the sprite’s own mesh is being drawn, so the renderer and scene are in hand. One property check per draw once registered — the hot path stays ~free.

An optional callback that is executed immediately before a 3D object is rendered.

WebGLRenderer 

Scene 

Camera 

BufferGeometry 

Material 

Group 

void

This function is called with the following parameters: renderer, scene, camera, geometry, material, group. Please notice that this callback is only executed for renderable 3D objects. Meaning 3D objects which define their visual appearance with geometries and materials like instances of Mesh, Line, Points or Sprite. Instances of Object3D , Group  or Bone are not renderable and thus this callback is not executed for such objects.

Mesh.onBeforeRender


parent: Object3D <Object3DEventMap > | null

Defined in: three.js/core/Object3D:parent 

Object’s parent in the scene graph .

An object can have at most one parent.

null

Mesh.parent


pivot: Vector3  | null

Defined in: three.js/core/Object3D:pivot 

The pivot point for rotation and scale transformations. When set, rotation and scale are applied around this point instead of the object’s origin.

null

Mesh.pivot


readonly position: Vector3 

Defined in: three.js/core/Object3D:position 

Object’s local position.

new THREE.Vector3() - that is (0, 0, 0).

Mesh.position


readonly quaternion: Quaternion 

Defined in: three.js/core/Object3D:quaternion 

Object’s local rotation as a THREE.Quaternion | Quaternion.

new THREE.Quaternion() - that is (0, 0, 0, 1).

Mesh.quaternion


receiveShadow: boolean

Defined in: three.js/core/Object3D:receiveShadow 

Whether the material receives shadows.

false

Mesh.receiveShadow


renderOrder: number

Defined in: three.js/core/Object3D:renderOrder 

This value allows the default rendering order of scene graph  objects to be overridden although opaque and transparent objects remain sorted independently.

When this property is set for an instance of Group , all descendants objects will be sorted and rendered together. Sorting is from lowest to highest renderOrder.

0

Mesh.renderOrder


readonly rotation: Euler 

Defined in: three.js/core/Object3D:rotation 

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

new THREE.Euler() - that is (0, 0, 0, Euler.DEFAULT_ORDER).

Mesh.rotation


readonly scale: Vector3 

Defined in: three.js/core/Object3D:scale 

The object’s local scale.

new THREE.Vector3( 1, 1, 1 )

Mesh.scale


static: boolean

Defined in: three.js/core/Object3D:static 

Whether the 3D object is supposed to be static or not. If set to true, it means the 3D object is not going to be changed after the initial renderer. This includes geometry and material settings. A static 3D object can be processed by the renderer slightly faster since certain state checks can be bypassed.

Only relevant in context of WebGPURenderer.

false

Mesh.static


readonly type: string

Defined in: three.js/objects/Mesh:type 

Mesh

Mesh.type


up: Vector3 

Defined in: three.js/core/Object3D:up 

This is used by the lookAt  method, for example, to determine the orientation of the result.

Object3D.DEFAULT_UP - that is (0, 1, 0).

Mesh.up


userData: Record<string, any>

Defined in: three.js/core/Object3D: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.

{}

Mesh.userData


uuid: string

Defined in: three.js/core/Object3D:uuid 

UUID  of this object instance.

This gets automatically assigned and shouldn’t be edited.

Mesh.uuid


visible: boolean

Defined in: three.js/core/Object3D:visible 

Object gets rendered if true.

true

Mesh.visible


static DEFAULT_MATRIX_AUTO_UPDATE: boolean

Defined in: three.js/core/Object3D:DEFAULT_MATRIX_AUTO_UPDATE 

The default setting for matrixAutoUpdate for newly created Object3Ds.

true

Mesh.DEFAULT_MATRIX_AUTO_UPDATE


static DEFAULT_MATRIX_WORLD_AUTO_UPDATE: boolean

Defined in: three.js/core/Object3D:DEFAULT_MATRIX_WORLD_AUTO_UPDATE 

The default setting for matrixWorldAutoUpdate for newly created Object3Ds.

true

Mesh.DEFAULT_MATRIX_WORLD_AUTO_UPDATE


static DEFAULT_UP: Vector3 

Defined in: three.js/core/Object3D:DEFAULT_UP 

The default up direction for objects, also used as the default position for THREE.DirectionalLight | DirectionalLight, THREE.HemisphereLight | HemisphereLight and THREE.Spotlight | Spotlight (which creates lights shining from the top down).

new THREE.Vector3( 0, 1, 0)

Mesh.DEFAULT_UP


static options: RenderingSetting | undefined = undefined

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:182

Class-level rendering defaults, resolved before RenderingConfig.


readonly static supportedHitTestModes: readonly HitTestMode[]

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:250

Hit-test modes supported by this class. See spec §6.

get alpha(): number

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1497

Get alpha/opacity.

number

set alpha(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1504

Set alpha/opacity (0-1).

number

void


get anchor(): Vector2 

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1443

Get the anchor point. Returns the stored Vector2 (like Object3D.position).

Vector2 

set anchor(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1450

Set the anchor point. Accepts [x, y] array or Vector2.

[number, number] | Vector2 

void


get castsShadow(): boolean

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:447

Whether this sprite contributes its silhouette to the shadow-caster occlusion pre-pass. Stored as bit 2 of _systemFlags. Default: false — most sprites don’t cast; opt in by setting to true.

Consumed by the occlusion pre-pass shader, which masks the sprite’s alpha by this bit before the SDF seed. Flipping it takes effect on the next frame with zero CPU rebuild (same model as receiveShadows).

boolean

set castsShadow(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:451

boolean

void


get flipX(): boolean

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1517

Get flipX state.

boolean

set flipX(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1524

Set flipX state.

boolean

void


get flipY(): boolean

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1539

Get flipY state.

boolean

set flipY(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1546

Set flipY state.

boolean

void


get frame(): SpriteFrame | null

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1365

Get the current frame.

SpriteFrame | null

set frame(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1372

Set the current frame (R3F prop compatibility).

SpriteFrame | null

void


get height(): number

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1677

Get the height of the sprite in world units.

number


get hitRadius(): number

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:276

Hit radius override in local units. Default 0.5 (inscribed half-width of unit quad).

number

set hitRadius(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:280

number

void


get hitTestMode(): HitTestMode

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:292

Pointer hit-testing strategy. Setting 'none' nulls the instance raycast property.

HitTestMode

set hitTestMode(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:296

HitTestMode

void


get lit(): boolean

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:342

Whether this sprite receives lighting from Flatland’s LightEffect. Stored as bit 0 of _systemFlags so lit/unlit sprites with the same texture share the same material and batch together. Default: true — set lit = false to opt out.

boolean

set lit(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:346

boolean

void


get pixelPerfect(): boolean

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:315

Whether this sprite’s final projected translation snaps to physical pixels.

boolean

set pixelPerfect(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:319

boolean

void


get receiveShadows(): boolean

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:369

Whether this sprite receives shadows from the SDF shadow pipeline. Stored as bit 1 of _systemFlags. Default: true — set receiveShadows = false to opt out.

boolean

set receiveShadows(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:373

boolean

void


get shadowRadius(): number | undefined

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:421

Per-sprite occluder radius (world units) consumed by shadow-casting LightEffects — e.g. DefaultLightEffect’s SDF sphere-tracer uses it as the self-silhouette escape distance so a tracer launched from inside the caster steps out cleanly.

Returns undefined while in auto-resolve mode (default), in which case transformSyncSystem writes max(|scale.x|, |scale.y|) into the per-instance attribute each frame — covering animation frames and runtime scale changes without manual updates. Assign a number to override (useful when the visible body is tighter than the quad’s bounds, or when an off-center anchor pushes the silhouette). Assign undefined to return to auto-resolve.

number | undefined

set shadowRadius(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:425

number | undefined

void


get sortLayer(): SortLayerValue

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1579

Get the sortLayer (primary sort key). Returns the registered name when one was assigned; the numeric order otherwise.

SortLayerValue

set sortLayer(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1591

Set the sortLayer (primary sort key) — a registered name (typed via SortLayerRegistry augmentation) or a finite signed 32-bit numeric order. Routes the sprite to the batch matching its new run key on the next system pass.

When a numeric order is outside the signed 32-bit range.

SortLayerValue

void


get texture(): Texture <unknown, TextureEventMap > | null

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1174

Get the current texture.

Texture <unknown, TextureEventMap > | null

set texture(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1181

Set a new texture.

Texture <unknown, TextureEventMap > | null

void


get tint(): Color 

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1476

Get tint color. Returns a stored Color reference (like Material.color). Mutating the returned Color triggers ECS sync via onChange callback.

Color 

set tint(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1483

Set tint color. Accepts Color, hex string, hex number, or [r, g, b] array (0-1).

string | number | [number, number, number] | Color 

void


get width(): number

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1670

Get the width of the sprite in world units.

number


get zIndex(): number

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1634

Get z-index within layer (secondary sort key).

number

set zIndex(value): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1656

Set z-index within layer (secondary sort key).

Hot path. Every moving sprite in a y-sorted scene calls this every frame, so the cost has to stay near-zero per call.

The raw SoA write is unconditional — transformSyncSystem reads _zIndexArr directly and bakes the value into the instance matrix for the GPU depth test. That alone is enough for alphaTest+depthWrite materials (GPU resolves order via the baked-in Z, no CPU sort needed).

For non-gated materials, we flip the batch’s _sortDirty flag so batchSortSystem knows to re-sort this batch on its next pass. This replaced the prior Changed(SpriteZIndex) channel — the generic change tracker enumerated every flip every frame even when the gate trivially skipped the sort, costing ~7ms/frame in a 12k-sprite demo. The per-batch boolean costs one ref read + one write.

number

void

_setupInstanceAttributes(): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1738

Set up instance attributes on the geometry for single-sprite rendering. Uses one interleaved buffer (mirroring SpriteBatch) so batched and standalone paths share the same shader attribute shape. Also allocates buffers for custom attributes from the material’s schema (pure effect data — effectBuf0, effectBuf1, …).

void


add(…object): this

Defined in: three.js/core/Object3D:add 

Adds another Object3D  as child of this Object3D .

…Object3D <Object3DEventMap >[]

this

An arbitrary number of objects may be added Any current parent on an object passed in here will be removed, since an Object3D  can have at most one parent.

  • attach 
  • THREE.Group | Group for info on manually grouping objects.

Mesh.add


addEffect(effect): this

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1839

Add an effect instance to this sprite. Auto-registers the effect type on the material if not already registered. Sets the enable bit and writes effect data to packed buffers.

MaterialEffect

this

const dissolve = new DissolveEffect()
dissolve.progress = 0.5
sprite.addEffect(dissolve)

addEventListener<T>(type, listener): void

Defined in: three.js/core/EventDispatcher:addEventListener 

Adds a listener to an event type.

T extends keyof Object3DEventMap 

T

The type of event to listen to.

EventListener <Object3DEventMap [T], T, Sprite2D>

The function that gets called when the event is fired.

void

Mesh.addEventListener


applyMatrix4(matrix): void

Defined in: three.js/core/Object3D:applyMatrix4 

Applies the matrix transform to the object and updates the object’s position, rotation and scale.

Matrix4 

void

Mesh.applyMatrix4


applyQuaternion(quaternion): this

Defined in: three.js/core/Object3D:applyQuaternion 

Applies the rotation represented by the quaternion to the object.

Quaternion 

this

Mesh.applyQuaternion


attach(object): this

Defined in: three.js/core/Object3D:attach 

Adds a Object3D  as a child of this, while maintaining the object’s world transform.

Object3D 

this

Note: This method does not support scene graphs having non-uniformly-scaled nodes(s).

add 

Mesh.attach


clear(): this

Defined in: three.js/core/Object3D:clear 

Removes all child objects.

this

Mesh.clear


clone(recursive?): this

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:2817

Clone the sprite.

boolean

this

Mesh.clone


copy(source, recursive?): this

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:2804

Copy Three.js object state while preserving authored visibility. A batched source is internally suppressed, but that implementation detail must not make the copied sprite authored-hidden.

this

boolean

this

Mesh.copy


dispatchEvent<T>(event): void

Defined in: three.js/core/EventDispatcher:dispatchEvent 

Fire an event type.

T extends keyof Object3DEventMap 

BaseEvent <T> & Object3DEventMap [T]

The event that gets fired.

void

Mesh.dispatchEvent


dispose(): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:2741

Dispose of resources.

void


flip(horizontal, vertical): this

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1561

Flip the sprite.

boolean

boolean

this


getObjectById(id): Object3D <Object3DEventMap > | undefined

Defined in: three.js/core/Object3D:getObjectById 

Searches through an object and its children, starting with the object itself, and returns the first with a matching id.

number

Unique number of the object instance. Expects a Integer

Object3D <Object3DEventMap > | undefined

Note that ids are assigned in chronological order: 1, 2, 3, …, incrementing by one for each new object.

id

Mesh.getObjectById


getObjectByName(name): Object3D <Object3DEventMap > | undefined

Defined in: three.js/core/Object3D:getObjectByName 

Searches through an object and its children, starting with the object itself, and returns the first with a matching name.

string

String to match to the children’s Object3D.name property.

Object3D <Object3DEventMap > | undefined

Note that for most objects the name is an empty string by default You will have to set it manually to make use of this method.

Mesh.getObjectByName


getObjectByProperty(name, value): Object3D <Object3DEventMap > | undefined

Defined in: three.js/core/Object3D:getObjectByProperty 

Searches through an object and its children, starting with the object itself, and returns the first with a property that matches the value given.

string

the property name to search for.

any

value of the given property.

Object3D <Object3DEventMap > | undefined

Mesh.getObjectByProperty


getObjectsByProperty(name, value, optionalTarget?): Object3D <Object3DEventMap >[]

Defined in: three.js/core/Object3D:getObjectsByProperty 

Searches through an object and its children, starting with the object itself, and returns the first with a property that matches the value given.

string

The property name to search for.

any

Value of the given property.

Object3D <Object3DEventMap >[]

target to set the result. Otherwise a new Array is instantiated. If set, you must clear this array prior to each call (i.e., array.length = 0;).

Object3D <Object3DEventMap >[]

Mesh.getObjectsByProperty


getVertexPosition(index, target): Vector3 

Defined in: three.js/objects/Mesh:getVertexPosition 

Get the local-space position of the vertex at the given index, taking into account the current animation state of both morph targets and skinning.

number

Expects a Integer

Vector3 

Vector3 

Mesh.getVertexPosition


getWorldDirection(target): Vector3 

Defined in: three.js/core/Object3D:getWorldDirection 

Returns a vector representing the direction of object’s positive z-axis in world space.

Vector3 

The result will be copied into this Vector3.

Vector3 

Mesh.getWorldDirection


getWorldPosition(target): Vector3 

Defined in: three.js/core/Object3D:getWorldPosition 

Returns a vector representing the position of the object in world space.

Vector3 

The result will be copied into this Vector3.

Vector3 

Mesh.getWorldPosition


getWorldPosition2D(): Vector2 

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1817

Get world position (convenience method).

Vector2 


getWorldQuaternion(target): Quaternion 

Defined in: three.js/core/Object3D:getWorldQuaternion 

Returns a quaternion representing the rotation of the object in world space.

Quaternion 

The result will be copied into this Quaternion.

Quaternion 

Mesh.getWorldQuaternion


getWorldScale(target): Vector3 

Defined in: three.js/core/Object3D:getWorldScale 

Returns a vector of the scaling factors applied to the object for each axis in world space.

Vector3 

The result will be copied into this Vector3.

Vector3 

Mesh.getWorldScale


hasEventListener<T>(type, listener): boolean

Defined in: three.js/core/EventDispatcher:hasEventListener 

Checks if listener is added to an event type.

T extends keyof Object3DEventMap 

T

The type of event to listen to.

EventListener <Object3DEventMap [T], T, Sprite2D>

The function that gets called when the event is fired.

boolean

Mesh.hasEventListener


localToWorld(vector): Vector3 

Defined in: three.js/core/Object3D:localToWorld 

Converts the vector from this object’s local space to world space.

Vector3 

A vector representing a position in this object’s local space.

Vector3 

Mesh.localToWorld


lookAt(vector): void

Defined in: three.js/core/Object3D:lookAt 

Rotates the object to face a point in world space.

Vector3 

A vector representing a position in world space to look at.

void

This method does not support objects having non-uniformly-scaled parent(s).

Mesh.lookAt

lookAt(x, y, z): void

Defined in: three.js/core/Object3D:lookAt 

Rotates the object to face a point in world space.

number

Expects a Float

number

Expects a Float

number

Expects a Float

void

This method does not support objects having non-uniformly-scaled parent(s).

Mesh.lookAt


onAfterRender(renderer, scene, camera, geometry, material, group): void

Defined in: three.js/core/Object3D:onAfterRender 

An optional callback that is executed immediately after a 3D object is rendered.

WebGLRenderer 

Scene 

Camera 

BufferGeometry 

Material 

Group 

void

This function is called with the following parameters: renderer, scene, camera, geometry, material, group. Please notice that this callback is only executed for renderable 3D objects. Meaning 3D objects which define their visual appearance with geometries and materials like instances of Mesh, Line, Points or Sprite. Instances of Object3D , Group  or Bone are not renderable and thus this callback is not executed for such objects.

Mesh.onAfterRender


onAfterShadow(renderer, scene, camera, shadowCamera, geometry, depthMaterial, group): void

Defined in: three.js/core/Object3D:onAfterShadow 

An optional callback that is executed immediately after a 3D object is rendered to a shadow map.

WebGLRenderer 

Scene 

Camera 

Camera 

BufferGeometry 

Material 

Group 

void

This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry, depthMaterial, group. Please notice that this callback is only executed for renderable 3D objects. Meaning 3D objects which define their visual appearance with geometries and materials like instances of Mesh, Line, Points or Sprite. Instances of Object3D , Group  or Bone are not renderable and thus this callback is not executed for such objects.

Mesh.onAfterShadow


onBeforeShadow(renderer, scene, camera, shadowCamera, geometry, depthMaterial, group): void

Defined in: three.js/core/Object3D:onBeforeShadow 

An optional callback that is executed immediately before a 3D object is rendered to a shadow map.

WebGLRenderer 

Scene 

Camera 

Camera 

BufferGeometry 

Material 

Group 

void

This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry, depthMaterial, group. Please notice that this callback is only executed for renderable 3D objects. Meaning 3D objects which define their visual appearance with geometries and materials like instances of Mesh, Line, Points or Sprite. Instances of Object3D , Group  or Bone are not renderable and thus this callback is not executed for such objects.

Mesh.onBeforeShadow


raycast(raycaster, intersects): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:2242

Pointer raycast against the sprite’s local Z=0 plane.

The quad is a centered unit square ([-0.5, 0.5] in X and Y). Anchor and scale are already baked into the world matrix by updateMatrix(), so this method works entirely in centered-quad local space with no anchor math.

Raycaster 

Intersection <Object3D <Object3DEventMap >>[]

void

Mesh.raycast


remove(…object): this

Defined in: three.js/core/Object3D:remove 

Removes a Object3D  as child of this Object3D .

…Object3D <Object3DEventMap >[]

this

An arbitrary number of objects may be removed.

THREE.Group | Group for info on manually grouping objects.

Mesh.remove


removeEffect(effect): this

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1981

Remove an effect instance from this sprite. Clears the enable bit and resets effect data to defaults. The effect type remains registered on the material (no shader change).

MaterialEffect

this


removeEventListener<T>(type, listener): void

Defined in: three.js/core/EventDispatcher:removeEventListener 

Removes a listener from an event type.

T extends keyof Object3DEventMap 

T

The type of the listener that gets removed.

EventListener <Object3DEventMap [T], T, Sprite2D>

The listener function that gets removed.

void

Mesh.removeEventListener


removeFromParent(): this

Defined in: three.js/core/Object3D:removeFromParent 

Removes this object from its current parent.

this

Mesh.removeFromParent


rotateOnAxis(axis, angle): this

Defined in: three.js/core/Object3D:rotateOnAxis 

Rotate an object along an axis in object space.

Vector3 

A normalized vector in object space.

number

The angle in radians. Expects a Float

this

The axis is assumed to be normalized.

Mesh.rotateOnAxis


rotateOnWorldAxis(axis, angle): this

Defined in: three.js/core/Object3D:rotateOnWorldAxis 

Rotate an object along an axis in world space.

Vector3 

A normalized vector in world space.

number

The angle in radians. Expects a Float

this

The axis is assumed to be normalized Method Assumes no rotated parent.

Mesh.rotateOnWorldAxis


rotateX(angle): this

Defined in: three.js/core/Object3D:rotateX 

Rotates the object around x axis in local space.

number

this

Mesh.rotateX


rotateY(angle): this

Defined in: three.js/core/Object3D:rotateY 

Rotates the object around y axis in local space.

number

this

Mesh.rotateY


rotateZ(angle): this

Defined in: three.js/core/Object3D:rotateZ 

Rotates the object around z axis in local space.

number

this

Mesh.rotateZ


setAnchor(x, y): this

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1467

Set the anchor point (0-1). (0, 0) = top-left, (0.5, 0.5) = center, (0.5, 1) = bottom-center

The anchor offset is baked into the matrix transform — no geometry rebuild. Writing _anchor.set(...) triggers the observable.vector2 callback which marks the matrix dirty; the next updateMatrix picks up the new value.

number

number

this


setFrame(frame): this

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:1382

Set the current frame. Note: Does not modify scale - call updateSize() manually if needed after first frame.

SpriteFrame

this


setRotationFromAxisAngle(axis, angle): void

Defined in: three.js/core/Object3D:setRotationFromAxisAngle 

Calls THREE.Quaternion.setFromAxisAngle | setFromAxisAngle(axis, angle) on the .quaternion.

Vector3 

A normalized vector in object space.

number

Angle in radians. Expects a Float

void

Mesh.setRotationFromAxisAngle


setRotationFromEuler(euler): void

Defined in: three.js/core/Object3D:setRotationFromEuler 

Calls THREE.Quaternion.setFromEuler | setFromEuler(euler) on the .quaternion.

Euler 

Euler angle specifying rotation amount.

void

Mesh.setRotationFromEuler


setRotationFromMatrix(m): void

Defined in: three.js/core/Object3D:setRotationFromMatrix 

Calls THREE.Quaternion.setFromRotationMatrix | setFromRotationMatrix(m) on the .quaternion.

Matrix4 

Rotate the quaternion by the rotation component of the matrix.

void

Note that this assumes that the upper 3x3 of m is a pure rotation matrix (i.e, unscaled).

Mesh.setRotationFromMatrix


setRotationFromQuaternion(q): void

Defined in: three.js/core/Object3D:setRotationFromQuaternion 

Copy the given THREE.Quaternion | Quaternion into .quaternion.

Quaternion 

Normalized Quaternion.

void

Mesh.setRotationFromQuaternion


toJSON(meta?): MeshJSON 

Defined in: three.js/objects/Mesh:toJSON 

Convert the object to three.js JSON Object/Scene format .

JSONMeta 

Object containing metadata such as materials, textures or images for the object.

MeshJSON 

Mesh.toJSON


translateOnAxis(axis, distance): this

Defined in: three.js/core/Object3D:translateOnAxis 

Translate an object by distance along an axis in object space

Vector3 

A normalized vector in object space.

number

The distance to translate. Expects a Float

this

The axis is assumed to be normalized.

Mesh.translateOnAxis


translateX(distance): this

Defined in: three.js/core/Object3D:translateX 

Translates object along x axis in object space by distance units.

number

Expects a Float

this

Mesh.translateX


translateY(distance): this

Defined in: three.js/core/Object3D:translateY 

Translates object along y axis in object space by distance units.

number

Expects a Float

this

Mesh.translateY


translateZ(distance): this

Defined in: three.js/core/Object3D:translateZ 

Translates object along z axis in object space by distance units.

number

Expects a Float

this

Mesh.translateZ


traverse(callback): void

Defined in: three.js/core/Object3D:traverse 

Executes the callback on this object and all descendants.

(object) => any

A function with as first argument an Object3D  object.

void

Note: Modifying the scene graph inside the callback is discouraged.

Mesh.traverse


traverseAncestors(callback): void

Defined in: three.js/core/Object3D:traverseAncestors 

Executes the callback on all ancestors.

(object) => any

A function with as first argument an Object3D  object.

void

Note: Modifying the scene graph inside the callback is discouraged.

Mesh.traverseAncestors


traverseVisible(callback): void

Defined in: three.js/core/Object3D:traverseVisible 

Like traverse, but the callback will only be executed for visible objects

(object) => any

A function with as first argument an Object3D  object.

void

Descendants of invisible objects are not traversed. Note: Modifying the scene graph inside the callback is discouraged.

Mesh.traverseVisible


updateMatrix(): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:2460

Fast 2D matrix update — bypasses Three.js quaternion-based compose().

Three.js Object3D.updateMatrix() calls matrix.compose(position, quaternion, scale) which does full 3D quaternion→matrix math (~20 multiplies). For 2D sprites we only need position, scale, and optional Z-axis rotation — written directly to the matrix elements.

Also bakes in the layer/zIndex Z offset without save/restore of position.z.

void

Mesh.updateMatrix


updateMatrixWorld(force?): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:2332

Updates the global transform of the object. And will update the object descendants if .matrixWorldNeedsUpdate is set to true or if the force parameter is set to true.

boolean

A boolean that can be used to bypass .matrixWorldAutoUpdate, to recalculate the world matrix of the object and descendants on the current frame. Useful if you cannot wait for the renderer to update it on the next frame, assuming .matrixWorldAutoUpdate set to true.

void

Mesh.updateMatrixWorld


updateMorphTargets(): void

Defined in: three.js/objects/Mesh:updateMorphTargets 

Updates the morphTargets to have no influence on the object

void

Resets the morphTargetInfluences and morphTargetDictionary  properties.

Mesh.updateMorphTargets


updateWorldMatrix(updateParents, updateChildren): void

Defined in: packages/three-flatland/src/sprites/Sprite2D.ts:2324

Make matrixWorld current on demand. For an enrolled (batched) sprite, matrixWorldAutoUpdate is off and the sprite is not a graph child, so three’s own traversal never composes it — do it here. For a standalone sprite, defer to three’s normal ancestor walk. This is the standard three refresh contract, so any consumer (raycast, bounds, devtools) can sprite.updateWorldMatrix(true, false) then read matrixWorld.

boolean

boolean

void

Mesh.updateWorldMatrix


worldToLocal(vector): Vector3 

Defined in: three.js/core/Object3D:worldToLocal 

Converts the vector from world space to this object’s local space.

Vector3 

A vector representing a position in world space.

Vector3 

Mesh.worldToLocal