Compare commits

...

2 Commits

Author SHA1 Message Date
75a173d0af threejs V155 2023-07-30 15:01:43 +02:00
3bb43edcee cursor 2023-07-30 14:32:25 +02:00
3 changed files with 10 additions and 34 deletions

View File

@ -12,8 +12,8 @@
<script type="importmap">
{
"imports": {
"three": "https://unpkg.com/three@0.154/build/three.module.js?module",
"three/addons/": "https://unpkg.com/three@0.154/examples/jsm/"
"three": "https://unpkg.com/three@0.155/build/three.module.js?module",
"three/addons/": "https://unpkg.com/three@0.155/examples/jsm/"
}
}
</script>

39
main.js
View File

@ -62,11 +62,8 @@ const renderer = new THREE.WebGLRenderer({
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.toneMapping = THREE.ACESFilmicToneMapping;
//renderer.toneMappingExposure = 0.5;
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFSoftShadowMap;
renderer.useLegacyLights = false;
//renderer.outputColorSpace = THREE.sRGBEncoding;
container.appendChild(renderer.domElement);
@ -101,7 +98,6 @@ const wallMaterial = new THREE.MeshStandardMaterial({
aoMap : loader.load('textures/Poly-cobblestone-wall/ao_map.jpg'),
roughnessMap : loader.load('textures/Poly-cobblestone-wall/roughness_map.jpg'),
roughness : 1,
envMapIntensity: 0.5
})
const maze = new MazeMesh(mazeWidth, mazeWidth, 1, wallMaterial);
@ -136,38 +132,37 @@ const groundMaterial = new THREE.MeshStandardMaterial({
'textures/angled-blocks-vegetation/albedo.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
}
),
aoMap: loader.load(
'textures/angled-blocks-vegetation/ao.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
}
),
metalnessMap: loader.load(
'textures/angled-blocks-vegetation/metallic.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
}
),
normalMap: loader.load(
'textures/angled-blocks-vegetation/normal-dx.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
}
),
roughnessMap: loader.load(
'textures/angled-blocks-vegetation/roughness.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
}
),
envMapIntensity : 0.6
})
const sideGroundMaterial = new THREE.MeshStandardMaterial({
@ -177,7 +172,6 @@ const sideGroundMaterial = new THREE.MeshStandardMaterial({
aoMap : wallMaterial.aoMap.clone(),
roughnessMap : wallMaterial.roughnessMap.clone(),
roughness : 1,
envMapIntensity : 0.5
})
sideGroundMaterial.map.wrapS = sideGroundMaterial.map.wrapT = THREE.RepeatWrapping
sideGroundMaterial.normalMap.wrapS = sideGroundMaterial.normalMap.wrapT = THREE.RepeatWrapping
@ -282,7 +276,7 @@ const sun = new THREE.Vector3();
//const ambientLight = new THREE.AmbientLight(0x404040, 7);
//scene.add(ambientLight);
const sunLight = new THREE.DirectionalLight(0xfffae8, 2);
const sunLight = new THREE.DirectionalLight(0xffffff, 1);
sunLight.castShadow = true;
sunLight.shadow.camera.near = 0.1;
sunLight.shadow.camera.far = 1.4 * mazeWidth;
@ -343,7 +337,6 @@ const raftMaterial = new THREE.MeshStandardMaterial({
}),
displacementScale: -0.3,
displacementBias: 0.15,
envMapIntensity: 0.5
})
const raft = new THREE.Mesh(raftGeometry, raftMaterial)
raft.position.set( .25, ocean.position.y, -mazeWidth/2 - 1.1 )
@ -618,7 +611,7 @@ function gameEnd() {
piano.play();
document.exitPointerLock();
container.style.cursor = "default";
//container.style.cursor = "default";
}
@ -708,22 +701,6 @@ function controls(deltaTime) {
}
function teleportPlayerIfOob() {
if (camera.position.y <= - 25) {
playerCollider.start.set(0, 25, 0);
playerCollider.end.set(0, 25.5, 0);
playerCollider.radius = 0.3;
camera.position.copy(playerCollider.end);
camera.rotation.set(0, 0, 0);
message.className = ""
escaped = false;
}
}
function getWaveInfo(x, z, time) {
const pos = new THREE.Vector3();
@ -803,8 +780,6 @@ function animate() {
updatePlayer(deltaTime);
teleportPlayerIfOob();
}
if (camera.position.y > 3.5)

View File

@ -44,6 +44,7 @@ body {
gap: 5rem;
text-align: center;
font-size: 1.7em;
cursor: progress;
}
#progressCircle {