Static
combineStatic
combineTraverses the given object and combines the skeletons of skinned meshes.
Each frame the bone matrices are computed for every skeleton. Combining skeletons reduces the number of calculations needed, improving performance.
Root object that will be traversed
Static
deepStatic
removeTraverse the given object and remove unnecessarily bound joints from every THREE.SkinnedMesh
.
Some environments like mobile devices have a lower limit of bones and might be unable to perform mesh skinning with many bones. This function might resolve such an issue.
Also, this function might significantly improve the performance of mesh skinning.
Root object that will be traversed
Optional
options: { experimentalSameBoneCounts?: boolean }Optional
experimentalSameBoneCounts?: booleanIf true
, this function will compensate skeletons with dummy bones to keep the bone count same between skeletons.
This option might be effective for the shader compilation performance that matters to the initial rendering time in WebGPURenderer, especially when the model loaded has many materials and the dependent bone count is different between them.
Consider this parameter as experimental. We might modify or delete this API without notice in the future.
false
by default.
Static
removeTraverse given object and remove unnecessary vertices from every BufferGeometries. This only processes buffer geometries with index buffer.
Three.js creates morph textures for each geometries and it sometimes consumes unnecessary amount of VRAM for certain models. This function will optimize geometries to reduce the size of morph texture. See: https://github.com/mrdoob/three.js/issues/23095
Root object that will be traversed
Static
rotateVRM0
Combine morph targets by VRM expressions.
This function prevents crashes caused by the limitation of the number of morph targets, especially on mobile devices.