Unreal Engine

Unreal камера, движение на мышку

Unreal камера, движение на мышку

Продолжаем серию статей по настройке Unreal камеры для стратегической игры в реальном времени. Это третья статья в ней мы настроим камеру на движение и вращение через мышку.

1. Первая часть статьи – https://moi3d.ru/unreal-engine-5-5-1-kamera-nastrojka-peremeshheniya/

2. Вторая часть статьи – https://moi3d.ru/unreal-engine-5-kamera/

3. Четвертая часть статьи – https://moi3d.ru/nastrojke-kamery-unreal-engine-dlya-rts/

Видео в конце статьи.

Откроем наш проект и приступим.

Unreal камера. Подготовительный этап.

В папке “input” создадим новый «ввод». Щёлкнем правой кнопкой мыши – ВводДействие ввода. Зададим название «AI_Mouse_Control».

Откроем «AI_Mouse_Control» и в строке «Действие» – “Value Tupe” – установим на Axis2D(Vector2D). Сохраняем.

Unreal камера, движение на мышку
Blueprint

Теперь произведем назначение мыши. Найдем «Коллекция ввода устройств в назначение действия» в моем случае «AI_Camera_Control» добавим «Mappings». Выбираем «AI_Mouse_Control» – сохраняем.

Blueprint
Blueprint

Настраиваем логику передвижения в Blueprint на среднюю кнопку мыши.

Перейдем в «BP_Camera_Pawn» – «Event Graph». Здесь уже есть наша логика перемещения на кнопки, теперь необходимо добавить перемещение на мышь.

Unreal камера, движение на мышку
Blueprint

Вызовем узел – “Get_ AI_Mouse_Control”, произведем разделение Return Value на составные части (Разделить контакт структуры).

Blueprint
Blueprint

Добавим узел “Get Player Controller” => “Is Input Key Down” в контроллере Key установим на «средняя кнопка мыши», подключим его к узлу “Branch”, а “Branch” соединим с «Add Actor Local Rotation», от “Branch” так же вызовем узел “Add Actor Local Offset (локальное смещение)”.

Blueprint
Blueprint

Теперь к данной логике необходимо добавить скорость движения, для этого вызовем узел “Get Forward Vector” перемножим его на:

“Get_ AI_Mouse_Control”;

Переменную «CameraMaxSpeed»;

«Event Tick».

Blueprint
Blueprint

Соединим с “Delta location” узла “Add Actor Local”. Сохраним и проверим.

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

Unreal камера, движение на мышку
Blueprint

Настраиваем логику поворота в Blueprint на правую кнопку мыши.

Из узла “Branch” – false выведем новый “Branch” и из него получим «Add Actor Local Rotation». Теперь к новому “Branch” подключим логику нажатия кнопки мыши.

Добавим узел “Get Player Controller” => “Is Input Key Down” в контроллере Key установим на «правая кнопка мыши» и через Return Value подключим к “Branch”.

Теперь установим скорость поворота.

Вытащим переменную «CameraSpeedRotate» и умножим ее на:

“Get_ AI_Mouse_Control”;

«Event Tick».

Все подключим к «Add Actor Local Rotation» ко входу “Delta Rotation Z”.

Unreal камера, движение на мышку
Blueprint

Сохраним и проверим. Зажав правую кнопку мыши и двигая мышку в право и, влево увидим повороты камеры.

1. Первая часть статьи – https://moi3d.ru/unreal-engine-5-5-1-kamera-nastrojka-peremeshheniya/

2. Вторая часть статьи – https://moi3d.ru/unreal-engine-5-kamera/

3. Четвертая часть статьи – https://moi3d.ru/nastrojke-kamery-unreal-engine-dlya-rts/

 

Видео по теме:


полезные ссылки:

  1. Блог по моделированию на Rutub – https://rutube.ru/channel/24865428/
  2. Статьи по 3д в blender – https://moi3d.ru/category/stati/
  3. Создание игр на Unreal Engine 5 – https://moi3d.ru/category/unreal-engine/
  4. Начинающий блог  | Дзен (dzen.ru) – Начинающий блог | Дзен (dzen.ru)