本文主要是介绍【游戏编程扯淡精粹】HUD 与 Panel 的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【游戏编程扯淡精粹】HUD 与 Panel 的区别
文章目录
- 【游戏编程扯淡精粹】HUD 与 Panel 的区别
- What is HUD?
- What is Panel?
- 下面这些是 HUD 还是 Panel?
- Why?
- #1 侵入式界面与沉浸感
- #2 输入控制与界面导航
- #3 界面深度和界面栈
- #4 游戏类型和玩家操作实时性
- #5 玩家体验与时间观
本文主要指游戏中的界面
What is HUD?
抬头显示器,游戏里有时也称为覆层(Overlay),3D 场景上面再覆盖一层 2D 的界面显示信息
Head-up display - Wikipedia
HUD 最早来自飞行辅助驾驶,即下图中的玻璃板
What is Panel?
一般意义的界面,和 App 界面差不多
Panel (computer software) - Wikipedia
下图是 Prey 的技能加点界面
下面这些是 HUD 还是 Panel?
Loot
Inventory
Loot
小地图
大地图
Why?
其实从纯引擎程序的角度,HUD 和 Panel 并没有区别,都是 2D UI,一样构造控件树进行布局和渲染
以我不太多的开发经验,有一天我发现我好像不太能区分我现在在做的是一个 HUD 还是一个 Panel,所以。。
#1 侵入式界面与沉浸感
常驻 HUD 会占据屏幕的一部分面积,挡住 3D 场景
如果界面屏占比很高,花里胡哨的会降低沉浸感
HUD 要做到需要可视化一些关键元素,而过于侵入式的复杂信息要放到 Panel 中
HUD on
HUD off
#2 输入控制与界面导航
HUD 可操作交互的数量是有限的,因为按键是有限的,你还需要大部分按键用来操作 3D 游戏
实际上,大部分 HUD 并没有分配输入控制
没有输入的 HUD 分两种,常驻 HUD 显示玩家状态,比如血量,小地图;
非常驻 HUD 暗示游戏事件触发,比如播报
输入导航,简单来说,就是鼠标 Cursor,和手柄上下左右十字键,以及摇杆
HUD 不需要导航,Panel 需要导航
因为导航的输入控制和游戏 3D 操作是冲突的,比如角色移动和视角移动
所以需要按下 Esc 呼出 Panel,暂停游戏的 3D 部分操作,把控制权交给 Panel 进行操作
不过有例外情况,本质上是 Contextual Input,在一定状态下,可以把部分输入控制移交给 HUD 导航
比如 Prey 里 Loot 的时候,可以用十字键导航 Loot Container 里的 Slot,而离开 Loot 范围,退出 Loot 状态,十字键又是一般的快捷键了
#3 界面深度和界面栈
HUD 只有一层,Panel 可以嵌套成界面栈,按 Esc 一层层返回
写过类似 Panel Manager 的想必更加深刻理解
#4 游戏类型和玩家操作实时性
比如 PUBG 吃鸡,线上多人射击竞技,实时性高,所以 HUD 比重多一些,尽量减少玩家“暂停”游戏操作界面的机会
比如文明5,策略经营,下棋类,Panel 比重多一些,慢慢看,慢慢想,也不着急,每走一步都可以暂停
#5 玩家体验与时间观
玩家使用这个界面元素时,体验的哪种时间观?下面给出一些关键字:
- 过去:成长感、成就感、完成感、自豪感、参与感、进步感。
- 现在:紧急情况、反应、微观决策、生存、战术。
- 未来:发展、投资、延迟奖励、掌握、策略。
其实和前面提到的实时性有一些交集
HUD 强调当前状态,当前发生了什么事情
Panel 则强调过去和未来,之前已经做了什么,接下来要怎么规划
这篇关于【游戏编程扯淡精粹】HUD 与 Panel 的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!