pmndrs/cannon-es

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

Open

#15 创建于 2020年4月6日

在 GitHub 查看
 (5 评论) (0 反应) (1 负责人)TypeScript (152 fork)github user discovery
enhancementhelp wanted

仓库指标

Star
 (2,030 star)
PR 合并指标
 (PR 指标待抓取)

描述

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 !

贡献者指南