Unity3D嵌入WPF教程

Unity3D嵌入WPF教程

  1. 创建一个 类库工程

  1. 创建一个 WindowForm 自定义控件 (UserControl)

1).引入 UntiyWebPlayer COM 组件

  2).将 这个组件拖到 UserControl 里, 并将 Dock属性设置为 Fill 让它充满整个控件

3)之后删除UntiyWebPlayer,生成文件

  3).在程序中添加一个类对 UnityWebPlayer 的Public引用. 这样做的目的是,之后可以对其进行操作,(也可不添加)

4).生成 , 在 bin 中会有三个 DLL 文件 , 只有两个有用 . 一个是 AxInterop.UnityWebPlayerAXLib 另一个是 你定义的那个自定义组件的 DLL.

  1. 将那两个有用的 DLL 引入到我们的 WPF 工程中. 并且 再引入      System.Windows.Forms 及 WindowsFormIntegration.

  1. 在 WPF 的XAML的 Window 标签中 引入我们的 自定义控件的名称空间. 如: xmlns:unity="..."  在 <Grid> 中, 加入一个 <WindowsFormHost> 标签,用来承载我们的 WIndowsForm 的自定义组件. 并在其中 加入 如: <unity:UnityPlayer x:Name="UnityPlayer">. 这样, 就将UnityWebPlayer 嵌入了 WPF中.

出现问题可能是组件没有加载上去,

时间: 2024-10-06 03:12:59

Unity3D嵌入WPF教程的相关文章

Winform 程序嵌入WPF程序 并发送消息

废话不多说,先看解决方案目录 WindowsFormsDemo是主程序,WpfApp是嵌入的WPF程序,先看WPF程序,程序默认启动的页面是MainWindow.xaml,这里注释掉App.xaml里的StartupUri="MainWindow.xaml",后台设置启动的Uri,将原来的空的App类改成一些内容(也可以不改) /// <summary> /// App.xaml 的交互逻辑 /// </summary> public partial class

[枫叶学院] Unity3d高级开发教程 工具集(一) 哈希列表——强大的自定义数据集

在日常开发中,数据集合是我们必不可少的重要工具之一.在C#中,.Net Framework也为我们提供了种类繁多,功能多样的数据集工具.在此,我基于List<T> 和 HashTable制作了一个功能强大的数据集,我将其命名为HashList.他集二者的优势于一身,既支持数组索引的操作,同时也支持键值对操作.我更在此基础上封装了一些常用的工具函数,使其能够极大的方便我们日常开发中的数据管理. HashList 核心功能如下: 1.类型安全的数据集合,省去了强制转换的繁冗操作 2.根据数组索引,

嵌入资源第三讲:多格式文件内嵌入WPF资源文件

作为一个扩展,你需要了解DotNetZip用法,请参见:C# .NET 使用第三方类库DotNetZip解压/压缩Zip文件 你也需要了解单文件内嵌入资源文件基本方法,参见:WPF调用嵌入的非.net的EXE资源文件 作者:一剑 如果你有一大堆文件或者想通过打包的方式嵌入任意格式的文件到资源文件中,那么你可以打包成一个ZIP文件,再嵌入到资源文件中是一个不错的选择: using System.Reflection;//++ using System.IO; using Ionic.Zip; na

WPF 精修篇 Winform 嵌入WPF控件

原文:WPF 精修篇 Winform 嵌入WPF控件 首先 创建WPF控件库 这样就有了一个WPF界面 在wpf中增加界面等 在winform中增加WPFDLL 重新生成解决方案 在左侧工具栏 出现WPF 控件 拖到窗体 效果 原文地址:https://www.cnblogs.com/lonelyxmas/p/12075801.html

【译】Unity3D Shader 新手教程(2/6) &mdash;&mdash; 积雪Shader

如果你是一个shader编程的新手,并且你想学到下面这些酷炫的技术,我觉得你可以看看这篇教程: 实现一个积雪效果的shader 创建一个具有凹凸纹理的shader 为每个像素修改其对应纹理值 在表面着色器中修改模型的顶点数据 引论 这是我们系列教程的第二部分,我们将在此部分实现些有用的技术.在学习完第一部分的所有背景知识后,我们将利用所学的知识实现一个简单的积雪效果的shader.效果如下: 准备工作 我们想做的其实很简单,简单介绍一下: 随着Snow Level(表示积雪的程度,该值越大,积雪

【译】Unity3D Shader 新手教程(1/6)

刚开始接触Unity3D Shader编程时,你会发现有关shader的文档相当散,这也造成初学者对Unity3D Shader编程望而却步.该系列教程的第一篇文章(译者注:即本文,后续还有5篇文章)详细介绍了Unity3D中的表面着色器(Surface Shader)的,为学习更复杂的Shader编程打下基础. 动机 如果你是刚刚接触Shader编程的新手,你可能不知道从何开始踏出Shader编程的第一步.本教程将带你一步步完成一个表面着色器(Surface Shader)和片段着色器(Fra

演示:多格式文件内嵌入WPF资源文件

作为一个扩展,你需要了解DotNetZip用法,请参见: C# .NET 使用第三方类库DotNetZip解压/压缩Zip文件 你也需要了解单文件内嵌入资源文件基本方法,参见: WPF调用嵌入的非.net的EXE资源文件 如果你有一大堆文件或者想通过打包的方式嵌入任意格式的文件到资源文件中,那么你可以打包成一个ZIP文件,再嵌入到资源文件中是一个不错的选择: using System.Reflection;//++using System.IO;using Ionic.Zip;namespace

WPF教程005 - Timeline时间轴控件的实现

效果图: 由于整个控件是实现之后才写的教程,因此这里记录的代码是最终实现后的,前后会引用到其他的一些依赖属性或者代码,需要阅读整篇文章. 1.确定Timeline继承的基类 从效果图中可以看到,时间轴都是由一节一节的子节点组成的,这个很容易联想到我们应该将Timeline继承自ItemsControl.之外仔细观察效果图,可以发现第一项的时间轴节点与其他都不同,而且拆解每一个子项,发现都是由一个圆圈和一个竖线组成,但是最后一项和上面的都不同,少了一个竖线,因此为了控制这些样式,我们需要重新定义一

【译】Unity3D Shader 新手教程(6/6) —— 更好的卡通Shader

动机 如果你想了解以下几件事,我建议你阅读以下这篇教程: 想知道如何写一个multipass的toon shader. 在shader中学习更多不同参考坐标系(空间space)以及其作用. 深入学习一个实用的fragment shader. 学习矩阵相乘和Unity内建矩阵的使用. 该教程比第五篇教程更实用. 准备工作 为了实现一个描边的toon shader,我们需要做的是: 为模型描边. 将第四篇文章中的介绍的toon shader(使用的是surface shader)移植到vertex&