use webp textures
62
main.js
@ -1,15 +1,15 @@
|
|||||||
import * as THREE from 'three';
|
import * as THREE from 'three'
|
||||||
import { Octree } from 'three/addons/math/Octree.js';
|
import { Octree } from 'three/addons/math/Octree.js'
|
||||||
import { Capsule } from 'three/addons/math/Capsule.js';
|
import { Capsule } from 'three/addons/math/Capsule.js'
|
||||||
import { Water } from 'three/addons/objects/Water.js';
|
import { Water } from 'three/addons/objects/Water.js'
|
||||||
import { PointerLockControls } from 'three/addons/controls/PointerLockControls.js';
|
import { PointerLockControls } from 'three/addons/controls/PointerLockControls.js'
|
||||||
import { GUI } from 'three/addons/libs/lil-gui.module.min.js';
|
import { GUI } from 'three/addons/libs/lil-gui.module.min.js'
|
||||||
import { OctreeHelper } from 'three/addons/helpers/OctreeHelper.js';
|
import { OctreeHelper } from 'three/addons/helpers/OctreeHelper.js'
|
||||||
import Stats from 'three/addons/libs/stats.module.js';
|
import Stats from 'three/addons/libs/stats.module.js'
|
||||||
|
|
||||||
//import 'three-hex-tiling';
|
//import 'three-hex-tiling'
|
||||||
|
|
||||||
import MazeMesh from './MazeMesh.js';
|
import MazeMesh from './MazeMesh.js'
|
||||||
|
|
||||||
|
|
||||||
const playerHeight = 0.5;
|
const playerHeight = 0.5;
|
||||||
@ -80,12 +80,12 @@ const scene = new THREE.Scene();
|
|||||||
scene.background = new THREE.CubeTextureLoader(loadMngr)
|
scene.background = new THREE.CubeTextureLoader(loadMngr)
|
||||||
.setPath( 'textures/calm-sea-skybox/' )
|
.setPath( 'textures/calm-sea-skybox/' )
|
||||||
.load( [
|
.load( [
|
||||||
'ft.avif',
|
'ft.webp',
|
||||||
'bk.avif',
|
'bk.webp',
|
||||||
'up.avif',
|
'up.webp',
|
||||||
'dn.avif',
|
'dn.webp',
|
||||||
'rt.avif',
|
'rt.webp',
|
||||||
'lf.avif',
|
'lf.webp',
|
||||||
] );
|
] );
|
||||||
scene.backgroundBlurriness = 0.03;
|
scene.backgroundBlurriness = 0.03;
|
||||||
scene.backgroundIntensity = 1.4;
|
scene.backgroundIntensity = 1.4;
|
||||||
@ -102,10 +102,10 @@ const mazeCollisionner = new THREE.Group();
|
|||||||
// Maze
|
// Maze
|
||||||
|
|
||||||
const wallMaterial = new THREE.MeshStandardMaterial({
|
const wallMaterial = new THREE.MeshStandardMaterial({
|
||||||
map : loader.load('textures/Poly-cobblestone-wall/color_map.avif'),
|
map : loader.load('textures/Poly-cobblestone-wall/color_map.webp'),
|
||||||
normalMap : loader.load('textures/Poly-cobblestone-wall/normal_map_opengl.avif'),
|
normalMap : loader.load('textures/Poly-cobblestone-wall/normal_map_opengl.webp'),
|
||||||
aoMap : loader.load('textures/Poly-cobblestone-wall/ao_map.avif'),
|
aoMap : loader.load('textures/Poly-cobblestone-wall/ao_map.webp'),
|
||||||
roughnessMap : loader.load('textures/Poly-cobblestone-wall/roughness_map.avif'),
|
roughnessMap : loader.load('textures/Poly-cobblestone-wall/roughness_map.webp'),
|
||||||
roughness : 1
|
roughness : 1
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -139,11 +139,11 @@ function repeatGroundMaterial (texture) {
|
|||||||
texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
|
texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
|
||||||
}
|
}
|
||||||
const groundMaterial = new THREE.MeshStandardMaterial({
|
const groundMaterial = new THREE.MeshStandardMaterial({
|
||||||
map : loader.load('textures/angled-blocks-vegetation/albedo.avif', repeatGroundMaterial),
|
map : loader.load('textures/angled-blocks-vegetation/albedo.webp', repeatGroundMaterial),
|
||||||
aoMap : loader.load('textures/angled-blocks-vegetation/ao-roughness-metalness.avif', repeatGroundMaterial),
|
aoMap : loader.load('textures/angled-blocks-vegetation/ao.webp', repeatGroundMaterial),
|
||||||
metalnessMap: loader.load('textures/angled-blocks-vegetation/ao-roughness-metalness.avif', repeatGroundMaterial),
|
metalnessMap: loader.load('textures/angled-blocks-vegetation/metallic.webp', repeatGroundMaterial),
|
||||||
normalMap : loader.load('textures/angled-blocks-vegetation/normal-dx.avif', repeatGroundMaterial),
|
normalMap : loader.load('textures/angled-blocks-vegetation/normal-dx.webp', repeatGroundMaterial),
|
||||||
roughnessMap: loader.load('textures/angled-blocks-vegetation/ao-roughness-metalness.avif', repeatGroundMaterial),
|
roughnessMap: loader.load('textures/angled-blocks-vegetation/roughness.webp', repeatGroundMaterial),
|
||||||
/*hexTiling : {
|
/*hexTiling : {
|
||||||
patchScale: 1,
|
patchScale: 1,
|
||||||
useContrastCorrectedBlending: true,
|
useContrastCorrectedBlending: true,
|
||||||
@ -204,7 +204,7 @@ const ocean = new Water(waterGeometry, {
|
|||||||
textureWidth : 512,
|
textureWidth : 512,
|
||||||
textureHeight: 512,
|
textureHeight: 512,
|
||||||
waterNormals : loader.load(
|
waterNormals : loader.load(
|
||||||
'textures/waternormals.avif',
|
'textures/waternormals.webp',
|
||||||
function (texture) {
|
function (texture) {
|
||||||
texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
|
texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
|
||||||
}
|
}
|
||||||
@ -302,15 +302,15 @@ function repeatRaftMaterial(texture) {
|
|||||||
texture.repeat.set(2, 1)
|
texture.repeat.set(2, 1)
|
||||||
}
|
}
|
||||||
const raftMaterial = new THREE.MeshStandardMaterial({
|
const raftMaterial = new THREE.MeshStandardMaterial({
|
||||||
map: loader.load("textures/Poly-wood/color_map.avif", repeatRaftMaterial),
|
map: loader.load("textures/Poly-wood/color_map.webp", repeatRaftMaterial),
|
||||||
aoMap: loader.load("textures/Poly-wood/ao_map.avif", repeatRaftMaterial),
|
aoMap: loader.load("textures/Poly-wood/ao_map.webp", repeatRaftMaterial),
|
||||||
normalMap: loader.load("textures/Poly-wood/normal_map_opengl.avif", repeatRaftMaterial),
|
normalMap: loader.load("textures/Poly-wood/normal_map_opengl.webp", repeatRaftMaterial),
|
||||||
normalScale : new THREE.Vector2(2, 2),
|
normalScale : new THREE.Vector2(2, 2),
|
||||||
roughnessMap: loader.load("textures/Poly-wood/roughness_map.avif", repeatRaftMaterial),
|
roughnessMap: loader.load("textures/Poly-wood/roughness_map.webp", repeatRaftMaterial),
|
||||||
depthFunc: 3,
|
depthFunc: 3,
|
||||||
depthTest: true,
|
depthTest: true,
|
||||||
depthWrite: true,
|
depthWrite: true,
|
||||||
displacementMap: loader.load("textures/Poly-wood/displacement_map.avif", repeatRaftMaterial),
|
displacementMap: loader.load("textures/Poly-wood/displacement_map.webp", repeatRaftMaterial),
|
||||||
displacementScale: -0.3,
|
displacementScale: -0.3,
|
||||||
displacementBias: 0.15,
|
displacementBias: 0.15,
|
||||||
})
|
})
|
||||||
|
Before Width: | Height: | Size: 1.2 MiB |
BIN
textures/Poly-cobblestone-wall/ao_map.webp
Normal file
After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 2.2 MiB |
BIN
textures/Poly-cobblestone-wall/color_map.webp
Normal file
After Width: | Height: | Size: 2.4 MiB |
Before Width: | Height: | Size: 147 KiB |
BIN
textures/Poly-cobblestone-wall/displacement_map.webp
Normal file
After Width: | Height: | Size: 209 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
textures/Poly-cobblestone-wall/normal_map_opengl.webp
Normal file
After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 2.2 MiB |
BIN
textures/Poly-cobblestone-wall/render_map.webp
Normal file
After Width: | Height: | Size: 2.4 MiB |
Before Width: | Height: | Size: 349 KiB |
BIN
textures/Poly-cobblestone-wall/roughness_map.webp
Normal file
After Width: | Height: | Size: 324 KiB |
Before Width: | Height: | Size: 377 KiB |
BIN
textures/Poly-wood/ao_map.webp
Normal file
After Width: | Height: | Size: 372 KiB |
Before Width: | Height: | Size: 635 KiB |
BIN
textures/Poly-wood/color_map.webp
Normal file
After Width: | Height: | Size: 595 KiB |
Before Width: | Height: | Size: 151 KiB |
BIN
textures/Poly-wood/displacement_map.webp
Normal file
After Width: | Height: | Size: 184 KiB |
Before Width: | Height: | Size: 904 KiB |
BIN
textures/Poly-wood/normal_map_opengl.webp
Normal file
After Width: | Height: | Size: 803 KiB |
Before Width: | Height: | Size: 1.1 MiB |
BIN
textures/Poly-wood/render_map.webp
Normal file
After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 106 KiB |
BIN
textures/Poly-wood/roughness_map.webp
Normal file
After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 542 KiB |
BIN
textures/angled-blocks-vegetation/albedo.webp
Normal file
After Width: | Height: | Size: 566 KiB |
Before Width: | Height: | Size: 74 KiB |
BIN
textures/angled-blocks-vegetation/ao-roughness-metalness.webp
Normal file
After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 59 KiB |
BIN
textures/angled-blocks-vegetation/ao.webp
Normal file
After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 24 KiB |
BIN
textures/angled-blocks-vegetation/height.webp
Normal file
After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 582 B |
BIN
textures/angled-blocks-vegetation/metallic.webp
Normal file
After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 2.0 MiB |
BIN
textures/angled-blocks-vegetation/normal-dx.webp
Normal file
After Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 62 KiB |
BIN
textures/angled-blocks-vegetation/roughness.webp
Normal file
After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 165 KiB |
BIN
textures/calm-sea-skybox/bk.webp
Normal file
After Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 17 KiB |
BIN
textures/calm-sea-skybox/dn.webp
Normal file
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 56 KiB |
BIN
textures/calm-sea-skybox/ft.webp
Normal file
After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 79 KiB |
BIN
textures/calm-sea-skybox/lf.webp
Normal file
After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 105 KiB |
BIN
textures/calm-sea-skybox/rt.webp
Normal file
After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 23 KiB |
BIN
textures/calm-sea-skybox/up.webp
Normal file
After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 97 KiB |
BIN
textures/waternormals.webp
Normal file
After Width: | Height: | Size: 81 KiB |