Javascript A帧超级手移动抓取的对象

Javascript A帧超级手移动抓取的对象,javascript,aframe,oculus,aframe-super-hands,Javascript,Aframe,Oculus,Aframe Super Hands,我正在用aframe-super-hands组件制作一个A-Frame项目。为了添加一个控制层,我尝试使用它,以便用户可以使用控制器的操纵杆使实体离控制器更近/更远,类似于Oculus Dash控件() 但是,当我尝试更新模型的位置时,正如我在抓取模型时所做的那样,它尝试移动,但在发出grab start时被设置的物理约束停止。是否有方法可以移动超级手抓取模型或重置应用于模型的约束 下面是我尝试更新抓取的盒子位置时的情况: 在代码方面,我所要做的就是用model.object3D.positio

我正在用
aframe-super-hands组件制作一个A-Frame项目。为了添加一个控制层,我尝试使用它,以便用户可以使用控制器的操纵杆使实体离控制器更近/更远,类似于Oculus Dash控件()

但是,当我尝试更新模型的位置时,正如我在抓取模型时所做的那样,它尝试移动,但在发出
grab start
时被设置的物理约束停止。是否有方法可以移动超级手抓取模型或重置应用于模型的约束

下面是我尝试更新抓取的盒子位置时的情况:


在代码方面,我所要做的就是用
model.object3D.position.sub()
更新位置,同时将
抓取开始
事件绑定到控制器。

如果我正确理解了你的问题,如果你在这里查看super hands页面中的物理示例代码,就可以解决这个问题

您将看到有一个组件连接到控制器,如下所示

AFRAME.registerComponent('phase-shift', {
  init: function () {
    var el = this.el
    el.addEventListener('gripdown', function () {
      el.setAttribute('collision-filter', {collisionForces: true})
    })
    el.addEventListener('gripup', function () {
      el.setAttribute('collision-filter', {collisionForces: false})
    })
  }
})
这“切换”物理约束,同时抓取我认为是你所追求的

很难知道你还做了什么,但是如果你还没有,你需要包括这个组件,以及超级手和物理。使该组件工作


我希望这会有所帮助。

碰撞力
只会使连接到控制器的
静态主体
穿过或碰撞对象。虽然我认为
碰撞力
框架物理附加部分
与我的问题无关,但我将去调查
框架物理系统
约束
组件: