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便可,若是想動態改變,那麼直接動態操做控件便可...

相關文章
相關標籤/搜索