소스 검색

Merge pull request #12982 from takahirox/findBone

Add findBoneByName() to Skeleton
Mr.doob 7 년 전
부모
커밋
a8576261ad
2개의 변경된 파일20개의 추가작업 그리고 20개의 파일을 삭제
  1. 2 20
      src/animation/PropertyBinding.js
  2. 18 0
      src/objects/Skeleton.js

+ 2 - 20
src/animation/PropertyBinding.js

@@ -219,27 +219,9 @@ Object.assign( PropertyBinding, {
 		// search into skeleton bones.
 		if ( root.skeleton ) {
 
-			var searchSkeleton = function ( skeleton ) {
+			var bone = root.skeleton.getBoneByName( nodeName );
 
-				for ( var i = 0; i < skeleton.bones.length; i ++ ) {
-
-					var bone = skeleton.bones[ i ];
-
-					if ( bone.name === nodeName ) {
-
-						return bone;
-
-					}
-
-				}
-
-				return null;
-
-			};
-
-			var bone = searchSkeleton( root.skeleton );
-
-			if ( bone ) {
+			if ( bone !== undefined ) {
 
 				return bone;
 

+ 18 - 0
src/objects/Skeleton.js

@@ -152,6 +152,24 @@ Object.assign( Skeleton.prototype, {
 
 		return new Skeleton( this.bones, this.boneInverses );
 
+	},
+
+	getBoneByName: function ( name ) {
+
+		for ( var i = 0, il = this.bones.length; i < il; i ++ ) {
+
+			var bone = this.bones[ i ];
+
+			if ( bone.name === name ) {
+
+				return bone;
+
+			}
+
+		}
+
+		return undefined;
+
 	}
 
 } );