Bonjour à tous,

Je n'en suit qu'un débutant en javascript et un copain m'a demandé un coup de main pour un travail qui dépasse mes compétences.

J'utilise la librairie THREE pour réaliser un projet 3D en HTML avec la suite POTREE.

J'ai donc une scène principale avec mon animation.
J'ai ajouté un DIV afin d'y mettre dedans un axisHelper qui soit orienté en fonction de la scène principale.
Ce que j'aimerais c'est que mon axisHelper pivote sur lui même en fonction de la rotation de la scène principale (pour cela, j'y arrive).
Toutefois, j'aimerais que ce axisHelper reste à l'intérieur de mon DIV.
Actuellement, il pivote autour d'un axe qui m'échappe.

Mon code
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
setAxis(sceneG){
		// DIV des axes XYZ
		var container = $("#potree_map_axis");
		// Dimensions du DIV
		var w = container.width();
		var h = container.height();
		// Nouvelle scène
		var scene = new THREE.Scene();	
		// Nouveaux axes YYZ
		var axisHelper = new THREE.AxisHelper(1000);
		// Couleur de fond
		var bg = '#000000';
		// Nouvelle camera
	        var camera = new THREE.PerspectiveCamera(75, 1, 1, 10000);
	        // La caméra récupère la position de la caméra de la scène générale
		camera.position.copy(sceneG.cameraP.position);
		// La caméra récupère la rotation de la caméra de la scène générale
		camera.rotation.copy(sceneG.cameraP.rotation);
	        // La camera vise les axes XYZ
	        camera.lookAt(axisHelper.position);
		// Création du rendu de la scène
	        var renderer = new THREE.WebGLRenderer({antialias: true});
		// Couleur de fond
	       renderer.setClearColor(bg);
		// Dimensions du rendu de scène
	        renderer.setSize(w, h);
		// Ajoute les axes XYZ à la scène
		scene.add(axisHelper);
		// Ajoute la caméra à la scène
		scene.add(camera);
		// Injecte le tout dans le DIV
		container.append(renderer.domElement);
 
		// Rotation des axes XYZ en fonction de la rotation de la scène principale
		function animate() {
		  requestAnimationFrame(animate);
		  camera.rotation.copy(sceneG.cameraP.rotation);
		  render();
		}
 
		// Actualise le rendu
		function render() {
			renderer.render(scene, camera);
		}
 
		animate();
	};
Merci beaucoup de votre aide