【问题标题】:How to translate A-Frame dynamic body如何翻译 A-Frame 动态体
【发布时间】:2018-07-24 15:16:02
【问题描述】:

我正在制作一个 A-Frame 项目,该项目将允许用户与数学模型进行交互。我将aframe-super-hands-componentaframe-physics-extras 一起使用,以获得良好的“睡眠”效果。为了添加一层控制,我试图让用户可以使用控制器的操纵杆使模型离控制器更近/更远,类似于 Oculus Dash 控件 (https://youtu.be/sMjlM5vFSA0?t=1m55s)。

但是,当我尝试更新模型的位置时,由于我的模型实体被定义为动态实体,它们不会移动。我知道我可以移除dynamic-body 组件,移动主体,然后重新连接dynamic-body,但我想避免这种情况,因为我计划在tick 中移动模型。有没有一种方法可以在不破坏dynamic-body 行为的情况下移动动态主体?

这是一个尝试更新框位置的示例的链接:https://codepen.io/kchen1250/pen/MBmRYo

【问题讨论】:

    标签: javascript html aframe webvr oculus


    【解决方案1】:

    您可以使用dynamic-bodys方法syncToPhysics()同步实体和dynamic-body的位置

    el.components["dynamic-body"].syncToPhysics()
    

    就像我做的here


    如果您需要,还有一个类似的syncFromPhysics()

    【讨论】:

    • 我试过这个,它有点工作。在我可以使用控制器抓取对象的主要项目中,该对象确实尝试移动,但无法移动很远:imgur.com/a/AfzmwzL
    • 更新:我认为你的回答是对的,我认为上面的奇怪行为是由于在尝试更新位置时触发了super-handsgrab 事件
    • 后续问题:有什么方法可以抑制超级手的抓取来移动被抓取的物体?
    • @kchen1250 我现在无法测试超级手,我建议为这个问题提出一个新问题
    • @PaulSlm 很高兴我能帮上忙 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2020-05-19
    • 1970-01-01
    • 2016-05-30
    • 2021-11-08
    相关资源
    最近更新 更多