pmndrs/cannon-es

CANNON.Ray(...).intersectBody doesn't update direction itself

Aperta

#15 aperta il 6 apr 2020

 (5 commenti) (0 reazioni) (1 assegnatario)TypeScript (152 fork)github user discovery
enhancementhelp wanted

Metriche repository

Star
 (2030 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

new CANNON.Ray(vFrom, vTo).intersectBody(body) method doesn't work without using ray.updateDirection method (which was private in cannon.js).

body.addEventListener("collide", ({ contact }) => {
  if (!grounded) {
    const vFrom = body.position;
    const vTo = new CANNON.Vec3(0, -1, 0);
    const ray = new CANNON.Ray(vFrom, vTo);
    ray.updateDirection(); // <------ I shouldnt need to update the direction 
                            //         manually before using intersectBody
    ray.intersectBody(contact.bi);
    grounded = ray.result.hasHit;
  }
});

A bug also encountered here but you should dig into the code.

Also, thanks for your port and fork !

Guida contributor