禁用动态体内的光线投射器物理

时间:2018-08-18 12:56:45

标签: javascript physics aframe

我需要AFRAME方面的帮助,我是新手,还是遇到了问题。

我有下一个代码。

<a-entity dynamic-body id="a-pibot" collada-model="#model-pibot" scale="5 5 5" rotation="0 -5 0" position="2.14 0.1 -0.12">
      <a-entity id="secondaryCamera" position="0.1 0.02 0" rotation="-20 -90 0">
        <!-- Create a second third-person camera which cant be controlled, the Pibot camera -->
        <a-camera spectator="canvas:#spectatorDiv;" active="false" wasd-controls-enabled="false" look-controls-enabled="false"></a-camera>
      </a-entity>
      <a-entity id="positionSensor" dynamic-body="shape:none;" raycaster="enabled: true; far: 1; showLine: true; direction: 1 0 0; interval: 40;"  rotation="0 5 0" position="0.0 0.03 0.0" line="color: yellow; opacity: 0.8;"></a-entity>
    </a-entity>

基本上是一个具有物理特性的机器人模型,该机器人具有摄像头和光线投射器,我需要禁用光线投射器组件的物理作用,但我不知道如何。

有人可以帮我吗?

谢谢大家!

1 个答案:

答案 0 :(得分:0)

您不能禁用dynamic-body在子实体上的传播,因此可以使raycaster像这样跟随pibot:

AFRAME.registerComponent("foo", {
  init: function() {
    this.pibot = document.querySelector(#pibot)
  },
  tick: function() {
    this.el.setAttribute("position", pibot.getAttribute("position"))
  }
})

HTML     

就像我做了here