Skip to content
Snippets Groups Projects
Commit ddf3b5ac authored by Thomas KANY's avatar Thomas KANY
Browse files

pompe a essence+brouillard + le chef

parent ed7b3964
No related branches found
No related tags found
No related merge requests found
...@@ -41,8 +41,12 @@ function fillScene() { ...@@ -41,8 +41,12 @@ function fillScene() {
capsuleBeton(); capsuleBeton();
dalleBeton(); dalleBeton();
poleAndFlag(); poleAndFlag();
house(); // TODO : à compléter //house(); // TODO : à compléter
pompe();
forest(); forest();
man();
scene.fog = new THREE.Fog(0x999999, 10000, 20000); // Couleur grise, densité du brouillard
} }
/** /**
...@@ -255,6 +259,61 @@ function house() { ...@@ -255,6 +259,61 @@ function house() {
scene.add(finalCubeMesh); scene.add(finalCubeMesh);
} }
/**
* Fonction qui gère les pompes a essences
*/
function pompe() {
const pompePositions = [
{ x: -2500, y: 0, z: 2000 },
{ x: -2800, y: 0, z: 650 },
{ x: -3000, y: 0, z: -700 }
];
pompePositions.forEach(position => {
// Base de la pompe (rectangle rouge)
const baseGeometry = new THREE.BoxGeometry(300, 1000, 300);
const baseMaterial = new THREE.MeshLambertMaterial({ color: 0xff0000 });
const base = new THREE.Mesh(baseGeometry, baseMaterial);
base.position.set(position.x, 500, position.z);
scene.add(base);
// Partie métallique supérieure (détail en acier)
const metalGeometry = new THREE.BoxGeometry(320, 50, 320);
const metalMaterial = new THREE.MeshStandardMaterial({ color: 0xaaaaaa, metalness: 1, roughness: 0.3 });
const metalTop = new THREE.Mesh(metalGeometry, metalMaterial);
metalTop.position.set(position.x, 1000, position.z);
scene.add(metalTop);
// Sprite pour le logo
const textureLoader = new THREE.TextureLoader();
const logoTexture = textureLoader.load('textures/logo.png');
const spriteMaterial = new THREE.SpriteMaterial({ map: logoTexture });
const sprite = new THREE.Sprite(spriteMaterial);
sprite.scale.set(300, 300, 0);
sprite.position.set(position.x, 1150, position.z + 20);
scene.add(sprite);
});
man();
}
/**
* Fonction qui affiche le chef au mileu des pompes a essences
*/
function man() {
const textureLoader = new THREE.TextureLoader();
const manTexture = textureLoader.load('textures/man.png');
const spriteMaterial = new THREE.SpriteMaterial({ map: manTexture });
const sprite = new THREE.Sprite(spriteMaterial);
sprite.scale.set(600, 900, 0);
sprite.position.set(-2600, 600, -200); // Position entre les pompes et légèrement devant
scene.add(sprite);
}
/** /**
* Fonction qui gère la forêt * Fonction qui gère la forêt
*/ */
...@@ -355,7 +414,7 @@ try { ...@@ -355,7 +414,7 @@ try {
fillScene(); fillScene();
animate(); animate();
} catch (e) { } catch (e) {
var errorReport = "Your program encountered an unrecoverable error, can not draw on canvas. Error was:<br/><br/>"; var errorReport = "Error :<br/><br/>";
$('#webGL').append(errorReport + e); $('#webGL').append(errorReport + e);
} }
Arbre poly : https://www.turbosquid.com/3d-models/3d-low-poly-trees-1431822 Arbre poly : https://www.turbosquid.com/3d-models/3d-low-poly-trees-1431822
\ No newline at end of file Formule 1 : https://free3d.com/3d-model/formula-1-lowpoly-87257.html
sign: https://www.pngegg.com/fr/png-ctuzm
\ No newline at end of file
ALVARIZA-BILLAR_DESERT_KANY/textures/logo.png

20.8 KiB

ALVARIZA-BILLAR_DESERT_KANY/textures/man.png

123 KiB

ALVARIZA-BILLAR_DESERT_KANY/textures/sign.png

25.2 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment