Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 589
Требуется ограничить движение персонажа в пределах видимости камеры. Камера может двигаться, а может стоять на месте.
Камера не разворачивается и не двигается за персонажем.
На разных компьютерах может быть разное разрешение экрана. Поэтому по ширине может быть разное ограничение с учетом разрешения.

Как это можно сделать?
Аватара пользователя
Пользователь
Сообщения: 1297
Перевести координаты вьюпорта в world и двигая персонажа проверять что бы не вышел за них.
_________________
Мои работы.
Youtube Channel
Форум по геймдеву.
Аватара пользователя
Пользователь
Сообщения: 589
Deus Ex Machina писал(а):
Перевести координаты вьюпорта в world и двигая персонажа проверять что бы не вышел за них.


Как это вообще можно сделать?
Аватара пользователя
Супермодератор
Сообщения: 719
Насколько я понимаю вот эта нода делает что то похожее.
Изображение
_________________
Ничто не истинно. И если это утверждение истинно, то оно ложно. (c)
Аватара пользователя
Пользователь
Сообщения: 11
Я бы сделал через обратный метод - Project.

https://docs.unrealengine.com/latest/IN ... index.html


Перед тем как решить перемещать объект или нет, уточнить его новые координаты выходят за экран или нет.
_________________
Unreal Engine - это моя жизнь!
Аватара пользователя
Пользователь
Сообщения: 589
Спасибо за подсказку.

Я раньше в других движках делал ограничение путем сложных вычислений. Ну сейчас в Unreal хотелось бы упростить.
Была мысль сделать невидимые стены со своей коллизией, которые будут блокировать персонажа. Стены двигать вместе камерой.
Расстояние между стенами по ширине вычислять через деление ширины и высоты экрана и подобрать экспериментально. Что бы при разных разрешениях работало.
Аватара пользователя
Пользователь
Сообщения: 11
Не знаю про какие ты движки, но и в Юнити такое тоже имеется (проецирование). На счет CryEngine не помню.
_________________
Unreal Engine - это моя жизнь!
Аватара пользователя
Пользователь
Сообщения: 589
Геннадий-87 писал(а):
Не знаю про какие ты движки, но и в Юнити такое тоже имеется (проецирование). На счет CryEngine не помню.


Про старые бейсики я. Когда то ковырял их.
Теперь не важно это всё.
Аватара пользователя
Пользователь
Сообщения: 589
Пробовал использовать этот Project и Deproject. Так и не понял как можно привязать координаты вьюпорта с world координатами.
Мне не нужно что бы когда персонаж вышел за пределы камеры он начинал двигаться опять в пределы видимости.
Мне нужно жестко что бы он был привязан. Границы вьюпорта должны действовать как коллизия.

Решил проблему своими старыми методами. Поковырялся в старых своих исходниках и сделал свой Blueprint.
Выкладывать здесь скриншоты смысла нет. Потому что повторить сложно будет по ним.

У меня вычисляется всё через вычисления пересечений прямых в 2D координатах. С одного края экрана как бы одна прямая, с другого другая.Вместе они идут от камеры. И третья прямая как бы горизонтальная. Она движется вместе с персонажем. Точки пересечения прямых слева и справа являются ограничениями. Как только персонаж выйдет за пределы левой или правой линий, он возвращается в точку пересечения.


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница