UE5太空射击游戏入门(一):项目创建与飞船控制
本文基于UE5.2.1版本实战编写,零基础也能轻松上手!我们将创建项目、导入飞船模型,并实现基础的移动控制。最终效果:用键盘控制飞船左右平移和旋转(俯视角2.5D效果)。
第一步:创建UE5.2.1项目
打开Epic Games启动器,切换到Unreal Engine标签页
点击右上角黄色按钮启动 → 选择5.2.1版本
在项目浏览器中:
选择游戏(Games) → 空白(Blank)模板
关键设置:
- 项目位置:D:\UE_Projects\(避免中文路径)
- 项目名称:SpaceShooterTutorial
- 蓝图/ C++:选择`蓝图(Blueprint)`
- 初学者内容包:勾选`包含初学者内容包` 点击创建(Create)
第二步:创建游戏模式
创建自定义GameMode:
在内容浏览器:右键 → 蓝图类 → 游戏模式基础 → 命名GM_SpaceShooter
双击打开 → 在类(Classes)区域设置:
[x] Default Pawn Class → 选择None(稍后绑定)
[x] HUD Class → 选择None
配置项目设置:
编辑器顶部菜单:编辑(Edit) → 项目设置(Project Settings)
左侧选择地图和模式(Maps & Modes):
- 默认游戏模式:选择刚创建的GM_SpaceShooter
第三步:导入飞船模型
使用UE商城的免费资源Spaceship Modular Star Sparrow:
打开UE商城 → 搜索名称 → 点击免费添加到账户
回到编辑器:库(Library) → 找到资源 → 添加到工程 → 选择之前创建的工程
导入后:
打开内容浏览器:内容 → StarSparrow → Meshes → Examples
将SM_StarSparrow01拖入场景
⚠️ 材质修复:
若模型显示粉色 → 打开Materials文件夹 → 拖拽材质球到模型上
第四步:创建飞船控制蓝图
1. 创建Pawn蓝图
在内容浏览器右键 → 蓝图类 → 父类搜索Pawn → 命名BP_Spaceship
双击打开蓝图编辑器
2. 添加组件(UE5.2.1新布局)
3. 组件参数配置:
组件 | 参数 | 值 |
---|---|---|
静态网格体(Static Mesh Collision) | 静态网格体 | SM_StarSparrow01 |
浮动pawn移动(Floating Pawn Movement) | 加速度(Acceleration) | 2000 |
减速度(Deceleration) | 1500 |
第五步:实现键盘控制
1. 绑定输入按键(UE5.2.1路径)
编辑 → 项目设置 → 引擎 → 输入
添加两个轴映射:
名称 | 按键 | 缩放值 |
---|---|---|
MoveRight | D | 1.0 |
MoveRight | A | -1.0 |
Turn | Mouse X | 1.0 |
2. 编写控制逻辑
在BP_Spaceship事件图表:
// 伪代码结构:
事件Tick(每帧执行)→获取Turn轴值 → 添加Yaw输入(值×0.5)→获取MoveRight轴值 → 添加Movement输入(X=输入值,Y=0,Z=0)
UE5.2.1节点变化注意:
添加Movement输入节点现在需要明确方向向量
正确设置:
World Direction → 获取Actor右向量(Get Actor Right Vector)
Scale Value → MoveRight轴值
第六步:关联Pawn与GameMode
打开GM_SpaceShooter蓝图
在Classes区域:
[x] Default Pawn Class → 选择BP_Spaceship
保存所有更改(Ctrl+Shift+S)
第七步:测试与调试
点击顶部播放按钮(或按Alt+P)
测试效果:
A/D键 → 左右平移
鼠标移动 → 左右旋转
UE5.2.1调试技巧:
问题 | 解决方案 |
---|---|
飞船原地旋转 | 检查是否添加了Floating Pawn Movement组件 |
移动方向错误 | 确认AddMovementInput使用GetActorRightVector |
输入无响应 | 查看项目设置→输入→绑定名称是否拼写正确 |
关键知识点总结
- UE5.2.1项目创建
- 必须使用英文路径
- 空白模板最适初学者
- GameMode配置
输入系统原理
概念 | 作用 |
---|---|
轴映射(Axis Mapping) | 连续值输入(如鼠标移动) |
动作映射(Action Mapping) | 离散事件(如按键按下) |
🚀 挑战任务:
添加空格键加速功能:
-
创建Action Mapping命名为"Boost"
-
按下空格时将Max Speed提高到1200
-
松开空格恢复800
下一篇预告:
➡️ 《自动前进与边界限制》—— 实现飞船自动前进、摄像机跟随、添加动态星空背景!