Форум

Как реализовать привязку объектов в сцене (родитель-ребенок)?

27 декабря 2017 14:39
Делаю прожектор из 3х элементов
1. Скоба крепления. (главная)
2. Корпус прожектора. Вращается 0-90 градусов на скобе
3. Источник света - спот. Вращается соосно прожектору.
Прикрепил рисунок.


Планирую следующую интерактивность:
1. Задавать угол поворота Корпусу прожектора, и прожектор будет поворачиваться на кронштейне.
2. Менять расположение всего прожектора в сцене

Поворот - вроде понятен, делаем 90 кейфреймов, и включаем нужный при надобности.
Как перемещать отдельные объекты - понятно.
Но как реализовать перемещение всего прожектора? Мониторить клик на любом из объектов (тело прожектора или скоба), а потом двигать 3 объекта одновременно (еще и спот)? Предварительно правильно расставив пивоты всех трех моделей.

Либо как-нибудь навязать арматуру на эти 3 объекта, и b4w будет сам понимать, что надо двигать? С арматурой никогда не работал, может кто посоветовать хороший туториал по ней?

Или можно обойтись Parent-Child из блендера, предварительно отрегулировав пивоты?

Вроде бы файл fan.blend (из туториала cartoon interior) похож на мой случай. Сейчас буду ковырять, но не уверен что это оптимальный путь.

Вопрос:
Как реализовать такую задачу?
27 декабря 2017 15:15
Если я правильно понял вопрос.
Я бы решил все в лоб самый просто вариант что приходит на ум.
1. для перемещения можно использовать группу или родитель-потомок.
2. родителем бы сделал куб и включил у него selectable и do not render.

3. передвигал бы только куб в нод-редакторе или коде.

Про поворот.
Тут сложнее, но я бы сделал все через ноды поворачивая невидимый куб так же без кейфреймов и анимации.
Так как думаю что все это бы утяжелило бы сцену и процессор с арматурой и анимацией.

Хотелось бы услышать ответ от разработчиков на сколько выгодно делать поворот на нодах и перемещение чем на кейфреймах.
для работы - frostwork3d@gmail.com
telegram @Cheshire_Cat_x
(https://t.me/Cheshire_Cat_x)
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.