Форум

Лимиты на перемещение камеры Transform внутри сцены

28 декабря 2015 14:00 #6125
Приветствую, уважаемые!

Можно ли установить ограничение на перемещение камеры (Transform), которая свободно перемещается внутри сцены?

Пока я придумал, только сделать проверку позиции камеры по x,y,z. Если камера удаляется дальше чем на 150, тогда задаём заново позицию камеры на стартовую при помощи set_translation(camObj, 0, 0, 0). Это работает, но это не совсем то, что хотелось бы видеть.

Хотелось бы, сделать так, чтобы камера при свободном перемещении не могла удалится от стартовых координат дальше установленного лимита.

Есть для этого подходящая функция в b4w ?
28 декабря 2015 14:06 #6126
Это не подходит?
Дорогу осилит идущий
28 декабря 2015 14:27 #6127
Если я правильно понял, то в моём случае используется камера типа Hover и чтобы установить ей лимиты, надо использовать функции hover_set_horiz_trans_limits() и hover_set_vert_trans_limits()
Вот ссылка на документацию https://www.blend4web.com/api_doc/module-camera.html#.hover_set_horiz_trans_limits

Правильно?
28 декабря 2015 14:31 #6128
а если эта hover_set_distance_limits(camobj, limits)? от нуля?
Дорогу осилит идущий
28 декабря 2015 14:41 #6131
Не понял Вас. Можно подробнее?
28 декабря 2015 14:49 #6133
ну как я понимаю, это как к нулю веревку привязали камера дальше веревки не уйдет, как бычок
Дорогу осилит идущий
28 декабря 2015 14:53 #6134
да, всё верно. Имено, это требуется сделать. Привязать быка за рога
28 декабря 2015 15:07 #6135
Поправка, я использую камеру типа TARGET. И установленные лимиты проблемы не решают. Объект можно перетащить за пределы видимости сцены, зажав правую кнопку мыши. Такая же проблема есть в демке автоконфигуратора https://www.blend4web.com/ru/demo/car_configurator/

28 декабря 2015 15:26 #6136
target_set_distance_limits(camobj, limitsnullable)
не?
А почему бы прямо в блендере не задать лимиты? удобней вроде. тем более с этой версии они теперь там наглядно отображаются
Дорогу осилит идущий
28 декабря 2015 15:43 #6138
target_set_distance_limits(camobj, limitsnullable) - это функция задаёт минимальное и максимальное значение дистанции от пивота до камеры, но когда перетаскиваешь камеру зажав правую кнопку мыши, также перетаскиваешь точку пивота. Соответственно этот лимит не подходит.

Вроде подходящего лимита предусмотренного движком для данной ситуации нет.

Но вариант с блендером может сработать, надо попробовать.
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.