当前位置: 首页 > news >正文

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路径)

编辑 → 项目设置 → 引擎 → 输入

添加两个轴映射:

名称按键缩放值
MoveRightD1.0
MoveRightA-1.0
TurnMouse X1.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
输入无响应查看项目设置→输入→绑定名称是否拼写正确

请添加图片描述

关键知识点总结

  1. UE5.2.1项目创建
  2. 必须使用英文路径
  3. 空白模板最适初学者
  4. GameMode配置
    图表
代码

输入系统原理

概念作用
轴映射(Axis Mapping)连续值输入(如鼠标移动)
动作映射(Action Mapping)离散事件(如按键按下)

🚀 挑战任务:

添加空格键加速功能:

  1. 创建Action Mapping命名为"Boost"

  2. 按下空格时将Max Speed提高到1200

  3. 松开空格恢复800

下一篇预告:

➡️ 《自动前进与边界限制》—— 实现飞船自动前进、摄像机跟随、添加动态星空背景!

http://www.dtcms.com/a/321448.html

相关文章:

  • HEVC视频扩展免费下载
  • ISL9V3040D3ST-F085C一款安森美 ON生产的汽车点火IGBT模块,绝缘栅双极型晶体管ISL9V3040D3ST汽车点火电路中的线圈驱动器
  • Redis对象编码
  • 分布式系统性能优化实战:从瓶颈定位到架构升级
  • J2000与WGS84坐标系
  • Docker--docker的学习
  • Visual Studio 2019 + Qt + MySQL 开发调试全过程问题详解
  • 装配式建筑4.0:建筑工业化的智慧飞跃
  • 训练模型时梯度出现NAN或者inf
  • WiFi 核心概念与实战用例全解
  • git环境配置_笔记
  • [Linux]学习笔记系列 -- [arm[kernel]
  • modem上报SIM卡状态为unknown问题分析
  • 6_基于深度学习的火灾检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • 控制建模matlab练习13:线性状态反馈控制器-②系统的能控性
  • #C语言——刷题攻略:牛客编程入门训练(六):运算(三)-- 涉及 辗转相除法求最大公约数
  • JAVA,Maven聚合
  • 【记录】yumdownloader 和 yum install --downloadonly
  • Linux线程概念
  • 一洽客服系统:APP路由等级与路由条件设置
  • FreeRTOS入门知识(初识RTOS)(二)
  • NOIP普及组|2000T1进制转换
  • Spring Boot + Angular 实现安全登录注册系统:全栈开发指南
  • GPT-5 来了:和它改变世界的 982 天
  • 存储管理、XFS 增量备份恢复、LVM
  • Unity_VR_Pico开发手册
  • 防火墙安全作用及 firewalld 交互、端口配置
  • 基于嵌入式Linux RK3568 qt 车机系统开发
  • 前端单元测试最佳实践(一)
  • Linux系统编程Day9 -- gdb (linux)和lldb(macOS)调试工具