UE5入门day5~day7

本文介绍了UE5中的游戏框架配置,包括GameMode、GameState、DefaultPawn、PlayerController、PlayerState和HUD等核心组件。此外,讨论了轴映射、操作映射的设置,以及Charactor类的功能,如Capsule碰撞检测。Controller类的角色和输入处理,以及事件分发器在蓝图交互中的作用也被详细阐述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近几天做了很多测试小项目,时间紧任务重,没能及时更新博客,让我们在今天总结近日的收获。

UE5中的游戏框架

在关卡界面的细节面板中,可以把默认的框架调整为手动创建的框架。今天我们先介绍以下几种主要的框架配置。
1.GameMode:构建和实现游戏的规则、模式。
2.GameState:游戏进程中的公有数据,比如计分板,所有成员都可以访问。
3.Default Pawn:默认的玩家。
4.PlayerController:控制器,是负责管理玩家的Actor类型对象,是Pawn与控制它的人类玩家之间的接口。
5.PlayerState:玩家数据,常用于线上同步数据。
6.HUD:是一种二维的屏幕显示信息,是绘制UI的入口,现在常用UMG替代。
2.26日更新:获取GameMode中设置的默认蓝图类被通用的函数封装了。例如GetPlayerCharactor节点可以返回GameMode中设置的默认PlayerCharactor类中的任何一个实例(用index选择)。这就意味着,所有蓝图实例都可以通过把这些默认加载的框架蓝图作为与其他实例交互的桥梁。

一些特性

1.GameModeBase是GameMode的基类。同理其他各种Base。在基类中,只能使用最基础的成员,一般情况下会重载成手写的Actor。
2.Charactor比Pawn有更加强大的功能,但自由度更差。

轴映射与操作映射

这两种映射都在 编辑-项目设置-引擎-输入 中调整。设置后可以作为事件在蓝图中调用,同时也可以用节点在蓝图中插入新的映射。

Charactor类

1.Capsule(胶囊体)常见于Charactor类中,大小可调,用于判定模型的碰撞。
2.模型的位置需要调整。直接导入的3Dmax、玛雅等输出的模型正方向是Y轴正方向,而在UE5中正方向是X轴正方向。把Z轴旋转角调整为-90即可。
3.可以通过调整Movement节点来控制角色的移动。与上文提到的轴映射、操作映射相结合(AddMovement),可以控制角色的移动。
4.Yaw控制绕Z轴的旋转,Pitch控制俯仰角。
5.勾选相机的UsePawnControlRotation,相机才会旋转镜头。但要注意,相机默认只接受Pitch的旋转。具体的接受细节可以在类默认值中调整。

碰撞检测

1.一般来说,在模型外新建一个碰撞检测盒来实现碰撞检测,细节面板中有事件。不要直接调用模型的碰撞检测事件(尤其是不可穿透的模型)。
2.OnComponentBegin/EndOverlap:组件碰撞后触发事件,可以直接从组件上拖出来创建。

Controller类

1.在Controller蓝图中,可以勾选显示鼠标,允许点击操作等属性。点击操作可以用用事件EventActorOfClass调用。
2.一般来说,外设输入的事件只能出现在Charactor类和Controller中。
3.通过GetAoctorOfClass可以获得某个Aoctor对象的全部数据,返回一个Actor类型数据,可以再通过Get节点获得其中具体的数据。若改变此Actor类型数据的值,会改变以此可以实现蓝图之间的交互。

事件分发器

1.事件分发器可以直接在左侧工具栏中添加,直接调用,但是在调用前必须与其他蓝图先实现关联。
2.Bind用于绑定事件分发器,而Call是调用事件分发器。
2.26更新:与直接get到目标类的实例后调用其事件不同的是,事件分发器是向所有绑定了事件的实例的一次广播。这一功能让实例之间一对一的调用接口变成了多对多的调用接口,大大简化了处理低耦合的实例的分批次调用。

### UE5的基础知识与入门教程 #### Unreal Engine 5 (UE5)简介 Unreal Engine 5 是由Epic Games开发的新一代游戏引擎,相较于之前的版本,它引入了许多先进的技术和特性,旨在提升开发者的工作效率以及最终产品的质量。这些改进不仅适用于游戏行业,还扩展到了影视制作、建筑可视化等领域。 #### 主要新特性和优势 1. **Lumen 实时光照系统** Lumen 提供了一种全动态全局光照解决方案,能够在不依赖预计算的情况下实现实时的间接光照效果。这使得开发者可以在复杂的环境中轻松实现高质量的光影交互[^4]。 2. **Nanite 虚拟化微多边形几何体** Nanite 技术允许导入具有极高细节级别的模型,并自动优化其显示方式以适应不同的硬件条件。这意味着艺术家们可以专注于创作而不必担心性能瓶颈问题[^4]。 3. **世界分区(World Partition)** 这一功能让大型开放世界的管理变得更加简单高效。通过将地图划分为多个区域并按需加载相关内容,显著减少了内存占用和加载时间。 4. **Chaos 物理与破坏系统** Chaos 提供了更精确且可扩展性的物理仿真能力,支持大规模粒子模拟及刚体碰撞检测等功能。 #### 如何开始学习UE5? 对于初学者来说,可以从以下几个方面入手: ##### 官方文档与资源 访问官方网站获取最新版安装包的同时也可以浏览丰富的在线帮助资料,其中包括详细的指南文章、视频课程等内容链接地址通常位于官网首页导航栏处或者专门设立的帮助中心页面内[^2]。 ##### 基础操作练习 熟悉界面布局及其主要组成部分;掌握资产导入导出流程;学会利用蓝图脚本来快速搭建原型场景等等都是必不可少的第一步实践环节之一[^1]。 以下是简单的C++集成示例代码片段用于演示如何设置玩家控制器与其他物体之间的互动逻辑关系: ```cpp // 包含必要的类定义头部文件 #include "BaseCoin.h" #include "BasePlayer.h" void AMyGameMode::BeginPlay() { Super::BeginPlay(); // 遍历当前关卡内的所有Actor实例对象列表 TArray<AActor*> FoundActors; UGameplayStatics::GetAllActorsOfClass(this, ABP_Coin::StaticClass(), FoundActors); for(auto& Actor : FoundActors) { auto* Coin = Cast<ABaseCoin>(Actor); if(Coin != nullptr && IsValid(Coin)) { // 执行特定行为... } } } ``` ##### 参加社区活动或论坛讨论 加入活跃的技术交流群组可以帮助解决实际编码过程中遇到的各种难题,同时还能了解到其他同行分享出来的宝贵经验教训[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值