前言
Winform 嵌入 Unity 使用 3D 模型有两种方案。一种是在窗体中使用 Unity 控件,一种是在窗体中使用 webBrowser,Url 填写 Unity 生成的离线项目文件。
第一种方案的优点是,只需要 Unity 生成的 *.unity3d 文件就可以了。可以参考之前的一篇文章:
https://www.runner.ink/2017/12/03/c/
第二种方案需要 Unity 生成的 *.unity3d 文件、*.HTML 文件、*.JS 文件。
但是第一种方案有 3 个不容易解决的问题:
1,logo 不能去除不能更换。
2,鼠标右键菜单无法去除。
3,src 路径无法动态更换。
实际上对于以上三种问题,都有相应的解决方法,但是操作起来不是那么容易,毕竟越复杂越容易出错。
第二种方案效果和第一种方案相同,却能简单可靠的解决上面的 3 个问题。
方案步骤
Winform 插入 webBrowser控件 -> 填写 url,引入 Unity 生成的 *.HTML 文件,url 下的其他文件都不能缺失。
1,更换logo、去除鼠标右键菜单。
打开 *.HTML,在 config 里添加 logoimage、disableContextMenu 两个参数 ,顾名思义,一举解决 “更换logo、去除鼠标右键菜单” 两个问题。如下图所示:
2,动态更换src 路径
这个在 Winform 里做,原理很简单,就是在代码里修改 webBrowser 的 url:
//修改 url 方式1 webBrowser1.Navigate ("C:\\Users\\Bluesummer\\Desktop\\2\\Desktop.html"); //修改 url 方式2 Uri uri = new Uri("地址"); this.webBrowser1.Url = uri;
3,通信问题