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

217
Visualizações
Cómo crear una rotación aleatoria de X e Y para cada objeto generado aleatoriamente que se crea (Tres JS)

He estado trabajando en un proyecto personal mío usando Three JS como mi renderizador principal de objetos 3D y quería generar esferas aleatoriamente en coordenadas x, y y z aleatorias con un rango específico, pude hacerlo, pero ahora necesita que cada uno de estos objetos generados aleatoriamente tenga una velocidad de rotación colocada aleatoriamente a lo largo de sus ejes xy y z en un rango de 0,005 a -0,005. Pero no tengo idea de cómo abordar esto y cualquier ayuda sería muy apreciada, él es mi código de generación aleatoria y también el código para animar objetos 3D con los que ya he tratado:

 function randomStar(){ const geometry = new THREE.SphereGeometry(0.25, 24, 24); const starMaterial = new THREE.MeshBasicMaterial({color: 0xffffff, wireframe: false}); const star = new THREE.Mesh(geometry, starMaterial); const [x,y,z] = Array(3).fill().map(() => THREE.MathUtils.randFloatSpread(150)); star.position.set(x,y,z); star.rotation.x += 0.01; star.rotation.y += 0.01; scene.add(star); } Array(350).fill().forEach(randomStar); function animate() { requestAnimationFrame( animate ); torus.rotation.y += 0.005; torus.rotation.x += 0.005 torusOne.rotation.x += 0.002 torusOne.rotation.y += 0.005; torusTwo.rotation.y+= 0.005; torusTwo.rotation.x += 0.002 globe.rotation.y += 0.001 // controls.update(); renderer.render(scene, camera); } animate();
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede almacenar el valor aleatorio de rotación en la creación y animarlo en cada renderizado.

 star.userData.rx = Math.random() * 0.01 - 0.005; star.userData.ry = Math.random() * 0.01 - 0.005; star.userData.rz = Math.random() * 0.01 - 0.005; ... animate() { star.rotation.x += star.userData.rx; star.rotation.y += star.userData.ry; star.rotation.z += star.userData.rz; }

Hice un codepen aquí:
https://codepen.io/cdeep/pen/OJjVXqW

about 4 years ago · Juan Pablo Isaza 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