winform展示Unity3D文件(支持動態改變文件路徑)


 

winform下展示Unity3D文件可以支持對Unity3D實現的模塊進行包裝,以及在其他的項目中需要展示Unity3D的界面時候,恰到適宜地進行打開展示,這里我展示如何使用winform打開Unity3D文件。

一、在Unity的官網下載並安裝Unity

安裝完成后的目錄如下:

二、在Unity/WebPlayer64/loader-x64文件夾下找到UnityWebPluginAX.ocx文件,然后將其拖動到WindowForm工具箱中。

 

然后將其拖動到窗體中,並添加一個button作為動態添加Src路徑的按鈕(UnityWebPlayerControl控件默認不支持動態切換Src,只能初始化的時候默認賦值一個才能打開,這里我們進行一下微操...)。

 

三、實現一個UnityHelper

復制代碼
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中寫下簡單的調用代碼

復制代碼
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文件,這里我隨便找了一個

trans.unity3d

四、最后我們運行測試一下->

點擊按鈕

 

 可以看到我們的代碼完美運行,並且在新窗口打開一個Unity文件。

如果想在原來的控件中顯示,直接賦值給一個Src即可,如果想動態改變,那么直接動態操作控件即可...

 

 
        
 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM