UE5太空射击游戏入门(二):场景搭建与自动飞行
基于UE5.2.1版本实战,本章将按逻辑顺序实现:创建宇宙场景→设置专业光照→导入星空背景→配置第三人称摄像机→实现自动飞行与控制。通过五个关键步骤,打造沉浸式太空飞行体验。
第一步:创建宇宙场景与光照系统
1.1 新建宇宙关卡
文件 → 新建关卡 → 选择"空白"
保存为Space_Level,双击打开
1.2 添加定向光源
添加Directional Light:
- 位置:(0,0,5000)
- 旋转:Pitch=-45°
- 光源颜色:B5DCFF (RGB:181,220,255)
- 强度:8 lux
1.3 配置曝光控制
添加PostProcessVolume:
- 最低亮度:1
- 最高亮度:1
- 启用无限范围
消除自动曝光导致的亮度波动,确保太空环境光照稳定
第二步:导入并设置宇宙背景
2.1 获取天空盒资源
UE商城搜索"Space Nebula Skyboxes"→ 免费添加到库
导入工程
2.2 设置动态星空
添加BP_Star_Dome到场景:
- 位置:(0,0,0)
- 旋转:(0,0,0)
- 缩放:(0,0,0)
- T Cubemap Color:TC_Skybox_05 (也可设置成其他的资源)
- T Cubemap Alpha:TC_Skybox_05_Alpha
设置好有可以看到如下的场景
接下来添加自转逻辑:
在关卡蓝图中添加自传逻辑
第三步:配置第三人称摄像机
3.1 修改飞船蓝图
打开BP_Spaceship:
将SpringArm的使用Pawn控制旋转打开
将飞机模型缩放改成0.3
在场景中添加玩家出生点并将位置调整为0,0,0,游戏开始的时候会将主角生成到这个出生点的位置上。
第四步:实现自由度控制与自动飞行
4.1 输入映射增强
编辑 → 项目设置 → 输入:
轴映射 按键 缩放值
MoveUp W 1.0
MoveDown S -1.0
LookUp Mouse Y -1.0
4.2 控制逻辑更新
// 在BP_Spaceship事件图表:
事件Tick → // 基础控制(保留第一章)获取MoveRight值 → 添加Movement输入(方向=右向量)获取Turn值 → 添加Yaw输入(值×0.5)// 新增垂直和俯仰控制获取MoveUp值 → 添加Movement输入(方向=上向量)获取LookUp值 → 添加Pitch输入(值×0.5)// 自动向前飞行(核心)添加Movement输入(方向=前进向量, 值=1.0)
最终效果测试
现在场景中只有天空盒和飞机,飞机移动的时候没有参考物体,会看不出来有移动。我们加几个测试的立方体进去。测试完移动后可以删除。
启动游戏
核心功能检查表:
功能 | 验证方式 | 预期效果 |
---|---|---|
光照稳定性 | 观察场景 | 无亮度波动 |
星空自转 | 注视背景 | 缓慢旋转 |
自动飞行 | 不操作飞船 | 持续前进 |
垂直控制 | 按W/S键 | 升降移动 |
俯仰控制 | 移动鼠标Y轴 | 飞船俯仰 |
关键知识点总结
光照系统核心:
- 定向光颜色:B5DCFF(冷白太空光)
- 强度:8 lux(太空环境参考值)
自动飞行实现:
// 每帧执行
添加Movement输入(方向=前进向量, 值=1.0)
场景构建顺序:
- 创建场景与光照
- 导入天空盒
- 配置摄像机
- 实现控制逻辑
🚀 扩展挑战:
实现"速度助推"系统:
- 按住Shift键时速度×2
- 摄像机距离缩短
- 引擎粒子变亮
- 播放加速音效
下一篇预告:
➡️ 《武器系统与战斗机制》—— 实现武器发射、敌机AI生成、护盾与伤害计算!