如何解决A-Frame Super Hands 旋转抓取对象
我正在研究 A-Frame、A-Frame Physics 和 Super Hands。我有一个简单的场景,我可以在其中放置一个对象(现在只是一个盒子)和一些控制器。当我在 VR 中查看这个场景时,我可以抓住盒子,移动它并调整它的大小,但我无法旋转或旋转对象。
我希望旋转与握住物体的手的旋转相匹配。所以如果我用右手抓住一个物体,然后转动那只手,物体应该旋转相同的量。
<a-scene
style="height: calc(100vh - 5rem)"
embedded
physics="debug: true; gravity: 0;"
>
<a-entity>
<a-camera></a-camera>
<a-entity
sphere-collider="objects: a-Box"
super-hands
hand-controls="hand: left"
></a-entity>
<a-entity
sphere-collider="objects: a-Box"
super-hands
hand-controls="hand: right"
></a-entity>
</a-entity>
<a-Box
color="blue"
position="0 1.4 -1"
depth="0.1"
height="0.8"
width="1"
grabbable
stretchable
draggable
dynamic-body
>
</a-Box>
</a-scene>```
解决方法
对于旋转,superhands 使用框架物理系统约束。
要在手和目标对象之间绑定约束,它们都需要是物理体。
在手上添加一个静态身体组件就足以让这一切正常工作。
例如
static-body="shape: sphere; sphereRadius: 0.02"
所以完整的手实体看起来像:
<a-entity
sphere-collider="objects: a-box"
super-hands
static-body="shape: sphere; sphereRadius: 0.02"
hand-controls="hand: left"
></a-entity>
这是显示此工作正常的故障:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。