代码之家  ›  专栏  ›  技术社区  ›  Doug Reeder

在A-Frame中,如何为实体指定大于其实际大小的碰撞大小?(使用aabb碰撞器或其他)

  •  1
  • Doug Reeder  · 技术社区  · 6 年前

    我有几个a-frame实体,我使用Kevin Ngo的aabb对撞机进行碰撞检测。对于其中一些,我想使用一个大于基于网格的边界框的边界框来检测“碰撞”。我可以使用aabb对撞机来实现这一点,还是应该切换到DonMcCurdy的球体对撞机?如果有,是否有示例代码?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Piotr Adam Milewski    6 年前

    我更倾向于使用DonMcCurdy的物理引擎,但如果你必须改变你的整个概念,那么找到一个解决方法就更容易了。这个 API 没有可以更改碰撞框/对象的属性。

    那么,制作一个比你的更大的看不见的物体,并检查与它的碰撞,怎么样?

    <a-entity geometry="primitive:box" camera wasd-controls 
    aabb-collider="objects: .collider" comp></a-entity>
    <a-sphere scale="3 3 3" position="0 0 -5"  class="collider"    
    material="color:green;opacity:0.1">
       <a-box color="blue"></a-box>
    </a-sphere>
    

    所以,我有我的相机,有一个长方体几何体,所以我可以飞入球体, 球体具有相应的碰撞器类,长方体是可见项。

    工作小提琴 here . 查看日志,它会打印出碰撞事件。