Как создать «капельную» коробку с супер-руками и физическим компонентом в кадре - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь воссоздать урезанную версию демоверсии superhands / physics a-frame здесь

Все захваты / перетаскивания / физика работают хорошо, но я не могу заставить коробку droppable инициировать событие при столкновении с draggable.

Вот скрипка с моим кодом (со всеми сценариями довольно длинная), но, пожалуйста, дайте мне знать, если вы хотите, чтобы я скопировал код здесь.

Я уверен, что мне здесь не хватает чего-то простого, но я не вижу этого, я чувствую, что у меня есть все, что есть в исходном примере, но я не могу запустить это событие, даже записать что-то на консоль.

Это мое первое занятие по физике и контролерам, поэтому извиняюсь за ошибки новичка. Я должен упомянуть, что я тестирую изначально на настольном компьютере, используя мышь для перетаскивания, в надежде, что работа с основами будет расширена до гарнитур.

Советы высоко ценятся, как никогда.

1 Ответ

0 голосов
/ 02 мая 2018

В вашей текущей конфигурации у вас есть только поле для захвата, но не цель для сбрасывания, видимая для обнаружения столкновений:

 progressive-controls="objects: .tape"

Измените это на селектор, который включает все интерактивные объекты в вашей сцене:

 progressive-controls="objects: .tape, #tape_player"

Внутренне, progressive-controls устанавливает обнаружение столкновений, используя либо A-Frame raycaster, для настольного и мобильного режимов, либо A-Frame Extras sphere-collider, для режима масштабирования помещения (или другой компонент по вашему выбору, если вы настраиваете конфиг). Он передает селектор, который вы определили в свойстве objects, тем компонентам, чтобы контролировать, какие объекты будут отслеживаться на предмет столкновений / пересечений, и только эти объекты будут интерактивными через super-hands.

Хорошей практикой является выбор различающего селектора, который нацелен только на объекты, которые вы хотите использовать в интерактивном режиме, поскольку обнаружение столкновений сопряжено со значительными потерями производительности, поэтому вы не хотите тратить время на проверку ненужных коллизий.

...