DF-GUI 特点:


·         深编辑器集成 DF-GUI 提供广泛的整合与 Unity3D 编辑环境,包括自定义检查人员对每个组件向导来简化复杂的多步任务,提高生产力的上下文菜单,编辑控件在一个所见即所得的方式创建复杂的布局,并几个精心设计的工作流程增强功能。这种无缝集成可让您更专注于您的 UI 本身,而不必担心如何使用 DF-GUI

·         全所见即所得的体验 DF-GUI 控件都是在 Unity 编辑器 ” - 对控件的属性所做的任何更改都将反映在即时编辑 没必要打的 播放 按钮。

·         印版或专业版 DF-GUI 是专门设计在统一免费印版工作。因为它的工作原理是创建和渲染标准的统一网格对象,它工作在独立的,在网络上,并在移动平台如 Android

·         强大的事件系统 :所有的 DF-GUI 控件能够直接引发事件进行了广泛的一些情况,以及一个灵活的基于反射的信号传导机制。

·         事件绑定 :除了内建在图书馆核心事件系统, DF-GUI 提供事件绑定组件相结合的一种简单而灵活的设计时体验与绑定到事件处理程序上的任何其他组件的能力。

·         数据绑定 DF-GUI 提供了强大的数据绑定系统,让你的任何组件的属性绑定到任何其他组件的特性,使代码和 UI 呈现的分离,而无需编写具体的 胶水代码 揭露 MVVM- 样式属性到你的用户界面。

·         统一输入 DF-GUI 可以很容易地使使用键盘,操纵杆或鼠标的用于相同的用户界面。不像我们的一些竞争对手, DF-GUI 具有统一的输入焦点和事件系统,使这些不同的输入法将共同努力无缝连接。

·         性能 DF-GUI 的设计和优化,使创建的渲染与绘制调用的最低数量甚至高度复杂的用户界面 - 在大多数情况下,即使是一个复杂和高度嵌套的 UI 与多个剪辑区可以呈现与单一绘图调用。内存使用率已经高度优化,以及因此即使高度动态的用户界面不会鞭打内存并导致垃圾收集。

·         强大的布局功能 :每个控件允许使用 - 控制器(或边缘的任意组合)的每条边都可以 挂靠 到其父容器的对应边(即容器是否是另一种控制,甚至在屏幕本身),这样由于用户交互控件是否调整,通过代码,甚至可以通过该屏幕的分辨率变化,即使是非常复杂的嵌套的布局,可以不与你的用户界面的可用性搞乱调整 无需编写自定义调整的逻辑!

·         动态效果 :包括一个基本的,但还是很强大的,易于使用的补间系统,让你在场景动画的任何组件的属性。补间的组件可以用在与事件绑定组件一起设计一个响应的用户界面的自定义代码的最低金额。

·         积极发展  DF-GUI 正在积极开发和新功能正在开发在任何时候。有免费的更新,你将永远有机会获得最新的功能和 bug 修复,没有任何额外费用。

第一节  Daikon Forge 介绍

(DF GUI ™) 是提供了一种非常灵活和强大的方法来创建您的游戏的用户界面的 Unity3D 的一个用户界面库。它包括将对大多数的用户界面需求,有用的核心控件的有用列表和其强大的组成和继承功能提供方便的可扩展性,以匹配您的特定需求。

在本教程中,我们将会涉及如何使用UIWizard来在你的场景中创建一个新的 GUI。以下步骤假定你都从零开始,一个新的空场景。

创建空项目,然后Daikon Forge的包,然后了解一些例子。

开始吧!保存一个场景:baseControlse

需要做的第一件事是设置一个层正是你的用户界面。打开了 TagManager 面板(Edit → Project Settings → Tags),添加一个新的“GUI”图层。所有的 UI 元素将驻留在此图层上。

接下来!  来到 Assets → DaikonForge → UI Wizard.

这将弹出下面的向导:

我们了解一下每个选项:

UI Layer 是您的UI元素将驻留在的层。选择您刚创建的图形用户界面层。

Orthographic 如果被选中,意味着您的用户界面将会显示在 2D。如果您需要您的 UI 在 3D 中显示,请取消此选项。

Pixel Perfect 如果被选中,意味着您的 UI 将完全地映射到屏幕像素 (例如,文本通常需要像素完全呈现,否则它将会出现模糊)。所以一个 100 像素宽的精灵会永远完全地在任何屏幕上显示100像素宽上(在较大的分辨率上,它将会显示较小)

另外有大量的关于输入的选项:

Use Joystick 确定是否 UI 将处理游戏杆或手柄输入。

Joystick Click Button 用来生成 click 事件。当一个 GUI 元素具有焦点时,按此按钮将会有使用左的鼠标按钮的效果相同。

Horizontal Axis and VerticalAxis 生成箭头键事件。这种方式,您的 UI 控件可以侦听箭头键事件导航当前所选内容,和操纵杆输入会自动工作。如果指定一个自定义的轴,则名称必须匹配Edit -> Project Settings -> Input中的设置。

在配置这些之后,只需按创建按钮来创建和启动用户界面的hierarchy。

你现在将在你的场景有一个新的UI Root游戏对象,与一个UI Camera子对象。

请注意UI Root对象被分配给它有两个自定义组件,Input Manager 和 GUI Manager。我们将首先看在Input Manager:

Input Manager指定 DF GUI 将如何处理用户输入。你会看到一些熟悉的设置,在这里有你在 GUI Wizard中制定的内容,Joystick, Joystick Click Button, Horizontal Axis and Vertical Axis选项。

此外,我们有:

Use Touch - 这将使支持在移动设备上的触摸,包括多点触摸的支持。

Axis Polling Interval — 这可以控制,轮询的水平和垂直的轴来生成箭头关键事件的时间间隔。

Retain Focus — 这决定了,当你什么都没点击就不会有什么焦点的现象。如果启用了保留焦点,最后被单击获得焦点的控件将继续保留焦点。否则,该控件将会失去焦点。

下面是GUI Manager组件,它是负责呈现您的用户界面。它包含确定您的控件的呈现方式、默认选项和设计时间选项设置。

让我们来看看这些设置:

Render Mode是是否在Orthographic 或 Perspective中呈现 UI。这是在UI Wizard中的Orthographic复选框相同。

Pixel Perfect确定是否控件完全映射到屏幕像素为单位)。这是在UI Wizard 中的Pixel Perfect复选框相同。

Default Atlas 是纹理地图集,默认情况下分配给新的控件。纹理地图集用来保持绘制调用低,,将会覆盖在另一个教程中介绍。

Default Font是默认情况下分配给新的标签的字体。字体包含必要的数据呈现的文本,并将覆盖在另一个教程中介绍。

Merge Materials使GUI Manager尝试按排序控件通过材料的降低绘制调用次数来排序。例如,如果你有从图集(atlas)A中的一个精灵作为背景,从 atlas B 中取出一个精灵作为中间内容,和图集 A 中剩余的其他的精灵放在最前面, DFGUI 将生成三个绘制调用(背景,中间,前景)以确保正确呈现顺序。然而,您可以强制 DFGUI把前景和背景一起,用一个绘制调用,而不是两个,但这会导致渲染顺序问题。

Generate Normals使GUI Manager生成每个顶点的法线。这是由着色器需要法线,如使用照明的着色器。

Screen Width and Screen Height控制设计画布的大小。例如,如果您想要设计你的 UI 在 640 ×480 大小,可以在这里输入,并单击Apply。UI 仍可以在所有的屏幕分辨率正常显示,然而。您也可以单击Use Build Settings,将从Build Settings复制默认的显示分辨率。

Show Wireframe在您的 UI中显示线框网格。

Show Rulers在UI画布边缘上显示标尺标记。这用来帮助用户 UI 设计。

Snap To Grid对齐UI 控件到网格上。这用来帮助用户UI设计。

Show Grid显示网格, 用于网格对齐

Grid Size控件在网格单元的大小,用于网格对齐。

Show Safe Area显示您的 UI 的边缘周围的矩形。这用与现实在TVs,还可能出现一些百分比的图像边框显示设计的用户界面。

Safe %是用于安全区域的百分比。用于显示不同的安全区域 (5%-10%,应已足够几乎所有情况下)

Force Refresh使立即重绘整个 UI。如果在更新时一些事情没有显示,您可以选择强制刷新以强制重绘。

在接下来的教程中,我们会看看一些基本的控件—精灵、 标签和按钮(sprites,labels, and buttons.)。