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). Сохраняем.

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

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

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

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

Теперь к данной логике необходимо добавить скорость движения, для этого вызовем узел “Get Forward Vector” перемножим его на:
“Get_ AI_Mouse_Control”;
Переменную «CameraMaxSpeed»;
«Event Tick».

Соединим с “Delta location” узла “Add Actor Local”. Сохраним и проверим.
Теперь при нажатии на среднюю кнопку и двигая мышку вверх и вниз увидим, что камера перемещается вслед за движением мыши.

Настраиваем логику поворота в 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”.

Сохраним и проверим. Зажав правую кнопку мыши и двигая мышку в право и, влево увидим повороты камеры.
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/
Видео по теме:
полезные ссылки:
- Блог по моделированию на Rutub – https://rutube.ru/channel/24865428/
- Статьи по 3д в blender – https://moi3d.ru/category/stati/
- Создание игр на Unreal Engine 5 – https://moi3d.ru/category/unreal-engine/
- Начинающий блог | Дзен (dzen.ru) – Начинающий блог | Дзен (dzen.ru)