pmndrs/cannon-es

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

Open

#15 opened on 2020年4月6日

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)

説明

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 !

コントリビューターガイド