UI Toolkit是Unity内置的一个游戏UI解决方案。借鉴了web前端的设计模式。
web前端使用css,html,js。
其中css定义样式
html定义层级
js处理逻辑
UI Toolkit则是使用uss,uxml,C#
如果直接使用Unity提供的可视化UI创建工具创建UI面板,一个一个添加元素,只会生成uxml文件,样式直接通过内联样式的形式给出。
UI,User Interface的缩写。UI通常被认为是前端。所谓前端的本质,其实就是数据的映射。把数据映射成更加适合用户操作的模式,这就是前端。
我们通常需要解决几个问题:
数据输入:
数据处理:
数据输出:
在Unity中,我们可以从.csv文件中读取数据,作为数据的输入。这通常可以作为单机游戏的固定参数处理方式。比如各个等级的游戏数据。
如果涉及到联机模式,我们可能需要考虑从网络获取数据输入。
数据处理。Unity的UI Panel提供了事件和操纵器处理用户输入。
数据输出。我们需要把数据以一定的模式输出到用户界面。
在Unity的UI编辑器中,我们可以通过可视化的方式创建UI内容。这个UI是支持FlexBox模式的。
创建完成的UI Document如何使用呢
在场景的根节点下挂载一个空对象。
重命名为Screen。
在Screen上挂载一个UI Document组件。
把设置文件拖动到插槽中。
把刚才生成的uxml文件拖动到插槽中。
在Screen上挂载一个C#脚本。
可以使用UQuery语法在C#中查找到元素。
基础元素都是VisualElement类的对象。
类似于选择器语法。
然后可以直接对其上的style属性进行设置。
需要编写ScriptableObecjt来保存UI数据。