[UE][UE5]Gameplay框架,actor,pawn,playerController,Character之间的关系
- Actor,pawn,playerController(玩家控制器),Character(角色)之间的关系
- Actor:
- pawn:
- character:
- 控制器(Controller):
- playerController:
- AIController:
- 如何判断逻辑写在pawn和playerController哪里比较好?
- Gameplay框架:
- 控制器(Controller):
- playerController:
- AIController:
Actor,pawn,playerController(玩家控制器),Character(角色)之间的关系
UE5中文讲解
官方讲解:https://docs.unrealengine.com/5.0/zh-CN/gameplay-framework-quick-reference-in-unreal-engine/
Actor:
大意就是一个模型。可以放在场景中。
pawn:
一个actor想要变得生动,就得有相应外部输入的能力,操作我们的角色,让角色和场景里的其他物体互动。
Pawn是可作为世界场景中"代理"的Actor。Pawn可被控制器所有,且可将其设置为易于接受输入,用于执行各种各样类似于玩家的任务。请注意,Pawn不被认定为具有人的特性。
character:
人形的pawn。大部分游戏中都会有用到人形的角色,既然如此,UE就为我们直接提供了一个人形的pawn让我们操纵。
控制器(Controller):
控制器是负责定向Pawn的Actor。包括:玩家控制器(playerController)和AI控制器(AIController)。一个控制器可以"拥有"一个Pawn来控制它。
playerController:
玩家控制器,是Pawn和控制Pawn的人类玩家之间的界面。玩家控制器基本上代表人类玩家的意愿。
AIController:
AI控制器,AI控制器和听起来一样;可以控制Pawn的模拟"意愿"。
不太理解的看下下面的Gameplay框架
如何判断逻辑写在pawn和playerController哪里比较好?
例如:在一个场景中,我们可以操控持有多个物体(pawn),一个立方体,一个球,一辆坦克。
坦克 具有移动和自动寻路两个功能,
立方体具有自动寻路功能,
球 具有自动寻路功能,
只有坦克具有开炮的功能,立方体和球都不具备,那么开炮这个功能就最好写在坦克的pawn中,但是呢他们3个都具有自动寻路功能,所以写在playerController里最好。
Gameplay框架:
我们可以看到,playerController包括HUD、Input、playerCameraManager
playerController和AIController都可以操控持有Pawn
游戏有游戏模式,游戏状态,
playerController参与游戏,而AIController不参与游戏
控制器(Controller):
控制器是负责定向Pawn的Actor。包括:玩家控制器(playerController)和AI控制器(AIController)。一个控制器可以"拥有"一个Pawn来控制它。
playerController:
玩家控制器,是Pawn和控制Pawn的人类玩家之间的界面。玩家控制器基本上代表人类玩家的意愿。
AIController:
AI控制器,AI控制器和听起来一样;可以控制Pawn的模拟"意愿"。