UnityWebPlayer是unity3d的一个播放器插件,在C# winform中使用它并对src属性赋值即可调用对应的U3D场景,实现三维立体展示。
但此src属性只接受绝对路径,并且不能在程序运行时动态修改,此特性对程序可移植性造成了很大影响。但如果动态创建控件并赋值即可消除影响。
首先在工具箱中右键“选择项”,在弹出的对话框中跳转至“COM组件”,选择UnityWebPlayer添加进工具箱即可(如果没有此项可点此安装)

动态创建unitywebplayer控件的函数代码如下:
private void CreateUnityWebPlayer()
{
var unity = new AxUnityWebPlayerAXLib.AxUnityWebPlayer();
((System.ComponentModel.ISupportInitialize)(unity)).BeginInit();
Controls.Add(unity);
((System.ComponentModel.ISupportInitialize)(unity)).EndInit();
unity.src = "此处请填写.unity3d源文件的绝对路径";
AxHost.State state = unity.OcxState;
unity.Dispose();
unity = new AxUnityWebPlayerAXLib.AxUnityWebPlayer();
((System.ComponentModel.ISupportInitialize)(unity)).BeginInit();
this.SuspendLayout();
unity.Name = "Unity";
unity.OcxState = state;
unity.Dock = DockStyle.Fill;
this.Controls.Add(unity);
((System.ComponentModel.ISupportInitialize)(unity)).EndInit();
this.ResumeLayout(false);
}