winform展现Unity3D文件(支持动态改变文件路径)

 

winform下展现Unity3D文件能够支持对Unity3D实现的模块进行包装,以及在其余的项目中须要展现Unity3D的界面时候,恰到适宜地进行打开展现,这里我展现如何使用winform打开Unity3D文件。工具

1、在Unity的官网下载并安装Unity测试

安装完成后的目录以下:this

2、在Unity/WebPlayer64/loader-x64文件夹下找到UnityWebPluginAX.ocx文件,而后将其拖动到WindowForm工具箱中。spa

 

而后将其拖动到窗体中,并添加一个button做为动态添加Src路径的按钮(UnityWebPlayerControl控件默认不支持动态切换Src,只能初始化的时候默认赋值一个才能打开,这里咱们进行一下微操...)。3d

 

3、实现一个UnityHelpercode

using System.Windows.Forms;

namespace Unity3D
{
    public class UnityHelper
    {
        public static AxUnityWebPlayerAXLib.AxUnityWebPlayer CreateUnity(Form form,string src)
        {
            var unity = new AxUnityWebPlayerAXLib.AxUnityWebPlayer();
            ((System.ComponentModel.ISupportInitialize)(unity)).BeginInit();
            form.Controls.Add(unity);
            ((System.ComponentModel.ISupportInitialize)(unity)).EndInit();
            unity.src = src;
            AxHost.State state = unity.OcxState;
            unity.Dispose();
            unity = new AxUnityWebPlayerAXLib.AxUnityWebPlayer();
            ((System.ComponentModel.ISupportInitialize)(unity)).BeginInit();
            form.SuspendLayout();
            unity.Dock = DockStyle.Fill;
            unity.Name = "Unity";
            unity.OcxState = state;
            unity.TabIndex = 0;
            ((System.ComponentModel.ISupportInitialize)(unity)).EndInit();
            form.ResumeLayout(false);
            return unity;
        }
    }
}

而后在Form1.cs中写下简单的调用代码orm

using System;
using System.Windows.Forms;

namespace Unity3D.NETFramework461
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string src = Application.StartupPath+@"/Unity3dFiles/trans.unity3d";

            var unity = UnityHelper.CreateUnity(this,src);

            Form form = new Form();
            form.Controls.Add(unity);
            form.Show();
        }
    }
}

在项目bin/Debug目录下任意放一个Unity文件,这里我随便找了一个blog

trans.unity3d

4、最后咱们运行测试一下->string

点击按钮it

 

 能够看到咱们的代码完美运行,而且在新窗口打开一个Unity文件。

若是想在原来的控件中显示,直接赋值给一个Src便可,若是想动态改变,那么直接动态操做控件便可...

相关文章
相关标签/搜索