pmndrs/cannon-es

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

Open

#15 aperta il 6 apr 2020

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

Metriche repository

Star
 (2030 star)
Metriche merge PR
 (Metriche PR in attesa)

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