소스 검색

Renamed .boneTransform() to .applyBoneTransform() (#25586)

WestLangley 2 년 전
부모
커밋
e1aba23f73

+ 2 - 8
docs/api/en/objects/SkinnedMesh.html

@@ -155,15 +155,9 @@
 		This method sets the skinned mesh in the rest pose (resets the pose).
 		</p>
 
-		<h3>[method:Vector3 boneTransform]( [param:Integer index], [param:Vector3 target] )</h3>
+		<h3>[method:Vector3 applyBoneTransform]( [param:Integer index], [param:Vector3 vector] )</h3>
 		<p>
-		Calculates the position of the vertex at the given index relative to the current bone transformations.
-		Target vector must be initialized with the vertex coordinates prior to the transformation:
-		<code>
-const target = new THREE.Vector3();
-target.fromBufferAttribute( mesh.geometry.attributes.position, index );
-mesh.boneTransform( index, target );
-		</code>
+		Applies the bone transform associated with the given index to the given position vector. Returns the updated vector.
 		</p>
 
 		<h2>Source</h2>

+ 2 - 8
docs/api/it/objects/SkinnedMesh.html

@@ -154,15 +154,9 @@
 			Questo metodo imposta la skinned mesh nella posa di riposo (reimposta la posa).
 		</p>
 
-		<h3>[method:Vector3 boneTransform]( [param:Integer index], [param:Vector3 target] )</h3>
+		<h3>[method:Vector3 applyBoneTransform]( [param:Integer index], [param:Vector3 vector] )</h3>
 		<p>
-			Calcola la posizione del vertice in corrispondenza dell'indice specificato rispetto alle attuali trasformazioni ossee.
-			Il vettore target deve essere inizializzato con le coordinate del vertice prima della trasformazione:
-		<code>
-const target = new THREE.Vector3();
-target.fromBufferAttribute( mesh.geometry.attributes.position, index );
-mesh.boneTransform( index, target );
-		</code>
+		Applies the bone transform associated with the given index to the given position vector. Returns the updated vector.
 		</p>
 
 		<h2>Source</h2>

+ 3 - 3
examples/jsm/exporters/STLExporter.js

@@ -124,9 +124,9 @@ class STLExporter {
 
 			if ( object.isSkinnedMesh === true ) {
 
-				object.boneTransform( a, vA );
-				object.boneTransform( b, vB );
-				object.boneTransform( c, vC );
+				object.applyBoneTransform( a, vA );
+				object.applyBoneTransform( b, vB );
+				object.applyBoneTransform( c, vC );
 
 			}
 

+ 3 - 3
examples/jsm/utils/BufferGeometryUtils.js

@@ -914,9 +914,9 @@ function computeMorphedAttributes( object ) {
 
 		if ( object.isSkinnedMesh ) {
 
-			object.boneTransform( a, _vA );
-			object.boneTransform( b, _vB );
-			object.boneTransform( c, _vC );
+			object.applyBoneTransform( a, _vA );
+			object.applyBoneTransform( b, _vB );
+			object.applyBoneTransform( c, _vC );
 
 		}
 

+ 1 - 1
src/objects/Mesh.js

@@ -141,7 +141,7 @@ class Mesh extends Object3D {
 
 		if ( this.isSkinnedMesh ) {
 
-			this.boneTransform( index, target );
+			this.applyBoneTransform( index, target );
 
 		}
 

+ 18 - 8
src/objects/SkinnedMesh.js

@@ -8,8 +8,8 @@ const _basePosition = /*@__PURE__*/ new Vector3();
 const _skinIndex = /*@__PURE__*/ new Vector4();
 const _skinWeight = /*@__PURE__*/ new Vector4();
 
-const _vector = /*@__PURE__*/ new Vector3();
-const _matrix = /*@__PURE__*/ new Matrix4();
+const _vector3 = /*@__PURE__*/ new Vector3();
+const _matrix4 = /*@__PURE__*/ new Matrix4();
 
 class SkinnedMesh extends Mesh {
 
@@ -114,7 +114,7 @@ class SkinnedMesh extends Mesh {
 
 	}
 
-	boneTransform( index, target ) {
+	applyBoneTransform( index, vector ) {
 
 		const skeleton = this.skeleton;
 		const geometry = this.geometry;
@@ -122,9 +122,9 @@ class SkinnedMesh extends Mesh {
 		_skinIndex.fromBufferAttribute( geometry.attributes.skinIndex, index );
 		_skinWeight.fromBufferAttribute( geometry.attributes.skinWeight, index );
 
-		_basePosition.copy( target ).applyMatrix4( this.bindMatrix );
+		_basePosition.copy( vector ).applyMatrix4( this.bindMatrix );
 
-		target.set( 0, 0, 0 );
+		vector.set( 0, 0, 0 );
 
 		for ( let i = 0; i < 4; i ++ ) {
 
@@ -134,18 +134,28 @@ class SkinnedMesh extends Mesh {
 
 				const boneIndex = _skinIndex.getComponent( i );
 
-				_matrix.multiplyMatrices( skeleton.bones[ boneIndex ].matrixWorld, skeleton.boneInverses[ boneIndex ] );
+				_matrix4.multiplyMatrices( skeleton.bones[ boneIndex ].matrixWorld, skeleton.boneInverses[ boneIndex ] );
 
-				target.addScaledVector( _vector.copy( _basePosition ).applyMatrix4( _matrix ), weight );
+				vector.addScaledVector( _vector3.copy( _basePosition ).applyMatrix4( _matrix4 ), weight );
 
 			}
 
 		}
 
-		return target.applyMatrix4( this.bindMatrixInverse );
+		return vector.applyMatrix4( this.bindMatrixInverse );
 
 	}
 
+	// @deprecated
+
+	boneTransform( index, vector ) {
+
+		console.warn( 'THREE.SkinnedMesh: .boneTransform() was renamed to .applyBoneTransform() in r151.' );
+		return this.applyBoneTransform( index, vector );
+
+	}
+
+
 }
 
 export { SkinnedMesh };

+ 1 - 1
test/unit/src/objects/SkinnedMesh.tests.js

@@ -100,7 +100,7 @@ export default QUnit.module( 'Objects', () => {
 
 		} );
 
-		QUnit.todo( 'boneTransform', ( assert ) => {
+		QUnit.todo( 'applyBoneTransform', ( assert ) => {
 
 			assert.ok( false, 'everything\'s gonna be alright' );