【问题标题】:A-Frame static-body on a-entity实体上的 A-Frame 静态主体
【发布时间】:2018-11-11 16:03:31
【问题描述】:

我正在尝试框架物理

我可以在形状对象上应用静态体属性:

<a-sphere color="red" width="2" height="2" depth="2" position="2 1 -5" rotation="45 0 0" static-body></a-sphere>

但不是在实体对象上,我仍然能够在对象中移动:

<a-entity static-body obj-model="obj:models/lamp_mesh.obj;mtl:images/lamp_mesh.mtl" rotation="0 90 0" position="5.46 0 0" animation></a-entity>

是否只能对形状对象应用静态/动态属性?

或者我在某处做错了什么

我看过很多关于形状对象的物理教程,但没有看到关于实体对象的教程。

请指教。 提前致谢。

【问题讨论】:

    标签: html aframe


    【解决方案1】:

    static-body 与任何&lt;a-entity&gt; 元素一起使用应该没有问题。 Here 你有一个链接,我将它与带有 gltf 模型的 &lt;a-entity&gt; 一起使用。


    physics 组件有一个有用的标志 debug: true

    <a-scene physics="debug: true">
    

    如果您在对象周围没有看到线框,则可能没有物理实体连接到它。


    确保你的模型加载正确,检查它周围的线框,如果没有,你可以:

    1) 将您的.obj 模型转换为网络标准.gltf(官方转换器here
    2) 手动创建physics 实体。来自docs

    <a-entity gltf-model="src: mug.glb"
          body="type: dynamic; mass: 5; shape: none;"
          shape__main="shape: cylinder;
                       height: 0.36;
                       radiusTop: 0.24;
                       radiusBottom: 0.24;"
          shape__handle="shape: box;
                         halfExtents: 0.15 0.18 0.04;
                         offset: 0.4 0 0;">
    </a-entity>
    

    【讨论】:

    • 链接中的示例,相机似乎仍然能够通过 gltf-model 和 a-entity,我猜相机需要具有类似静态属性的东西?
    • 球体应该从头部模型aframe-model-physics.glitch.me 反弹。我已经为model-loaded 添加了一个监听器,所以它们在头部出现之前不会掉落。我没有在相机上安装任何类型的身体。
    • 是否有可能使相机无法“穿过”球体或头部?
    • 哦,是的,我错过了运动学体属性。再次感谢您的帮助
    • 以前版本的aframe-extrasaframe-physics 很简单,请查看this anwser,但防止相机穿过障碍物并不是创作者的本意(因为aframe 是为 VR 创建的)。如果将静态物体附加到相机上,所有动态物体都会反弹,但您仍会穿过其他静态物体。最简单的方法是让相机在与墙壁相反的方向上加速一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多