Unity 画布 HUD(Unity Canvas HUD)
由 JesusLuvsYooh / StephenAllenGames.co.uk 撰写
结果展示:

第一部分
空项目,从 Asset Store/ Discord Releases unity package 导入 Mirror。
打开你的场景,本指南中我们将使用 Mirror/Examples/Tanks。
你应该熟悉这些示例和默认的 NetworkManager HUD,它们看起来像这样:


第二部分
在场景中创建一个 Canvas,可以通过右键点击,UI Canvas,或者顶部菜单,GameObject,UI,Canvas 来创建。 将画布缩放器设置为“随屏幕大小缩放”,这将有助于保持所有内容在低分辨率和高分辨率屏幕上大小相同,并且最好在添加画布内容之前设置。
然后创建并将一个新脚本附加到画布上,我将其命名为 CanvasHUD。


第三部分
打开这个新脚本,并打开 Mirror 的 NetworkManagerHUD(供参考)。
将以下代码添加为 CanvasHUD 的起始模板。
在主 Canvas 中创建一个按钮,并将其拖放到 Canvas 的“ButtonHost”变量中。对于本指南,我们不会过多关注画布的布局和外观,但可以随意调整并将内容放置在你喜欢的位置 :)

第四部分
测试!启动游戏,按下你自己的“Host Button”,游戏应该开始。
恭喜,这是使用 Unity 画布与 Mirror 结合的第一步,并从 NetworkManagerHUD OnGUI 进行升级。

Part 5 (第5部分)
如果你检查旧的HUD,可以总结为2部分。在连接之前的“开始”和在连接之后的“停止”。
在画布内创建2个UI面板,将它们重命名为Panel Start和Panel Stop,从Panel Stop中移除图像组件,这样我们可以区分它们。
将你的“Button Host”拖放到Panel Start中。



Part 6 (第6部分)
将以下变量添加到你的CanvasHUD脚本中,这些变量涵盖了大部分所需内容。
接下来,添加更多UI!很激动人心吧!:D
暂时不用担心代码,查看下面的图像以了解所需内容。
在“Panel Start”内应该有3个按钮,inputField和可选的标题文本。 Panel Stop应包含一个按钮和2个文本,您可以在之后添加、移除和调整内容,但现在请按照此指南进行操作,以确保一切匹配。
将所有新的UI拖放到CanvasHUD脚本变量中,如果你在操作时都很好地标记了它们,那么这将是一个更容易的任务。

Part 7 (第7部分)
现在是让所有内容运作的代码部分,各部分将有注释来解释。 这就是全部,你现在已经制作了自己的Unity Canvas HUD UI,或者升级了OnGUI NetworkManagerHUD!:D
最后更新于
这有帮助吗?