pmndrs/cannon-es

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

Open

#15 opened on Apr 6, 2020

View on GitHub
 (5 comments) (0 reactions) (1 assignee)TypeScript (152 forks)github user discovery
enhancementhelp wanted

Repository metrics

Stars
 (2,030 stars)
PR merge metrics
 (PR metrics pending)

Description

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 !

Contributor guide