|
@@ -34,8 +34,6 @@
|
|
|
|
|
|
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
|
|
|
|
- const statsEnabled = true;
|
|
|
|
-
|
|
|
|
let container, stats, loader;
|
|
let container, stats, loader;
|
|
|
|
|
|
let camera, scene, renderer;
|
|
let camera, scene, renderer;
|
|
@@ -63,19 +61,18 @@
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
- camera = new THREE.PerspectiveCamera( 27, window.innerWidth / window.innerHeight, 1, 10000 );
|
|
|
|
- camera.position.z = 1200;
|
|
|
|
|
|
+ camera = new THREE.PerspectiveCamera( 27, window.innerWidth / window.innerHeight, 0.1, 100 );
|
|
|
|
+ camera.position.z = 12;
|
|
|
|
|
|
scene = new THREE.Scene();
|
|
scene = new THREE.Scene();
|
|
scene.background = new THREE.Color( 0x060708 );
|
|
scene.background = new THREE.Color( 0x060708 );
|
|
|
|
|
|
// LIGHTS
|
|
// LIGHTS
|
|
|
|
|
|
- scene.add( new THREE.HemisphereLight( 0x8d7c7c, 0x494966 ) );
|
|
|
|
|
|
+ scene.add( new THREE.HemisphereLight( 0x8d7c7c, 0x494966, 3 ) );
|
|
|
|
|
|
- spotLight = new THREE.SpotLight( 0xffffde, 2 );
|
|
|
|
- spotLight.position.set( 0.5, 0, 1 );
|
|
|
|
- spotLight.position.multiplyScalar( 700 );
|
|
|
|
|
|
+ spotLight = new THREE.SpotLight( 0xffffde, 200 );
|
|
|
|
+ spotLight.position.set( 3.5, 0, 7 );
|
|
scene.add( spotLight );
|
|
scene.add( spotLight );
|
|
|
|
|
|
spotLight.castShadow = true;
|
|
spotLight.castShadow = true;
|
|
@@ -83,8 +80,8 @@
|
|
spotLight.shadow.mapSize.width = 2048;
|
|
spotLight.shadow.mapSize.width = 2048;
|
|
spotLight.shadow.mapSize.height = 2048;
|
|
spotLight.shadow.mapSize.height = 2048;
|
|
|
|
|
|
- spotLight.shadow.camera.near = 200;
|
|
|
|
- spotLight.shadow.camera.far = 1500;
|
|
|
|
|
|
+ spotLight.shadow.camera.near = 2;
|
|
|
|
+ spotLight.shadow.camera.far = 15;
|
|
|
|
|
|
spotLight.shadow.camera.fov = 40;
|
|
spotLight.shadow.camera.fov = 40;
|
|
|
|
|
|
@@ -99,31 +96,28 @@
|
|
specular: 0x666666,
|
|
specular: 0x666666,
|
|
shininess: 25,
|
|
shininess: 25,
|
|
bumpMap: mapHeight,
|
|
bumpMap: mapHeight,
|
|
- bumpScale: 12
|
|
|
|
|
|
+ bumpScale: 0.1
|
|
} );
|
|
} );
|
|
|
|
|
|
loader = new GLTFLoader();
|
|
loader = new GLTFLoader();
|
|
loader.load( 'models/gltf/LeePerrySmith/LeePerrySmith.glb', function ( gltf ) {
|
|
loader.load( 'models/gltf/LeePerrySmith/LeePerrySmith.glb', function ( gltf ) {
|
|
|
|
|
|
- createScene( gltf.scene.children[ 0 ].geometry, 100, material );
|
|
|
|
|
|
+ createScene( gltf.scene.children[ 0 ].geometry, 1, material );
|
|
|
|
|
|
} );
|
|
} );
|
|
|
|
|
|
- renderer = new THREE.WebGLRenderer();
|
|
|
|
|
|
+ renderer = new THREE.WebGLRenderer( { antialias: true } );
|
|
renderer.setPixelRatio( window.devicePixelRatio );
|
|
renderer.setPixelRatio( window.devicePixelRatio );
|
|
renderer.setSize( window.innerWidth, window.innerHeight );
|
|
renderer.setSize( window.innerWidth, window.innerHeight );
|
|
|
|
+ renderer.useLegacyLights = false;
|
|
container.appendChild( renderer.domElement );
|
|
container.appendChild( renderer.domElement );
|
|
|
|
|
|
renderer.shadowMap.enabled = true;
|
|
renderer.shadowMap.enabled = true;
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
- if ( statsEnabled ) {
|
|
|
|
-
|
|
|
|
- stats = new Stats();
|
|
|
|
- container.appendChild( stats.dom );
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
+ stats = new Stats();
|
|
|
|
+ container.appendChild( stats.dom );
|
|
|
|
|
|
// EVENTS
|
|
// EVENTS
|
|
|
|
|
|
@@ -136,7 +130,7 @@
|
|
|
|
|
|
mesh = new THREE.Mesh( geometry, material );
|
|
mesh = new THREE.Mesh( geometry, material );
|
|
|
|
|
|
- mesh.position.y = - 50;
|
|
|
|
|
|
+ mesh.position.y = - 0.5;
|
|
mesh.scale.set( scale, scale, scale );
|
|
mesh.scale.set( scale, scale, scale );
|
|
|
|
|
|
mesh.castShadow = true;
|
|
mesh.castShadow = true;
|
|
@@ -171,7 +165,8 @@
|
|
requestAnimationFrame( animate );
|
|
requestAnimationFrame( animate );
|
|
|
|
|
|
render();
|
|
render();
|
|
- if ( statsEnabled ) stats.update();
|
|
|
|
|
|
+
|
|
|
|
+ stats.update();
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|