# 用户界面

游戏同玩家进行交互的方式是很重要的,User Interface(UI)和Heads-up Diaplay(HUD)是提供给玩家游戏信息的重要方式,它还允许玩家同游戏进行交互。UE4提供创建UI和HUD的多种方法,Canvas类算是在低层级上被用来直接在屏幕上画东西的类,可被层层叠加。

游戏的界面是用来给玩家传递信息,并提供提示玩家如何输入的手段。一个游戏界面一般包含两部分主要元素:HUD和UI。

  • HUD主要是显示信息,告诉玩家游戏的当前状态,分数,健康,剩余时间。HUD通常是不可交互的,意味着玩家不能点击HUD上的元素,通常很难区分开什么是HUD什么是UI。
  • UI涉及到菜单和其他交互元素。这些元素通常会像HUD一样在屏幕上显示,但是在某些情况下它们会在游戏世界的某些物体上渲染出来。UI的最明显例子是游戏中按下暂停显示的主菜单,但是其他的UI可能只是在游戏运行的时候显示信息,可能还会用来显示角色之间的对话,或者更复杂的情况,比如在RTS或RPG中,可以让玩家选择武器,盔甲,要建造的单位等等。

# HUD

HUD是基本的显示元素,每个玩家控制的角色都会有它自己的AHUD实例类,这个类会被绘制到它们自己的视口上,在分割屏幕的多人玩家情况中,多个屏幕分享同样的屏幕,但是每个HUD还是会被绘制到它们自己的视口上,HUD的种类一般是由游戏类型决定的。

# Canvas

Canvas是在HUD的渲染管线中用来把各种元素(text,texture,materail tiles,arbitrary triangles,simple primitive shapes)绘制到屏幕上的对象,使用Canvas是在UE4引擎中创建HUD和UI的基本方法。

# Slate

Slate是完全的可定制化,与平台无关的用户界面框架,旨在让创建工具和应用的用户界面(比如UE4的编辑器,或者游戏里的用户界面)这一过程变的高效有趣。它结合了声明式的语法,可以方便的设计,布局,组件化的构建UI。