UE5入门day5~day7

闽涵蓄
2023-12-01

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

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到目标类的实例后调用其事件不同的是,事件分发器是向所有绑定了事件的实例的一次广播。这一功能让实例之间一对一的调用接口变成了多对多的调用接口,大大简化了处理低耦合的实例的分批次调用。

 类似资料: