个人技术分享

10.14 战场场景中主视角UI系统功能开发

        在训练系统中,如何控制人物进行操作?如何使用UI瞄准器开动枪火进行攻击?如何使用二维的UI操作功能面板并且与3D世界进行交互?本节就来解决这些问题。下面将介绍3D战场世界中UI系统的开发,具体操作步骤如下所述。
        (1)打开战场场景BattleGame,然后在Project视图中搜索UI_GameMain预制体,它提供整个场景的UICamera。叠加渲染对应的UI预制体UI_MainInGame2,调整UICamera对UI资源渲染的层和3D世界Camera。它处理渲染层的过滤,在屏幕Game视图上渲染出场景和UI的叠加,如图10-20所示。

        (2)在整个战场环境中,UI需要有效显示出整个3D世界所需要的操作控件,并且提供一些辅助UI面板的启动入口。我们可以把整个战场环境中的UI分化成为不同的结构组件,在Hierachy视图中打开UI_MainInGame2面板的根节点。具体结构如下:
·ScrollView,是一个可以拖动的滑动面板。作为左上角地图的组件,从二维态势的面板上,缩放显示了任务的地点、当前任务和车辆移动所在的位置。
·右上角的任务事件和训练时间,使用Label在心跳函数中工作,保持了和当前系统训练时间同步跳动的计算。
·左下角使用LiaotianPanel作为根节点,包含了整个战场环境文字UI聊天面板的交互功能。