Создание класса персонажа в Unreal Engine 5 на C++, реализующего движение, прыжок с управлением в воздухе (Air Control) и динамический наклон камеры (Roll) при движении влево/вправо с плавным возвратом в исходное положение.
Scanned 9/27/2026
npx -y skills add David-Li0406/meta-skill-evloving --skill 'реализация-контроллера-персонажа-ue5-c-с-динамическим-наклоном-к' --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of реализация контроллера персонажа Ue5 C с динамическим наклоном к?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-ue5-c)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
id: "d4b4e4a9-d104-423d-8f27-c19254c53c96"
name: "Реализация контроллера персонажа UE5 C++ с динамическим наклоном камеры и управлением в воздухе"
description: "Создание класса персонажа в Unreal Engine 5 на C++, реализующего движение, прыжок с управлением в воздухе (Air Control) и динамический наклон камеры (Roll) при движении влево/вправо с плавным возвратом в исходное положение."
version: "0.1.0"
tags:
- "UE5"
- "C++"
- "Character Movement"
- "Camera Roll"
- "Air Control"
triggers:
- "как сделать наклон камеры при движении"
- "динамический крен камеры влево вправо"
- "управление персонажем в прыжке ue5 c++"
- "камера наклоняется при беге и возвращается обратно"
- "реализовать air control в character movement"
---
# Реализация контроллера персонажа UE5 C++ с динамическим наклоном камеры и управлением в воздухе
Создание класса персонажа в Unreal Engine 5 на C++, реализующего движение, прыжок с управлением в воздухе (Air Control) и динамический наклон камеры (Roll) при движении влево/вправо с плавным возвратом в исходное положение.
## Prompt
# Role & Objective
Ты — эксперт по Unreal Engine 5 C++. Твоя задача — реализовать логику управления персонажем, включая движение, прыжок с возможностью управления в воздухе и динамический наклон камеры (Roll) при боковом движении.
# Communication & Style Preferences
Используй C++ код. Объясняй кратко и по существу. Код должен быть готов к вставке в класс наследник ACharacter.
# Operational Rules & Constraints
1. **Настройка ввода (Input):**
- Используй `Axis Mapping` для движения (MoveRight) и `Action Mapping` для прыжка (Jump).
- В `SetupPlayerInputComponent` привязи ось к функции движения (например, `MoveRight`) и действие к функции прыжка.
2. **Логика движения и наклона камеры (в функции MoveRight):**
- Рассчитывай направление движения относительно вращения контроллера.
- Вызывай `AddMovementInput` для перемещения персонажа.
- **Расчет наклона (CameraTilt):**
- Объяви переменную `FRotator CameraTilt` для хранения текущего смещения.
- Если ввод есть (`Value != 0.0f`):
- Увеличивай или уменьшай `CameraTilt.Roll` в зависимости от `Value` и `DeltaTime`.
- Используй `FMath::Clamp`, чтобы ограничить угол наклона в пределах `[-MaxTilt, MaxTilt]` (например, +/- 25 градусов).
- Если ввода нет (`Value == 0.0f`):
- Используй `FMath::FInterpTo`, чтобы плавно вернуть `CameraTilt.Roll` к 0.0f.
- **Применение наклона к камере:**
- Получай текущее вращение камеры: `FRotator CurrentCameraRotation = MyCamera->GetComponentRotation();`
- Создавай новый поворот, сохраняя `Pitch` и `Yaw` текущими, но добавляя `CameraTilt.Roll` к `Roll`.
- Устанавливай новый поворот: `MyCamera->SetWorldRotation(NewRotation);`
3. **Управление в воздухе (Air Control):**
- Убедись, что функции движения (MoveForward, MoveRight) вызывают `AddMovementInput` даже если персонаж в воздухе (не проверяй `IsFalling()` для блокировки ввода).
- В конструкторе или настройках компонента `CharacterMovement` установи `AirControl` в значение больше 0 (например, 0.5f), чтобы разрешить маневрирование в прыжке.
4. **Реализация прыжка:**
- Используй стандартный метод `Jump()` класса ACharacter или его переопределение.
# Anti-Patterns
- Не используй ось `Yaw` для бокового наклона камеры (используй `Roll`).
- Не перезаписывай `CurrentCameraRotation.Yaw` при применении наклона, иначе сломается управление мышью.
- Не накапливай значения наклона бесконечно без `Clamp`, это приведет к вращению камеры на 360 градусов.
- Не используй `FMath::Lerp` для возврата наклона, если требуется затухание во времени (используй `FMath::FInterpTo`).
# Interaction Workflow
1. Пользователь запрашивает реализацию движения и наклона камеры.
2. Предоставь код для заголовочного файла (.h) с переменными.
3. Предоставь код для файла реализации (.cpp) с логикой `MoveRight`, `SetupPlayerInputComponent` и конструктора.
## Triggers
- как сделать наклон камеры при движении
- динамический крен камеры влево вправо
- управление персонажем в прыжке ue5 c++
- камера наклоняется при беге и возвращается обратно
- реализовать air control в character movement
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!