У меня проблема с тем, что мне нужно, чтобы моя камера была телом Kinemati c и сталкивалась с элементами стены, однако я не могу заставить ее оставаться на фиксированной высоте оси y, равной 1,6. Мне нужен способ держать камеру на такой высоте, сохраняя при этом ее атрибут kinemati c -body, потому что мне нужны столкновения со стенами для работы. Я приложил код, на котором я застрял до сих пор.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="https://aframe.io/releases/1.0.3/aframe.min.js"></script> <script src="//cdn.rawgit.com/donmccurdy/aframe-physics-system/v4.0.1/dist/aframe-physics-system.min.js"></script> <script src="https://cdn.jsdelivr.net/gh/donmccurdy/aframe-extras@v6.1.0/dist/aframe-extras.min.js"></script> <script src="https://rawgit.com/rdub80/aframe-gui/master/dist/aframe-gui.min.js"></script> <!--GUI Library--> <script src="https://unpkg.com/aframe-environment-component@1.1.0/dist/aframe-environment-component.min.js"></script> <!--Environment extension--> <title>Courtyard and Entrance Scene</title> </head> <body> <a-scene physics="debug: true"> <a-entity id="camera" position="0 1.6 0" camera look-controls wasd-controls="acceleration: 400" kinematic-body> <a-cursor></a-cursor> <a-gui-label id="playerLocation" width="1" height="0.2" font-size="4.5rem" padding="1rem 2rem" position="2 1.5 -2" value="gui label" > </a-gui-label> </a-entity> <!-- Floor --> <a-plane static-body material="color: grey" width="15" height="15" rotation="-90 0 0" position="0 0 0"></a-plane> <a-box width="10" height="5" depth="0.5" static-body material="color: red" position="0 0 -5"></a-box> </a-scene> </body> </html>
Любое понимание этой проблемы будет с благодарностью!
Смещения рассчитываются правильно при использовании буровой установки:
<a-entity id="rig" movement-controls kinematic-body> <a-entity id="camera" camera position="0 1.6 0" look-controls></a-entity> </a-entity>
Проверьте это в этой скрипке.