Unreal Engine 4 https://uengine.ru/forum/ |
|
Поворот камеры при пересекающейся линии взгляда https://uengine.ru/forum/viewtopic.php?f=3&t=75207 |
Страница 1 из 1 |
Автор: | farwy [ 07 июн 2020, 02:10 ] |
Заголовок сообщения: | |
В первом видео показано то, что сейчас есть. https://www.youtube.com/watch?v=0QYRS03aamE&feature=youtu.be Во втором, то как нужно сделать, только в нем я сам нажимаю кнопки G и T для изменения вращения вручную с 60 до 90 градусов и обратно, когда немного отхожу от стены. https://www.youtube.com/watch?v=uBMnOF3vvhA&feature=youtu.be Так это выглядит в блюпринте: Вот как сделать это автоматически? Максимум, что я смог сделать со своим скудным знанием БП и поиском в интернете, это определить расстояние от камеры до игрока. Это есть на видео сбоку, показываются циферки, начиная с 600- это стандартная длина. И теперь, надо взять это значение и каким то образом, когда оно достигнет длины, например 500, то начиная с этого момента, включить изменение вращения по оси Y у камеры. Т.е. чтоб оно было например такое: При длине 500, угол камеры 60° При длине 499, угол камеры 61° При длине 498, угол камеры 62° При длине 497, угол камеры 63° И так допустим до момента, когда будет длинна 470 а угол камеры 90°. Ну и в обратную сторону. И есть одна закавырка. Если повернуть камеру на 90, то между игроком и камерой уже не будет объекта, и таким образом расстояние вернется к изначальному значению 600. И получается, отойдя от стены, ее длина не будет изменяться и она так и останется под углом 90 градусов, а надо чтоб вернулась на угол 60. Может тогда, это можно сделать как то иначе? |
Автор: | icms [ 08 июн 2020, 13:59 ] |
Заголовок сообщения: | |
Map Range Clamped в помощь! |
Автор: | Prytaleks [ 08 июн 2020, 15:02 ] |
Заголовок сообщения: | |
farwy писал(а): И есть одна закавырка. Если повернуть камеру на 90, то между игроком и камерой уже не будет объекта, и таким образом расстояние вернется к изначальному значению 600. И получается, отойдя от стены, ее длина не будет изменяться и она так и останется под углом 90 градусов, а надо чтоб вернулась на угол 60. Может тогда, это можно сделать как то иначе? Я такое делал давно, но без нахождения угла от 60 до 90, только 60 или 90, с двумя спринг армами, один основной с камерой, второй для возврата с пустышкой. также можешь взять себе в помощь пару спринг армов с пустышками компонентами, один для того что бы знать когда от камеры на 60 к персонажу, нет препятствий, второй для нахождения правильного градуса, третий спринг арм с камерой, он же основной, должен плавно принимать настройки, от от первого или второго, когда нужно, и плавненько менять свои значения. Все это можно сделать и без дополнительных спрингармов, но тогда тебе нужно хорошо дружить с математикой. Также тебе понадобится использовать таймер или евент тик, запускать лучи от пустышек спринг армов к персонажу, и получать данные. спрингармы для помощи с математикой, таймеры с лайнтрэйсами - бокстрэйсами для обнаружения, таймлайны для лерпа, или похожее на евентике, необходимо будет использовать. У меня получилось два таймера, один работал когда камера 60, другой когда 90, по очереди. |
Автор: | jeka3d [ 21 июл 2020, 01:22 ] |
Заголовок сообщения: | |
на тик или таймер повесить лайнтрейс от камеры до персонажа. если луч блокирован увеличить текущий угол спринг арма на 1, если луч не блокирован то уменьшить текущий угол на 1 мин макс угол надо ограничить, и поиграть лерпом на предмет скорости и плавности всего этого дела |
Автор: | Prytaleks [ 03 авг 2020, 11:41 ] |
Заголовок сообщения: | Re: |
jeka3d писал(а): на тик или таймер повесить лайнтрейс от камеры до персонажа. если луч блокирован увеличить текущий угол спринг арма на 1, если луч не блокирован то уменьшить текущий угол на 1 мин макс угол надо ограничить, и поиграть лерпом на предмет скорости и плавности всего этого дела если все делать так коротко, то камеру заглючит на первом перекрытии. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |