Files
UnrealEngineUWP/Engine/Documentation/Source/Gameplay/Framework/QuickReference/QuickReference.CHN.udn
Jeff Wilson d0b4f4a0f7 Merging
//depot/UE4/Engine/Documentation/...

to //UE4/Main/Engine/Documentation/...

[CL 3032506 by Jeff Wilson in Main branch]
2016-06-29 09:53:20 -04:00

95 lines
4.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
INTSourceChangelist:2100967
Availability:Public
Title:游戏架构快速指南
Crumbs:%ROOT%, Gameplay, Gameplay/Framework
Description:关于构成游戏架构的游戏规则、角色、控制器、用户界面等类的概述。
Version: 4.9
type:reference
parent:Gameplay/Framework
order:2
tags:Gameplay Framework
基本游戏类包括表示玩家、盟友、敌人的功能以及使用玩家输入或AI逻辑控制这些角色的功能。还有一些类用于为玩家创建
抬头显示信息及相机。最后像GameMode、GameState及PlayerState这样的类用于设置游戏规则并且跟踪游戏及玩家的进展情况。
这些类都会创建某种类型的Actor这些Actor可以放置到关卡中或者根据需要来生成。
[OBJECT:IconSection]
[PARAM:icon]
![](Gameplay/Framework/pawn_lander.png)(w:300)
[/PARAM]
[PARAM:title]
代表世界中的玩家、好友及敌人
[/PARAM]
[PARAM:description]
$ Pawn : [](Gameplay/Framework/Pawn)是可以作为世界中的一个 “代理”的Actor。Pawn可以由控制器处理它们可以轻松地接受输入并且可以执行各种各样的类似于玩家的动作。
注意没有假定Pawn是类人的。
$ Character角色 : [](Gameplay/Framework/Pawn/Character)是类人的Pawn。它本身默认具有一个用于碰撞的CapsuleComponent胶囊体组件和CharacterMovementComponent (角色运动组件)。它可以进行基本的拟人运动,它可以平滑地在网络上复制运动,并且它具有一些动画相关的功能。
[/PARAM]
[/OBJECT]
[OBJECT:IconSection]
[PARAM:icon]
![](Gameplay/Framework/controller_lander.png)(w:300)
[/PARAM]
[PARAM:title]
使用玩家输入或AI逻辑控制Pawn
[/PARAM]
[PARAM:description]
$ Controller(控制器) : [](Gameplay/Framework/Controller)是负责管理Pawn的Actor。一般有两种控制器AIController 和PlayerController。控制器可以“具有”一个Pawn并控制他。
$ PlayerController玩家控制器 : PlayerController玩家控制器是Pawn和控制它的人类玩家间的接口。PlayerController本质上代表了人类玩家的意愿。
$ AIController (人工智能控制器): AIController正如其名是控制Pawn的一个仿真“意愿”。
[/PARAM]
[/OBJECT]
[OBJECT:IconSection]
[PARAM:icon]
![](Gameplay/Framework/camera_lander.png)(w:300)
[/PARAM]
[PARAM:title]
向玩家显示信息
[/PARAM]
[PARAM:description]
$ HUD : [HUD](Gameplay/Framework/UIAndHUD)是一种“平头显示信息”或者说是二维的屏幕显示信息在很多游戏中都很常见。想一下生命值、弹药量、枪支十字准线等。每个PlayerController一般都具有一些这样的信息。
$ Camera相机 : PlayerCameraManager是玩家的眼睛管理玩家如何表现。每个PlayerController一般也具有一个这样的类。关于更多信息请参照[相机工作流程](Gameplay/Framework/Camera)页面。
[/PARAM]
[/OBJECT]
[OBJECT:IconSection]
[PARAM:icon]
![](Gameplay/Framework/hud_lander.png)(w:300)
[/PARAM]
[PARAM:title]
设置及跟踪游戏规则
[/PARAM]
[PARAM:description]
$ GameMode游戏模式 : 游戏这个概念划分为两个类。[](Gameplay/Framework/GameMode)是游戏的定义,包括像游戏规则及获胜条件这样的内容。它仅存在于服务器上。它一般在游戏过程中不会有太多数据改变,并且它一定不应该具有客户端需要的临时数据。
$ GameState游戏状态 : [](Gameplay/Framework/GameState)包含了游戏状态这包括像关联玩家的列表、分数、象棋游戏中的象棋位置或者在开放世界游戏中已经完成的任务列表。GameState存在于服务器和所有客户端上可以自由地进行复制来保持同步。
$ PlayerState玩家状态 : PlayerState是游戏中的一个参与者的状态比如人类玩家或者模拟人类玩家的机器人。作为游戏一部分存在的非人类玩家AI没有PlayerState。PlayerState中适合包含的示例数据有玩家姓名、分数、像多人在线竞技场这样的比赛中的级别、或在夺旗模式游戏中玩家当前是否正占领旗帜。所有玩家的PlayerStates在所有机器上都存在(和PlayerControllers不同),并且可以自由地进行复制来保持同步。
[/PARAM]
[/OBJECT]
## 架构中类的关系
这个流程图解释了这些核心游戏类之间的关系。一个游戏由GameMode和GameState构成。加入游戏的人类玩家同PlayerController相关联。
这些PlayerController允许玩家在游戏中占有pawn以便它们在游戏中有物理表示。PlayerController也为玩家提供了输入控制、平头显示信息或HUD、
及处理相机视图的PlayerCameraManager。
[REGION:raw]
![](GameFramework.png)(w:550)
[/REGION]
关于游戏架构类的更多信息,请参照[](Gameplay/Framework)。