2
0
Эх сурвалжийг харах

ColladaLoader: Use Object3D.animations.

Mugen87 4 жил өмнө
parent
commit
f39dc2d7c5

+ 0 - 1
editor/js/Loader.js

@@ -170,7 +170,6 @@ function Loader( editor ) {
 
 
 					collada.scene.name = filename;
 					collada.scene.name = filename;
 
 
-					collada.scene.animations.push( ...collada.animations );
 					editor.execute( new AddObjectCommand( editor, collada.scene ) );
 					editor.execute( new AddObjectCommand( editor, collada.scene ) );
 
 
 				}, false );
 				}, false );

+ 7 - 1
examples/js/loaders/ColladaLoader.js

@@ -3955,6 +3955,7 @@ THREE.ColladaLoader.prototype = Object.assign( Object.create( THREE.Loader.proto
 		setupKinematics();
 		setupKinematics();
 
 
 		var scene = parseScene( getElementsByTagName( collada, 'scene' )[ 0 ] );
 		var scene = parseScene( getElementsByTagName( collada, 'scene' )[ 0 ] );
+		scene.animations = animations;
 
 
 		if ( asset.upAxis === 'Z_UP' ) {
 		if ( asset.upAxis === 'Z_UP' ) {
 
 
@@ -3965,7 +3966,12 @@ THREE.ColladaLoader.prototype = Object.assign( Object.create( THREE.Loader.proto
 		scene.scale.multiplyScalar( asset.unit );
 		scene.scale.multiplyScalar( asset.unit );
 
 
 		return {
 		return {
-			animations: animations,
+			get animations() {
+
+				console.warn( 'THREE.ColladaLoader: Please access animations over scene.animations now.' );
+				return animations;
+
+			},
 			kinematics: kinematics,
 			kinematics: kinematics,
 			library: library,
 			library: library,
 			scene: scene
 			scene: scene

+ 0 - 1
examples/jsm/loaders/ColladaLoader.d.ts

@@ -7,7 +7,6 @@ import {
 
 
 
 
 export interface Collada {
 export interface Collada {
-	animations: AnimationClip[];
 	kinematics: object;
 	kinematics: object;
 	library: object;
 	library: object;
 	scene: Scene;
 	scene: Scene;

+ 7 - 1
examples/jsm/loaders/ColladaLoader.js

@@ -3995,6 +3995,7 @@ ColladaLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
 		setupKinematics();
 		setupKinematics();
 
 
 		var scene = parseScene( getElementsByTagName( collada, 'scene' )[ 0 ] );
 		var scene = parseScene( getElementsByTagName( collada, 'scene' )[ 0 ] );
+		scene.animations = animations;
 
 
 		if ( asset.upAxis === 'Z_UP' ) {
 		if ( asset.upAxis === 'Z_UP' ) {
 
 
@@ -4005,7 +4006,12 @@ ColladaLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
 		scene.scale.multiplyScalar( asset.unit );
 		scene.scale.multiplyScalar( asset.unit );
 
 
 		return {
 		return {
-			animations: animations,
+			get animations() {
+
+				console.warn( 'THREE.ColladaLoader: Please access animations over scene.animations now.' );
+				return animations;
+
+			},
 			kinematics: kinematics,
 			kinematics: kinematics,
 			library: library,
 			library: library,
 			scene: scene
 			scene: scene

+ 1 - 1
examples/webgl_loader_collada_skinning.html

@@ -45,8 +45,8 @@
 				const loader = new ColladaLoader();
 				const loader = new ColladaLoader();
 				loader.load( './models/collada/stormtrooper/stormtrooper.dae', function ( collada ) {
 				loader.load( './models/collada/stormtrooper/stormtrooper.dae', function ( collada ) {
 
 
-					const animations = collada.animations;
 					const avatar = collada.scene;
 					const avatar = collada.scene;
+					const animations = avatar.animations;
 
 
 					avatar.traverse( function ( node ) {
 					avatar.traverse( function ( node ) {