使用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和Winform(WPF也类似)集成的问题,不过核心的对象控制代码还是得在U3D中写好、编译才行,winform只是提供了一个更为习惯的UI而已。不知道是否还有更好、更方便、更强大的方法,期待。。。

【转载】C# WinForm程序中使用Unity3D控件相关推荐

  1. WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色

    WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色  在B/S开发中,对TreeView控件要改变当前选中节点的颜色比较方便,其有相应的SelectedNodeChanged事件 ...

  2. Winform编程中的treeview控件

    Winform编程中的treeview控件 treeview基础操作 treeview添加.删除节点操作 treeview节点展开与折叠 treeview节点重命名 treeview获取节点集合并设置 ...

  3. 在WinForm应用程序中嵌入WPF控件(转)

      我们知道,在WPF界面上添加WinForm的控件需要使用WindowsFormHost类.而在WinForm界面上添加WPF控件该如何做呢?有没有类似的类呢?明显是有的,ElementHost就是 ...

  4. 技巧:在Silverlight 2应用程序中切换用户控件

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://terrylee.blog.51cto.com/342737/85341 ...

  5. VS2010下ocx开发:(2)在C#程序中调用ocx控件

    在本文中,给出一个C#示例程序,调用上一篇博文中创建的MultiplyDemo.ocx控件.注意需要保证该控件已经注册过. 启动Visual Studio 2010,使用C#创建一个Windows窗体 ...

  6. [转]在Winform(C#)中使用Flash控件

    关于添加Flash控件这里就不介绍了,网上能查到一大堆 VS2005在添加Shockwave时很多人都碰到一个这个问题,就是会说ActiveX注册失败 VS2003没有这样的问题,也不知是什么原因 没 ...

  7. 【winform程序】自定义webrowser控件调用IE的版本

    修改注册表: 32 bit:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BR ...

  8. 在 .NET Compact Framework 2.0 中宿主 ActiveX 控件

    适用于: ActiveX Microsoft .NET Compact Framework 版本 2.0 摘要:了解如何在使用 .NET Compact 的应用程序中宿主 ActiveX 控件.本文提 ...

  9. 使用观察者模式在 Silverlight 中切换用户控件

    有一篇技巧,见 http://tech.sina.com.cn/s/2008-07-03/1528718607.shtml 或 http://kb.cnblogs.com/page/42897/?pa ...

  10. java控件数组_在C# WinForm程序中创建控件数组及相应的事件处理

    控件数组是VB提供的一个优秀的设计解决方案,它能很方便快捷的处理大批同类控件的响应和时间处理,但不知为什么在C#中这个优秀特性没有传承下来,甚为可惜,本文将要探讨就是如何在C# WinForm程序实现 ...

最新文章

  1. 解决Oracle启动失败
  2. python 跟踪算法
  3. BZOJ 1176([Balkan2007]Mokia-CDQ分治-分治询问)
  4. Smalidea+IntelliJ IDEA/Android Studio动态调试安卓app教程
  5. Python3解决UnicodeDecodeError:'utf-8' codec can't decode byte..问题终极解决方案
  6. 秀操作:函数宏的三种封装方式
  7. 简单介绍蓝牙无线模块和手机进行的车数据交互技巧
  8. C#LeetCode刷题-程序员面试金典
  9. POI导入数据的过程中,遇到读取以科学计数法显示的数据
  10. Android CountDownTimer示例
  11. Linux C 基于epoll的多人聊天室
  12. 哈工大本部2022形式语言与自动机期末试题
  13. 启发式算法(heuristic)
  14. php网络编程socket通讯
  15. 计算机网络——CSMA协议
  16. 谈谈BGA芯片S3C2440的焊接
  17. bayes-opt安装
  18. Windows 7 新功能选集
  19. Python编程代码规范(Google Style)
  20. 550w计算机电源,GTX 1080显卡配550W电源够用不?老司机来告诉你如何DIY电脑主机...

热门文章

  1. ATF史上最全分析--bl1阶段
  2. 计算机工程制图cad,物流工程制图CAD计算机绘图指导教程
  3. 网络工程制图论文计算机,计算机工程制图设计分析论文
  4. 简述hdfs工作原理_简述HDFS的原理?
  5. GitHub使用教程详解(上)——官网操作指南[翻译]
  6. python zen_The Zen of Python(Python 之禅) - by Tim Peters
  7. 使用禅道管理项目流程
  8. c语言float和char几个字节,C语言当中int,float,double,char这四个有什么区别?
  9. typora快捷键大全
  10. 汽车行业准则:自信地采用 AIAG-VDA FMEA 方法