(UE4)Unreal里GameMode ,Controller,Character,pawn, HUD之间的关系

xiaoxiao2021-02-28  13

1)Pawn是马甲,Controller是驱动马甲的大脑。 Controller和Pawn相对独立,不一定谁必须有谁。一个Controller至多能控制一个Pawn,一个Pawn至多能被一个Controller控制。

2)Character是Pawn的一种。 

至于Player,没有这个类,只是在Blueprint里有带有player字眼的节点,比如Get Player Character节点和Get Player Pawn节点。

Representing Players, Friends, and Foes in the World

Pawn

Pawn 是一个演员,可以是世界上的“代理人”。一个控制器(Controller)可以拥有一个Pawn,他们被设置为容易接受输入,他们

可以各种各样的其他类似玩家的东西。请注意,一个Pawn不被认为是人形。

Character

Character 是一个人形的 Pawn.它带有一个用于碰撞的CapsuleComponent和一个CharacterMovementComponent。它可以做

基本的类人动作,它可以在整个网络上流畅地复制动作,并且具有一些动画相关的功能。

Controlling Pawns With Player Input or AI Logic

Controller

Controller 是一个负责指挥Pawn的Actor。 他们通常有两种,AIController和PlayerController。一个Controller可以“拥有”

一个Pawn来控制它。

PlayerController

PlayerController 是Pawn和人类玩家控制它之间的接口。PlayerController实质上代表了人类玩家的意愿。

AIController

一个AIController就是它的声音。一个模拟的“意志”,可以控制一个Pawn。

Displaying Information to Players

HUD

HUD 是“抬头显示器”,或在2D屏幕上显示的是常见于许多游戏。考虑健康,弹药,枪瞄准器等。每个PlayerController通常具有其中

之一。

Camera

PlayerCameraManager是一个球员的“眼球”,并管理他的行为。每个PlayerController通常也有其一

Setting and Tracking the Rules of the Game

GameMode

 “游戏”的概念分为两​​类。游戏模式和游戏状态(Game Mode and Game State  是游戏的定义,包括像游戏规则的事情,

赢得条件。它只存在于服务器上。它通常不应该有太多的数据在播放过程中发生变化,绝对不应该有客户需要知道的瞬态数据。

GameState

游戏状态( GameState ) 包括游戏,这可能包括像关连球员名单,得分,那里的作品是一盘棋,或者你在一个开放的世界游戏

完成的任务是什么列表的状态。GameState存在于服务器和所有客户端上,并且可以自由复制以保持所有的机器都是最新的。

PlayerState

PlayerState是在游戏中,参与者的状态,诸如人类演奏者或者是模拟播放机的机器人。存在作为游戏一部分的非玩家AI不会有

PlayerState。在PlayerState中适当的示例数据包括玩家姓名,得分,类似于MOBA之类的比赛级别,或者玩家是否正在CTF

游戏中携带该旗子。所有玩家的PlayerStates都存在于所有机器上(不像PlayerControllers),并且可以自由复制以保持同步。

框架类关系

这个流程图说明了这些核心游戏类如何相互关联。游戏由GameMode和GameState组成。加入游戏的人类玩家与玩家控制器相关联。这些PlayerControllers允许玩家在游戏中拥有棋子,因此他们可以在关卡中拥有物理表征。PlayerControllers还为玩家提供输入控件,平视显示器或HUD,以及用于处理摄像机视图的PlayerCameraManager。

转载请注明原文地址: https://www.6miu.com/read-1900030.html

最新回复(0)