如何在WPF中载入Unity3D场景?

问题描述

WinForm中可以顺利载入U3D场景,但是WPF中一直报错:【未能加载文件或程序集“Interop.UnityWebPlayerAXLib….】

原因

初步判断是因为缺少相关dll引用导致的,如WindowsFormIntegration.dll;

解决方案

在WPF中加载U3D场景的步骤:
1. 创建一个 WPF 工程;
2. 创建一个 WindowForm 自定义控件库 (UserControl)
1). 引入 UntiyWebPlayer COM 组件(AxInterop.UnityWebPlayerAXLib.dll和Interop.UnityWebPlayerAXLib);
2). 将AxInterop.UnityWebPlayerAXLib.UnityWebPlayer这个组件拖到 UserControl 里, 并将 Dock属性设置为 Fill 让它充满整个控件;
3). 在自定义的程序文件中,增加一个 UnityWebPlayer 的Public引用. 这样做的目的是,之后可以对其进行操作;
4). 生成 , 在 bin 中会有三个 DLL 文件 , 只有两个有用 . 一个是 AxInterop.UnityWebPlayerAXLib 另一个是 你定义的那个组件的 DLL;
将那两个有用的 DLL 引入到我们的 WPF 工程中. 并且 再引入 System.Windows.Forms.dll 及 WindowsFormIntegration.dll;
(有两个地方要注意:1.必须引用【System.Windows.Forms.dll】 及 【WindowsFormIntegration.dll】;2.将【Interop.UnityWebPlayerAXLib.dll】手动拷贝到debug/release目录下;)
在 WPF 的XAML的 Window 标签中 引入我们的 自定义控件的名称空间. 如: xmlns:unity=”…” 在 中, 加入一个 标签,用来承载我们的 WIndowsForm 的自定义组件. 并在其中 加入 如: . 这样, 就将UnityWebPlayer 嵌入了 WPF中.

注意
部署项目到客户机器时,建议安装Full版本的【UnityWebPlayerFull.exe】,否则会出现断网的情况下,Unity3D场景无法加载显示;
下载地址:http://download.csdn.net/detail/hunter_hz/9444921

参考
http://www.cnblogs.com/easyfrog/p/3300165.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF(Windows Presentation Foundation)是微软公司推出的一种用户界面开发框架,它可以用于创建丰富的、直观的Windows应用程序。Unity3D是一种跨平台的游戏引擎,广泛应用于游戏开发、VR/AR应用程序等。将Unity3D嵌入WPF应用程序可以实现更丰富的用户体验和交互。 在将Unity3D嵌入WPF应用程序时,首先需要在WPF项目添加Unity3DUnityPlayer控件。然后,可以通过调用Unity3D的接口方法来加载和显示Unity3D场景,并在WPF应用程序设置对象之间的交互。通过这种方式,可以在WPF应用程序直接运行Unity3D场景,使用户可以更直观地与虚拟世界进行交互。 嵌入Unity3DWPF应用程序的好处是可以将游戏和应用程序的功能结合在一起,为用户提供更多更丰富的功能和体验。例如,可以在WPF应用程序创建一个交互式的虚拟展示环境,用户可以在展示环境与虚拟物体进行交互、操作。另外,嵌入Unity3D还可以增加应用程序的趣味性和视觉效果,使应用程序更加吸引人。 然而,嵌入Unity3DWPF应用程序也存在一些挑战和限制。由于WPFUnity3D是两种不同的技术平台,需要做好平台和版本之间的兼容性工作。同时,开发人员还需要熟悉和掌握Unity3D的开发技术,以便在WPF应用程序正确使用和操作Unity3D场景。 综上所述,将Unity3D嵌入WPF应用程序可以提供更丰富的用户体验和功能,但也需要在技术上做好兼容性工作,并投入额外的开发资源和学习成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值