#threejs #webgl
Подскажите пожалуйста, мне нужно что бы мой комод двигался по нажатию на кнопки "вправо", "влево", "вперед" и "назад". Как это сделать? Это html часть: В js название модели commode. Вот например с помощью этого кода я изменяю цвет дивана, а вот как двигать обьекты не знаю как сделать( function choose_sofe(color) { switch (color) { case 'bt_organge': var orange = sofa.material.color.set("orange"); break; case 'bt_grey': var grey = sofa.material.color.set("grey"); break; case 'bt_green': var green = sofa.material.color.set("green"); break; } }
Ответы
Ответ 1
Как это можно сделать (просто рабочий концепт для понимания): var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 1000); camera.position.set(0, 10, 5); camera.lookAt(scene.position); var renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); scene.add(new THREE.GridHelper(10, 10)); var box = new THREE.Mesh(new THREE.BoxBufferGeometry(), new THREE.MeshNormalMaterial()); scene.add(box); btn_forward.addEventListener("click", onClick); btn_back.addEventListener("click", onClick); function onClick(event) { var action = event.target.id; console.log(action); var move = 0; switch (action) { case "btn_forward": move = -1; break; case "btn_back": move = 1; break; } box.position.z += move; } renderer.setAnimationLoop(() => { renderer.render(scene, camera); }); body { overflow: hidden; margin: 0; } #driving { position: absolute; }
Комментариев нет:
Отправить комментарий