SceneUtils

Import

SceneUtils is an addon, and must be imported explicitly, see Installation#Addons.

import * as SceneUtils from 'three/addons/utils/SceneUtils.js';

Methods

.createMeshesFromInstancedMesh( instancedMesh : InstancedMesh ) : Group (inner)

This function creates a mesh for each instance of the given instanced mesh and adds it to a group. Each mesh will honor the current 3D transformation of its corresponding instance.

instancedMesh

The instanced mesh.

Returns: A group of meshes.

.createMeshesFromMultiMaterialMesh( mesh : Mesh ) : Group (inner)

This function creates a mesh for each geometry-group of the given multi-material mesh and adds it to a group.

mesh

The multi-material mesh.

Returns: A group of meshes.

.createMultiMaterialObject( geometry : BufferGeometry, materials : Array.<Material> ) : Group (inner)

This function represents an alternative way to create 3D objects with multiple materials. Normally, BufferGeometry#groups are used which might introduce issues e.g. when exporting the object to a 3D format. This function accepts a geometry and an array of materials and creates for each material a mesh that is added to a group.

geometry

The geometry.

materials

An array of materials.

Returns: A group representing a multi-material object.

.reduceVertices( object : Object3D, func : function, initialValue : any ) : any (inner)

Executes a reducer function for each vertex of the given 3D object. reduceVertices() returns a single value: the function's accumulated result.

object

The 3D object that should be processed. It must have a geometry with a position attribute.

func

The reducer function. First argument is the current value, second argument the current vertex.

initialValue

The initial value.

Returns: The result.

.sortInstancedMesh( mesh : InstancedMesh, compareFn : function ) (inner)

Sorts the instances of the given instanced mesh.

mesh

The instanced mesh to sort.

compareFn

A custom compare function for the sort.

.traverseAncestorsGenerator( object : Object3D ) : Object3D (generator, inner)

Generator based alternative to Object3D#traverseAncestors.

object

Object to traverse.

Yields:
Objects that passed the filter condition.

.traverseGenerator( object : Object3D ) : Object3D (generator, inner)

Generator based alternative to Object3D#traverse.

object

Object to traverse.

Yields:
Objects that passed the filter condition.

.traverseVisibleGenerator( object : Object3D ) : Object3D (generator, inner)

Generator based alternative to Object3D#traverseVisible.

object

Object to traverse.

Yields:
Objects that passed the filter condition.

Source

examples/jsm/utils/SceneUtils.js