Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

152
Views
¿Cómo puedo arreglar esta pared que tiembla en la colisión de cápsula a octárbol?

BH

En el ejemplo de three.js para un juego en primera persona https://threejs.org/examples/?q=game#games_fps , debe notar que en las esquinas se atasca, aparentemente porque choca con un lado y luego lo empuja hacia el otro lado (cuando hay menos de un ángulo de 90 grados), entonces ese lado lo empuja hacia el primer lado, y si uno sigue tratando de moverse, este proceso se sigue repitiendo.

La parte relevante de la colisión es https://github.com/mrdoob/three.js/blob/dev/examples/games_fps.html

 function playerCollisions() { const result = worldOctree.capsuleIntersect( playerCollider ); playerOnFloor = false; if ( result ) { playerOnFloor = result.normal.y > 0; if ( ! playerOnFloor ) { playerVelocity.addScaledVector( result.normal, - result.normal.dot( playerVelocity ) ); } playerCollider.translate( result.normal.multiplyScalar( result.depth ) ); } }

Primero solo verifica si está en el suelo (y si no, lo hace caer a lo largo de la pared con la que está chocando, o al menos eso es lo que creo que hace) luego lo desliza en la dirección opuesta a lo que choca, que aparentemente es lo que está causando el nerviosismo ya que simplemente lo empuja hacia la otra pared cuando está en un ángulo agudo.

Intenté ajustarlo pero no tengo idea de qué hacer o cómo comenzar, ¿alguna idea?

about 4 years ago · Santiago Gelvez
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!