|
@@ -62,7 +62,7 @@
|
|
|
|
|
|
var sceneHUD, cameraOrtho, hudMesh;
|
|
|
|
|
|
- var morph, morphs = [];
|
|
|
+ var morphs = [];
|
|
|
|
|
|
var light;
|
|
|
|
|
@@ -315,21 +315,26 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
- var meshAnim = new THREE.MorphAnimMesh( geometry, material );
|
|
|
+ var mesh = new THREE.Mesh( geometry, material );
|
|
|
|
|
|
- meshAnim.speed = speed;
|
|
|
- meshAnim.duration = duration;
|
|
|
- meshAnim.time = 600 * Math.random();
|
|
|
+ mesh.speed = speed;
|
|
|
|
|
|
- meshAnim.position.set( x, y, z );
|
|
|
- meshAnim.rotation.y = Math.PI/2;
|
|
|
+ var mixer = new THREE.AnimationMixer( mesh );
|
|
|
+ mixer.addAction( new THREE.AnimationAction( geometry.clips[0] ).warpToDuration( duration ) );
|
|
|
+ console.log( mixer );
|
|
|
+ mixer.update( 600 * Math.random() );
|
|
|
|
|
|
- meshAnim.castShadow = true;
|
|
|
- meshAnim.receiveShadow = true;
|
|
|
+ mesh.position.set( x, y, z );
|
|
|
+ mesh.rotation.y = Math.PI/2;
|
|
|
|
|
|
- scene.add( meshAnim );
|
|
|
+ mesh.castShadow = true;
|
|
|
+ mesh.receiveShadow = true;
|
|
|
|
|
|
- morphs.push( meshAnim );
|
|
|
+ mesh.mixer = mixer;
|
|
|
+
|
|
|
+ scene.add( mesh );
|
|
|
+
|
|
|
+ morphs.push( mesh );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -355,34 +360,34 @@
|
|
|
|
|
|
morphColorsToFaceColors( geometry );
|
|
|
|
|
|
- addMorph( geometry, 550, 1000, 100 - Math.random() * 1000, FLOOR, 300, true );
|
|
|
- addMorph( geometry, 550, 1000, 100 - Math.random() * 1000, FLOOR, 450, true );
|
|
|
- addMorph( geometry, 550, 1000, 100 - Math.random() * 1000, FLOOR, 600, true );
|
|
|
+ addMorph( geometry, 550, 1, 100 - Math.random() * 1000, FLOOR, 300, true );
|
|
|
+ addMorph( geometry, 550, 1, 100 - Math.random() * 1000, FLOOR, 450, true );
|
|
|
+ addMorph( geometry, 550, 1, 100 - Math.random() * 1000, FLOOR, 600, true );
|
|
|
|
|
|
- addMorph( geometry, 550, 1000, 100 - Math.random() * 1000, FLOOR, -300, true );
|
|
|
- addMorph( geometry, 550, 1000, 100 - Math.random() * 1000, FLOOR, -450, true );
|
|
|
- addMorph( geometry, 550, 1000, 100 - Math.random() * 1000, FLOOR, -600, true );
|
|
|
+ addMorph( geometry, 550, 1, 100 - Math.random() * 1000, FLOOR, -300, true );
|
|
|
+ addMorph( geometry, 550, 1, 100 - Math.random() * 1000, FLOOR, -450, true );
|
|
|
+ addMorph( geometry, 550, 1, 100 - Math.random() * 1000, FLOOR, -600, true );
|
|
|
|
|
|
} );
|
|
|
|
|
|
loader.load( "models/animated/flamingo.js", function( geometry ) {
|
|
|
|
|
|
morphColorsToFaceColors( geometry );
|
|
|
- addMorph( geometry, 500, 1000, 500 - Math.random() * 500, FLOOR + 350, 40 );
|
|
|
+ addMorph( geometry, 500, 1, 500 - Math.random() * 500, FLOOR + 350, 40 );
|
|
|
|
|
|
} );
|
|
|
|
|
|
loader.load( "models/animated/stork.js", function( geometry ) {
|
|
|
|
|
|
morphColorsToFaceColors( geometry );
|
|
|
- addMorph( geometry, 350, 1000, 500 - Math.random() * 500, FLOOR + 350, 340 );
|
|
|
+ addMorph( geometry, 350, 1, 500 - Math.random() * 500, FLOOR + 350, 340 );
|
|
|
|
|
|
} );
|
|
|
|
|
|
loader.load( "models/animated/parrot.js", function( geometry ) {
|
|
|
|
|
|
morphColorsToFaceColors( geometry );
|
|
|
- addMorph( geometry, 450, 500, 500 - Math.random() * 500, FLOOR + 300, 700 );
|
|
|
+ addMorph( geometry, 450, 0.5, 500 - Math.random() * 500, FLOOR + 300, 700 );
|
|
|
|
|
|
} );
|
|
|
|
|
@@ -405,7 +410,7 @@
|
|
|
|
|
|
morph = morphs[ i ];
|
|
|
|
|
|
- morph.updateAnimation( 1000 * delta );
|
|
|
+ morph.mixer.update( delta );
|
|
|
|
|
|
morph.position.x += morph.speed * delta;
|
|
|
|