|
25 | 25 |
|
26 | 26 | <body>
|
27 | 27 |
|
28 |
| - <div id="info"> |
29 |
| - <a href="http://github.com/mrdoob/three.js" target="_blank">three.js</a> - shadowmap - models by <a href="http://mirada.com/">mirada</a> from <a href="http://ro.me">rome</a></br> |
30 |
| - move camera with WASD / RF + mouse |
31 |
| - </div> |
32 | 28 |
|
33 | 29 | <script type="text/javascript" src="../build/Three.js"></script>
|
34 | 30 |
|
|
87 | 83 |
|
88 | 84 | projector = new THREE.Projector();
|
89 | 85 | // SCENE CAMERA
|
90 |
| -/* |
91 | 86 | camera = new THREE.FirstPersonCamera( { fov: 23, aspect: SCREEN_WIDTH / SCREEN_HEIGHT, near: NEAR, far: FAR,
|
92 | 87 | lookSpeed: 0.0, movementSpeed: 0, noFly: true, lookVertical: true,
|
93 | 88 | constrainVertical: true, verticalMin: 1.5, verticalMax: 2.0
|
94 | 89 | } );
|
95 | 90 |
|
96 |
| - camera.position.set( 700, 150, 1900 ); |
| 91 | + camera.position.set( 700, 250, 1900 ); |
97 | 92 | camera.lon = -110;
|
98 |
| -*/ |
| 93 | +/* |
99 | 94 | camera = new THREE.Camera( 40, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 10000 );
|
100 | 95 | camera.position.z = 1500;
|
101 | 96 |
|
| 97 | +*/ |
102 | 98 |
|
103 | 99 |
|
104 | 100 | // SCENE
|
|
174 | 170 |
|
175 | 171 | }
|
176 | 172 |
|
| 173 | + |
| 174 | + function add_text(num){ |
| 175 | + var textGeo = new THREE.TextGeometry( num, { |
| 176 | + |
| 177 | + size: 100, |
| 178 | + height: 50, |
| 179 | + curveSegments: 12, |
| 180 | + |
| 181 | + font: "helvetiker", |
| 182 | + weight: "bold", |
| 183 | + style: "normal", |
| 184 | + |
| 185 | + bevelThickness: 2, |
| 186 | + bevelSize: 5, |
| 187 | + bevelEnabled: true |
| 188 | + |
| 189 | + }); |
| 190 | + |
| 191 | + textGeo.computeBoundingBox(); |
| 192 | + var centerOffset = -0.5 * ( textGeo.boundingBox.x[ 1 ] - textGeo.boundingBox.x[ 0 ] ); |
| 193 | + |
| 194 | + var textMaterial = new THREE.MeshPhongMaterial( { color: 0xff0000, specular: 0xffffff, ambient: 0xaa0000 } ); |
| 195 | + |
| 196 | + var mesh = new THREE.Mesh( textGeo, textMaterial ); |
| 197 | + mesh.position.x = centerOffset; |
| 198 | + mesh.position.y = FLOOR + 67; |
| 199 | + |
| 200 | + mesh.castShadow = true; |
| 201 | + mesh.receiveShadow = true; |
| 202 | + |
| 203 | + scene.addObject( mesh ); |
| 204 | + return mesh; |
| 205 | + |
| 206 | + |
| 207 | + } |
| 208 | + |
| 209 | + |
| 210 | + |
177 | 211 | function createScene( ) {
|
178 | 212 |
|
179 | 213 | // GROUND
|
|
195 | 229 |
|
196 | 230 | // TEXT
|
197 | 231 |
|
198 |
| - var textGeo = new THREE.TextGeometry( "> 9", { |
| 232 | + var textGeo = new THREE.TextGeometry( "> 3", { |
199 | 233 |
|
200 | 234 | size: 200,
|
201 | 235 | height: 50,
|
|
271 | 305 |
|
272 | 306 | morphs.push( { mesh: meshAnim, lastKeyframe: 0, currentKeyframe: 0,
|
273 | 307 | offset: Math.random() * 6, speed: speed, duration: duration,
|
274 |
| - oldTime: new Date().getTime() } ); |
275 |
| - |
| 308 | + oldTime: new Date().getTime(), txt: add_text(Math.floor(Math.random()*11)) } ); |
276 | 309 | }
|
| 310 | + |
277 | 311 |
|
278 | 312 | function morphColorsToFaceColors( geometry ) {
|
279 | 313 |
|
|
307 | 341 |
|
308 | 342 | } } );
|
309 | 343 |
|
310 |
| - /* |
311 |
| - loader.load( { model: "obj/morphs/fox.js", callback: function( geometry ) { |
312 |
| -
|
313 |
| - morphColorsToFaceColors( geometry ); |
314 |
| - addMorph( geometry, 0.2, 1000, 100 - Math.random() * 500, FLOOR - 5, 600 ); |
315 |
| -
|
316 |
| - } } ); |
317 |
| -
|
318 |
| - loader.load( { model: "obj/morphs/shdw3walk.js", callback: function( geometry ) { |
319 |
| -
|
320 |
| - morphColorsToFaceColors( geometry ); |
321 |
| - addMorph( geometry, 0.04, 2000, -500, FLOOR + 60, 245 ); |
322 |
| -
|
323 |
| - } } ); |
324 |
| -
|
325 |
| - loader.load( { model: "obj/morphs/flamingo.js", callback: function( geometry ) { |
326 |
| -
|
327 |
| - morphColorsToFaceColors( geometry ); |
328 |
| - addMorph( geometry, 0.5, 1000, 500 - Math.random() * 500, FLOOR + 350, 40 ); |
329 |
| -
|
330 |
| - } } ); |
331 |
| -
|
332 |
| - loader.load( { model: "obj/morphs/stork.js", callback: function( geometry ) { |
333 |
| -
|
334 |
| - morphColorsToFaceColors( geometry ); |
335 |
| - addMorph( geometry, 0.35, 1000, 500 - Math.random() * 500, FLOOR + 350, 340 ); |
336 |
| -
|
337 |
| - } } ); |
338 |
| -
|
339 |
| - loader.load( { model: "obj/morphs/mountainlion.js", callback: function( geometry ) { |
340 |
| -
|
341 |
| - morphColorsToFaceColors( geometry ); |
342 |
| - addMorph( geometry, 0.4, 1000, 500 - Math.random() * 500, FLOOR - 5, 700 ); |
343 |
| -
|
344 |
| - } } ); |
345 |
| -
|
346 |
| - loader.load( { model: "obj/morphs/bearBrown.js", callback: function( geometry ) { |
347 |
| -
|
348 |
| - morphColorsToFaceColors( geometry ); |
349 |
| - addMorph( geometry, 0.3, 2500, -500, FLOOR - 5, -750 ); |
350 |
| -
|
351 |
| - } } ); |
352 |
| -
|
353 |
| - loader.load( { model: "obj/morphs/parrot.js", callback: function( geometry ) { |
354 |
| -
|
355 |
| - morphColorsToFaceColors( geometry ); |
356 |
| - addMorph( geometry, 0.45, 500, 500 - Math.random() * 500, FLOOR + 300, 700 ); |
357 |
| -
|
358 |
| - } } ); |
359 |
| -
|
360 |
| - */ |
361 | 344 |
|
362 | 345 | }
|
363 | 346 |
|
|
394 | 377 | delta = newTime - morph.oldTime;
|
395 | 378 | morph.oldTime = newTime;
|
396 | 379 |
|
397 |
| - mesh.position.x += morph.speed * delta; |
| 380 | + mesh.position.x += morph.speed*0.9 * delta; |
398 | 381 |
|
399 | 382 | if ( mesh.position.x > 2000 ) {
|
400 | 383 |
|
401 | 384 | mesh.position.x = -1000 - Math.random() * 500;
|
402 | 385 |
|
403 | 386 | }
|
| 387 | + morph.txt.position.x = mesh.position.x-20; |
| 388 | + morph.txt.position.z = mesh.position.z; |
| 389 | + morph.txt.position.y = mesh.position.y+190; |
404 | 390 |
|
405 | 391 | }
|
406 | 392 |
|
|
442 | 428 | }
|
443 | 429 |
|
444 | 430 |
|
445 |
| - |
446 | 431 | render();
|
447 | 432 | stats.update();
|
448 | 433 |
|
|
0 commit comments