Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

309
Visualizações
¿Cómo giro lentamente un cubo 90 grados en three.js?

Mi método actual de rotar el cubo lo rota inmediatamente. Me gustaría mostrar un movimiento giratorio para que el usuario pueda ver la rotación del cubo, en lugar de que los lados del cubo cambien de color inmediatamente cuando presiono la tecla 'a', 'w', 'd' o 's' (ya que la rotación es inmediata).

¿Cómo hago que el cubo gire lentamente?

El siguiente código es actualmente cómo estoy rotando el cubo:

 boxWidth = 1; boxHeight = 1; boxDepth = 1; const geometry = new THREE.BoxGeometry(boxWidth, boxHeight, boxDepth); const materials = [ new THREE.MeshBasicMaterial({color: 0x0000ff}), new THREE.MeshBasicMaterial({color: 0xffffff}), new THREE.MeshBasicMaterial({color: 0xffff00}), new THREE.MeshBasicMaterial({color: 0x008000}), new THREE.MeshBasicMaterial({color: 0xffa500}), new THREE.MeshBasicMaterial({color: 0xff0000}), ] const cube = new THREE.Mesh(geometry, materials); function onDocumentKeyDown(event) { console.log(event); if (event.keyCode == 87) { // w button cube.rotateX(Math.PI / 2); } else if (event.keyCode == 83) { // s button cube.rotateX(-Math.PI / 2); } else if (event.keyCode == 65) { // a button cube.rotateY(-Math.PI / 2); } else if (event.keyCode == 68) { // d button cube.rotateY(Math.PI / 2); } }; document.addEventListener("keydown", onDocumentKeyDown, false);
about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Un enfoque para animar una orientación a otra es Quaternion.rotateTowards() .

Lo que necesita para usar este método es una fuente y una orientación de destino, así como el paso angular que describe qué tan rápido gira su cubo. El siguiente enlace muestra el uso del método en un pequeño ejemplo. La sección de código relevante está en la función animate() y se ve así:

 const delta = clock.getDelta(); if ( ! mesh.quaternion.equals( targetQuaternion ) ) { const step = speed * delta; mesh.quaternion.rotateTowards( targetQuaternion, step ); }

Este código esencialmente significa: Siempre que la orientación de la malla no sea igual a la orientación del objetivo, realice una transición gradual de la orientación actual a la del objetivo.

https://tresjs.org/ejemplos/webgl_math_orientation_transform

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda