Bonjour,
J'utilise actuellement THREE.JS qui se base sur opengl.
C'est assez compliqué d'arriver à expliquer ce que je veux alors n'hésitez pas à me demander plus de détails.
Je voudrais créer un terrain vallonné random, seulement, la seule chose que j'arrive à faire ressemble à ça :
En gros, un terrain tout moche avec des pics de hauteur qui ressemble à tout sauf à la réalité
Je voudrais créer quelque chose de plus 'smooth', un terrain qui avec la même hauteur maximale, mais avec deux fois moins de pics par exemple.
Une idée?
Voici mon bout de code qui me génère tout ça
Bonne soirée à tous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 // texture ground_material = Physijs.createMaterial( new THREE.MeshLambertMaterial({ map: THREE.ImageUtils.loadTexture( 'img/material_map.jpg' ) }), .0, // high friction .0 // low restitution ); ground_material.map.wrapS = ground_material.map.wrapT = THREE.RepeatWrapping; ground_material.map.repeat.set( 2.5, 2.5 ); // plane + modif des vertices pour y ajouter un height maximal ground_geometry = new THREE.PlaneGeometry( 1000, 1000, 40, 40 ); for ( var i = 0; i < ground_geometry.vertices.length; i++ ) { var vertex = ground_geometry.vertices[i]; vertex.z = noise.perlin2( vertex.x / 10, vertex.y / 10 ) * 40; } ground_geometry.computeFaceNormals(); ground_geometry.computeVertexNormals(); // Material + Geometry pour créer le mesh ground = new Physijs.HeightfieldMesh( //ground = new Physijs.BoxMesh( ground_geometry, ground_material, 0 ); scene.add( ground );
Partager