入门指南: 游戏性元素
概述
有几个游戏性元素实际上是所有使用虚幻引擎3或虚幻开发工具包创建的项目所共有的。自定义这些元素可以创建出完全独特的、外观和行为符合期望的游戏。没有任何两个项目是相同的,尽管虚幻引擎提供了这些元素的默认实现,但是肯定需要对它们进行很大的修改才能符合游戏设计的需要。
我们提供了基本游戏游戏快速入门指南 ,以便您帮助您熟悉创建您自己的游戏性类、构建项目并使其运行的过程。它详细介绍了如何创建一个空的游戏架构(尽管它实现的是第三人称视角游戏),然后无论您是正在设计针对移动设备平台还是PC平台的游戏,您都可以根据您的需要针对该架构进行自定义处理。
游戏类型概述
游戏类型负责处理游戏规则。它构成了游戏的架构,并且从本质上讲它是任何使用虚幻引擎3制作的游戏的基础。在类似于虚幻竞技场3这样的游戏中,游戏类型的概念是非常显著的。可以从菜单中直接选择很多游戏类型,比如Deathmatch(死亡竞技), Capture the Flag(夺取旗帜)等。在其他游戏中,游戏类型的概念可能不是那么的明显。比如单玩家平台游戏, 玩家没有看到明确的游戏类型;然而,却又明确的游戏规则和条件用于来判断什么情况才算完成了当前关卡。可能会对玩家有个时间限制,然后当玩家到达某个特定点或打败一个“boss”角色时便完成了这关。这些是游戏类型将要指定并跟踪的元素类型。更加复杂的情况是dungeon crawler(地城探险者)类型游戏。在主要的世界中,有一个主要的跟踪游戏进展和条件的游戏类型。在每个地下城中将有一个针对那个地下城的游戏类型,从而使得每个地下城是完全唯一的,并且具有它自己的一组规则集和目标。
GameInfo(游戏信息)
游戏的游戏类型是由GameInfo类控制的。游戏中包含的每种游戏类型都要创建一个这个类的子类。一个游戏可以有很多种游戏类型,但是给定时间仅能使用一种。当初始化关卡来获得游戏性 UGameEngine::LoadMap() 时便会实例化GameInfo actor。除非另行指定游戏类型,否则这种游戏类型将在关卡生命周期内使用。
这个类一般负责以下处理:
- 决定在哪里产生玩家。
- 赋予玩家适当的武器项。
- 设置时间限制。
- 记录玩家的 分数/技能 。
- 如果需要重置关卡。
- 判断游戏结束的条件。
游戏类型也指出了使用哪个类来构造玩家,使用哪个HUD类,及使得游戏类型是完全唯一的几个其他类。
关于游戏类型、GameInfo类、及创建自定义游戏类型的更多信息,请参照游戏类型技术指南页面。
玩家概述
虚幻引擎游戏中的每个玩家都由几个相互协作的系统组成。这些系统控制玩家的外观及行为,同时也控制它们看世界的角度、以及控制玩游戏的人的输入怎样解释为游戏中的动作。
PlayerController(玩家控制器)
虚幻引擎中的玩家及其他实体一般是由 Controllers(控制器) 控制的。 Controller 是实体的大脑,决定了实体的行为。玩家有他们自己特殊的的 Controller(控制器) ,既 PlayerController(玩家控制器) ,它具有从玩游戏的人那里获得输入并将其转换为动作的功能。
Pawn
尽管 PlayerController 构成了玩家的大脑,而 Pawn 是游戏中玩家或其他实体的物理展现或躯体。 Pawn 从 Controller 获取命令,并执行它们。这是处理玩家的动画、毁坏及其他物理相关方面问题的地方。
关于玩家系统、 Controllers 、 Pawns 及创建自定义玩家及角色的更多信息,请参照角色技术指南页面。
Camera(相机)
玩家进入世界的视角是由相机系统和 Camera 类处理的。这个类指出了从哪个位置及旋转值处把世界渲染到视口中。从本质上讲,是指玩家的眼睛。通过使用自定义的 Camera 类,或者甚至是一个完全自定义的相机系统,可以创建出一个全新的唯一的视角类型。比如,默认的视角是第一人称视角,既玩家本身是不可见的。就像玩游戏的玩家正在直接地从游戏中玩家的眼睛里看世界一样。通过使用自定义的 Camera 类,可以很容易地改变这个视角使它和游戏中的玩家视角偏移开来,从而使得玩游戏的人看到它们在游戏中的角色和世界。通过使用这个系统可以很容易地创建其他视角,比如自顶向下、侧面滚动及等轴视角。
输入
PlayerController 具有获得的玩家输入并把它转换为游戏中的动作的功能。这个输入来自 Input 类,尤其是 PlayerInput 类。这个类负责从控制器、键盘或鼠标获得按钮或按键按下的动作,并把它们转换为可用数据。然后当这个数据准备好后, PlayerController 获得这个数据进行处理。输入和相机系统及玩家查看游戏的方式紧密关联,因为不同的视角通常需要特定的控制玩家的方法。它们是单独的系统,但是以任何主要方法修改相机视角都将必须修改控制玩家所使用的玩家输入的方式。
关于相机系统、 Camera 类及创建自定义相机视角、以及玩家控制的更多信息,请参照相机技术指南页面。
HUD和UI概述
Heads Up Display (HUD)(平视显示器仪)是指在游戏过程中覆盖在屏幕上的状态及信息。HUD的作用是通知玩家当前的游戏状态,比如分数、生命值、剩余时间等。HUD是非交互性的,这意味着玩家不需要点击HUD上的元素,但在某些HUD和用户界面难以区分的游戏类型中这个会变成灰色区域。
用户界面(UI)是指菜单和其他的交互性元素。这些元素一般描画覆盖在屏幕上,和HUD很像,但是在某些情况下,它们可以是游戏世界本身的一部分,这时会渲染到世界的一个表面上。UI的最显著的示例是当游戏启动时显示的主菜单或者当玩家暂停游戏时显示的暂停菜单。但是,其它的UI可以在游戏过程中显示。这些UI可以用于在游戏中或者更复杂的情况中显示角色之间的对话,比如在RTS或RPG中,它们可以作为组成游戏性本身的一部分,从而使得玩家选择武器、装备及构建单元等。
HUD
HUD 类是在屏幕上显示元素的基类。游戏中的每个玩家有他们自己的HUD实例,将会描画到它们各自的视口中。要使用的HUD的类型或类是通过正在使用的游戏类型指定的。
关于 HUD 类及创建自定义HUD的更多信息,请访问HUD技术指南页面。
HUD 类可以使用两种主要的方法来在屏幕上显示元素: 画布描画或Scaleform GFx视频。
Canvas(画布)
Canvas 类包含了向屏幕(或者通过使用脚本贴图的其他表面)上描画文本和图像的所需的所有功能。每经过一次描画循环,就会把一个新的 Canvas(画布) 分配给 HUD ,并且可以使用那个画布向屏幕上描画必要的元素。
关于 Canvas 类及使用它向屏幕上描画元素的更多信息,请参照画布技术指南页面。
Scaleform
虚幻引擎3中集成的Scaleform GFx使得可以使用内置在Adobe Flash Professional中的运动图像作为游戏中的HUD和UI。它由一组代表视频、视频播放器及视频中包含的单独对象的类组成。可以在 HUD 中创建视频播放器,从而使得可以完全地控制在游戏中显示的视频。
关于Scaleform及它到虚幻引擎3的集成的更多信息,请参照Scaleform页面。
Scaleform系统的技术方面的信息在 Scaleform技术指南页面进行了详细描述。
Important!
You are viewing documentation for the Unreal Development Kit (UDK).
If you are looking for the Unreal Engine 4 documentation, please visit the Unreal Engine 4 Documentation site.