Unity3D 中嵌入winform窗体应用程序
用unity3d已经一年多了,但是尚处于入门的水平,能做一些简单的可视化界面,之前在做可视化界面时,ui的设计一直感觉很麻烦,UGUI或者NGUI都不能很好的满足我的需求,在网上搜罗的许久,终于发现一个方法可以比较方便的在u3d里面做自己想要的UI,这也是相对成熟的在unity3D 的windows PC端动态创建Windows窗体的方法。经过打包测试可以运行,因此在这里记录一下大概的过程。
1.资源介绍
可以看做是一个开源的库,里面有一个FormExamples.cs文件,作为借鉴可实现自己的需求。在此感谢原作者的分享,资源网址: https://github.com/Meragon/Unity-WinForms。个人觉得有以下优点:
- 能在在unity3d里面流畅运行;
- 兼容性好,扩展性强;
- 不吹了…,有需要可以试试。
2.实现流程
下载源文件与unity建立project的步骤在此不再赘述,以下就从建立好的unity project开始,如下图所示为创建的一个3D unity project,工程场景内建立了一个空GameObject。此为准备工作…
接下来,步入正题,步骤如下:
-
打开Project目录,UnityWinFormsTest为我建立的工程名,将Unity-WinForms-master.zip解压后放到…\UnityWinFormsTest\Assets\ 目录下。如下图:
-
打开工程,在场景内的Assets下新建一个C#文件,如下图我所命名的GameGuiController.cs,此外,Unity-WinForms-master.zip解压后放到…\UnityWinFormsTest\Assets\ 目录下的文件,看那个大红框框所示。
其中,GameGuiController.cs的脚步如下:
using UnityEngine;
using UnityWinForms.Examples;
public class GameGuiController : MonoBehaviour
{
void Start()
{
var form2 = new FormExamples();
form2.Show();
}
}
其中FormExamples为Unity-WinForms-master内的事例窗体,在路径 …\Assets\Unity-WinForms-master\Examples\ 下。
- 将UnityWinForms.cs 和 GameGuiController.cs 拖拽到空物体GameObject上,其中UnityWinForms.cs在路径 …\Assets\Unity-WinForms-master\Unity\ 下。
- 打开Unity Win Forms(Script)下Resources,将一些图标添加上去…
5.在电脑里面搜索,找到一个Arial.ttf的字体文件,放到Resourses文件夹下,并将其拖到Unity Win Forms(Script)下Resources内的Fonts上。
3.成果
应该上述步骤,工程就建立得差不多了,先就可以点击运行了,看看结果。