c#创建可动态修改src的unity3d插件UnityWebPlayer - LiberXue|FullStack|独立开发者|jekyll blog|GitHub blog

# c#创建可动态修改src的unity3d插件UnityWebPlayer

发布时间：2016-06-16 00:00:00 博客分类: csharp 阅读次数: comments
unity3d (1) UnityWebPlayer (1) U3D (1) c# (5) winfrom (3)

# c#创建可动态修改src的unity3d插件UnityWebPlayer

2016-06-16 00:00:00

unity3d (1) UnityWebPlayer (1) U3D (1) c# (5) winfrom (3)

UnityWebPlayer是unity3d的一个播放器插件，在C# winform中使用它并对src属性赋值即可调用对应的U3D场景，实现三维立体展示。

但此src属性只接受绝对路径，并且不能在程序运行时动态修改，此特性对程序可移植性造成了很大影响。但如果动态创建控件并赋值即可消除影响。

首先在工具箱中右键“选择项”，在弹出的对话框中跳转至“COM组件”，选择UnityWebPlayer添加进工具箱即可（如果没有此项可点此安装）

- com组件导入

- 动态创建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);
    }

本文由 liberxue 创作，采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外，均为本站原创或翻译，转载前请务必署名
最后编辑时间为:2016-06-16 00:00:00