Форум

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

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

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

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

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

Есть для этого подходящая функция в b4w ?
28 декабря 2015 14:06
Это не подходит?
Дорогу осилит идущий
28 декабря 2015 14:27
Если я правильно понял, то в моём случае используется камера типа 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
а если эта hover_set_distance_limits(camobj, limits)? от нуля?
Дорогу осилит идущий
28 декабря 2015 14:41
Не понял Вас. Можно подробнее?
28 декабря 2015 14:49
ну как я понимаю, это как к нулю веревку привязали камера дальше веревки не уйдет, как бычок
Дорогу осилит идущий
28 декабря 2015 14:53
да, всё верно. Имено, это требуется сделать. Привязать быка за рога
28 декабря 2015 15:07
Поправка, я использую камеру типа TARGET. И установленные лимиты проблемы не решают. Объект можно перетащить за пределы видимости сцены, зажав правую кнопку мыши. Такая же проблема есть в демке автоконфигуратора https://www.blend4web.com/ru/demo/car_configurator/

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

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

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