我怎样才能在 A-Frame 中自动行走?
How can I auto walk in A-Frame?
对于我的 A-Frame 项目,我希望玩家在不依赖任何控制器或键盘的情况下继续前进。玩家应该始终向前移动,并且应该能够通过环顾四周来决定方向(不改变 z 值)。在相机上使用外观控件和在装备上使用移动控件(来自 aframe-extras)会产生这种行为,除了它仍然依赖于控制器这一事实。如何在 A-Frame 中实现自动行走?
<a-entity id="rig" movement-controls>
<a-entity id="camera" position="0 1.7 0" camera look-controls>
</a-entity>
如果您使用的是运动控制组件,您可以添加自己的“控件”。正如文档所说,您所要做的就是用“-controls”后缀命名它(参见 https://github.com/n5ro/aframe-extras/tree/master/src/controls#customizing-movement-controls )。这是“运动控制”的简单“自动行走”自定义控件组件的代码:
AFRAME.registerComponent('autowalk-controls', {
isVelocityActive: function () {
return true;
},
getVelocityDelta: function () {
return new THREE.Vector3(0, 0, -1);
}
});
您只需将它添加到“移动控件”的 控件 属性中即可使用它:
movement-controls="controls: autowalk"
对于我的 A-Frame 项目,我希望玩家在不依赖任何控制器或键盘的情况下继续前进。玩家应该始终向前移动,并且应该能够通过环顾四周来决定方向(不改变 z 值)。在相机上使用外观控件和在装备上使用移动控件(来自 aframe-extras)会产生这种行为,除了它仍然依赖于控制器这一事实。如何在 A-Frame 中实现自动行走?
<a-entity id="rig" movement-controls>
<a-entity id="camera" position="0 1.7 0" camera look-controls>
</a-entity>
如果您使用的是运动控制组件,您可以添加自己的“控件”。正如文档所说,您所要做的就是用“-controls”后缀命名它(参见 https://github.com/n5ro/aframe-extras/tree/master/src/controls#customizing-movement-controls )。这是“运动控制”的简单“自动行走”自定义控件组件的代码:
AFRAME.registerComponent('autowalk-controls', {
isVelocityActive: function () {
return true;
},
getVelocityDelta: function () {
return new THREE.Vector3(0, 0, -1);
}
});
您只需将它添加到“移动控件”的 控件 属性中即可使用它:
movement-controls="controls: autowalk"