|
@@ -35,7 +35,7 @@
|
|
|
var SCREEN_HEIGHT = window.innerHeight;
|
|
|
|
|
|
var container, stats;
|
|
|
- var camera, scene1, scene2, renderer;
|
|
|
+ var camera, scene, renderer;
|
|
|
var mixers = [];
|
|
|
|
|
|
var clock = new THREE.Clock();
|
|
@@ -58,32 +58,19 @@
|
|
|
|
|
|
//
|
|
|
|
|
|
- camera = new THREE.PerspectiveCamera( 40, 0.5 * SCREEN_WIDTH / SCREEN_HEIGHT, 1, 10000 );
|
|
|
+ camera = new THREE.PerspectiveCamera( 40, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 10000 );
|
|
|
camera.position.y = 300;
|
|
|
camera.target = new THREE.Vector3( 0, 150, 0 );
|
|
|
|
|
|
- scene1 = new THREE.Scene();
|
|
|
- scene2 = new THREE.Scene();
|
|
|
+ scene = new THREE.Scene();
|
|
|
|
|
|
//
|
|
|
|
|
|
- var light = new THREE.DirectionalLight( 0xffffff, 1.3 );
|
|
|
- light.position.set( 1, 1, 1 );
|
|
|
- scene1.add( light );
|
|
|
-
|
|
|
- var light = new THREE.DirectionalLight( 0xffffff, 0.1 );
|
|
|
- light.position.set( 0.25, -1, 0 );
|
|
|
- scene1.add( light );
|
|
|
-
|
|
|
- //
|
|
|
+ scene.add( new THREE.HemisphereLight( 0x443333, 0x222233 ) );
|
|
|
|
|
|
- var light = new THREE.DirectionalLight( 0xffffff, 1.3 );
|
|
|
+ var light = new THREE.DirectionalLight( 0xffffff, 1 );
|
|
|
light.position.set( 1, 1, 1 );
|
|
|
- scene2.add( light );
|
|
|
-
|
|
|
- var light = new THREE.DirectionalLight( 0xffffff, 0.1 );
|
|
|
- light.position.set( 0.25, -1, 0 );
|
|
|
- scene2.add( light );
|
|
|
+ scene.add( light );
|
|
|
|
|
|
//
|
|
|
|
|
@@ -91,16 +78,22 @@
|
|
|
var loader = new THREE.JSONLoader();
|
|
|
loader.load( "models/animated/flamingo.js", function( geometry ) {
|
|
|
|
|
|
- var material = new THREE.MeshPhongMaterial( { color: 0xffffff, morphTargets: true, vertexColors: THREE.FaceColors, shading: THREE.FlatShading } );
|
|
|
+ var material = new THREE.MeshPhongMaterial( {
|
|
|
+ color: 0xffffff,
|
|
|
+ morphTargets: true,
|
|
|
+ vertexColors: THREE.FaceColors,
|
|
|
+ shading: THREE.FlatShading
|
|
|
+ } );
|
|
|
var mesh = new THREE.Mesh( geometry, material );
|
|
|
|
|
|
- mesh.scale.set( 1.5, 1.5, 1.5 );
|
|
|
+ mesh.position.x = - 150;
|
|
|
mesh.position.y = 150;
|
|
|
+ mesh.scale.set( 1.5, 1.5, 1.5 );
|
|
|
|
|
|
- scene1.add( mesh );
|
|
|
+ scene.add( mesh );
|
|
|
|
|
|
var mixer = new THREE.AnimationMixer( mesh );
|
|
|
- mixer.addAction( new THREE.AnimationAction( geometry.animations[ 0 ] ).warpToDuration( 5 ) );
|
|
|
+ mixer.addAction( new THREE.AnimationAction( geometry.animations[ 0 ] ).warpToDuration( 1 ) );
|
|
|
|
|
|
mixers.push( mixer );
|
|
|
|
|
@@ -111,16 +104,23 @@
|
|
|
geometry.computeVertexNormals();
|
|
|
geometry.computeMorphNormals();
|
|
|
|
|
|
- var material = new THREE.MeshPhongMaterial( { color: 0xffffff, specular: 0xffffff, shininess: 20, morphTargets: true, morphNormals: true, vertexColors: THREE.FaceColors, shading: THREE.SmoothShading } );
|
|
|
+ var material = new THREE.MeshPhongMaterial( {
|
|
|
+ color: 0xffffff,
|
|
|
+ morphTargets: true,
|
|
|
+ morphNormals: true,
|
|
|
+ vertexColors: THREE.FaceColors,
|
|
|
+ shading: THREE.SmoothShading
|
|
|
+ } );
|
|
|
var mesh = new THREE.Mesh( geometry, material );
|
|
|
|
|
|
- mesh.scale.set( 1.5, 1.5, 1.5 );
|
|
|
+ mesh.position.x = 150;
|
|
|
mesh.position.y = 150;
|
|
|
+ mesh.scale.set( 1.5, 1.5, 1.5 );
|
|
|
|
|
|
- scene2.add( mesh );
|
|
|
+ scene.add( mesh );
|
|
|
|
|
|
var mixer = new THREE.AnimationMixer( mesh );
|
|
|
- mixer.addAction( new THREE.AnimationAction( geometry.animations[ 0 ] ).warpToDuration( 5 ) );
|
|
|
+ mixer.addAction( new THREE.AnimationAction( geometry.animations[ 0 ] ).warpToDuration( 1 ) );
|
|
|
|
|
|
mixers.push( mixer );
|
|
|
|
|
@@ -129,12 +129,6 @@
|
|
|
//
|
|
|
|
|
|
renderer = new THREE.WebGLRenderer( { antialias: true } );
|
|
|
- renderer.sortObjects = false;
|
|
|
- renderer.autoClear = false;
|
|
|
-
|
|
|
- renderer.gammaInput = true;
|
|
|
- renderer.gammaOutput = true;
|
|
|
-
|
|
|
renderer.setPixelRatio( window.devicePixelRatio );
|
|
|
renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
|
|
|
|
|
@@ -190,18 +184,14 @@
|
|
|
|
|
|
var delta = clock.getDelta();
|
|
|
|
|
|
- for ( var i = 0; i < mixers.length; i ++ ) {
|
|
|
+ for ( var i = 0; i < mixers.length; i ++ ) {
|
|
|
+
|
|
|
mixers[ i ].update( delta );
|
|
|
|
|
|
}
|
|
|
|
|
|
renderer.clear();
|
|
|
-
|
|
|
- renderer.setViewport( 0, 0, SCREEN_WIDTH/2, SCREEN_HEIGHT );
|
|
|
- renderer.render( scene1, camera );
|
|
|
-
|
|
|
- renderer.setViewport( SCREEN_WIDTH/2, 0, SCREEN_WIDTH/2, SCREEN_HEIGHT );
|
|
|
- renderer.render( scene2, camera );
|
|
|
+ renderer.render( scene, camera );
|
|
|
|
|
|
}
|
|
|
|