商务型网站怎么运作,wordpress 速卖通插件,全媒体运营师证报名入口,小网站文案杨航最近在自学Unity3D#xff0c;打算使用这个时髦、流行、强大的游戏引擎开发一个三维业务展示系统#xff0c;不过发现游戏的UI和业务系统的UI还是有一定的差别#xff0c;很多的用户还是比较习惯WinForm或者WPF中的UI形式#xff0c;于是在网上搜了一下WinForm和Unity3… 杨航最近在自学Unity3D打算使用这个时髦、流行、强大的游戏引擎开发一个三维业务展示系统不过发现游戏的UI和业务系统的UI还是有一定的差别很多的用户还是比较习惯WinForm或者WPF中的UI形式于是在网上搜了一下WinForm和Unity3D如何集成结果不是非常令人满意绝大多数的回答是“No Way”也有人给出了使用WebBrowser控件的形式说实话这种还算是比较靠谱的以前也这么干过类似的事情后来搜到一篇帖子说是可以使用U3D WebPlayer控件抱着试试看的想法新建了一个winform应用在工具箱里面还真找到了UnityWebPlayer Control这么一个控件 将它拖到form上以后发现属性很少大部分都是Control的属性不过还是发现了一个很重要的属性src这里将发布的web包地址写进去运行一下奇迹出现了竟然出现了三维场景界面。。。请忽略三维场景内容实在是拿不出手哇这里留一个问题.unity3d 文件的路径只能在设计时的属性窗口直接赋值在Form的构造函数或者Load事件中赋值都没有效果具体原因还没找到。这样的话算是实现了之前的需求将U3D和Winform结合不过winform的控件如何和U3D进行交互呢再看一下UnityWebPlayerClass类的定义发现有一个SendMessage方法和U3D自身脚本的SendMessage定义一样。 下面首先在U3D中创建一个C#脚本添加一个非常简单的函数 void Down(){transform.Translate( Vector3.down * Time.deltaTime );} 将脚本拖到叫做Sphere的对象上面。然后在窗体上添加一个按钮在按钮的click事件中调用上面定义的方法 axUnityWebPlayer1.SendMessage( Sphere, Down, null ); 再次运行不停地点击按钮就可以看到小球缓慢往下移动的效果了。 经过上面的尝试总算是初步解决了U3D和WinformWPF也类似集成的问题不过核心的对象控制代码还是得在U3D中写好、编译才行winform只是提供了一个更为习惯的UI而已。不知道是否还有更好、更方便、更强大的方法期待。。。