unity3D嵌入Winform、MFC的实现方式

本文介绍了如何将unity3D嵌入到Winform和MFC应用程序中。对于Winform,通过设置UnityWebPlayer Control的相对路径实现分布式部署。在MFC中,由于UnityWebPlayer Control不兼容,故采用Web Browser控件结合html、js、unity3d文件进行交互,通过js作为中间层转发unity与mfc的消息,以实现两者之间的通信。
摘要由CSDN通过智能技术生成

前言

大概是去年还没开学的时候,提前到校,给老师干活拿到的需求,可能也跟我说对unity3D有兴趣有关系吧。总之就是unity3D做模拟环境,但是呢,要嵌入要其他的软件中去使用,窗口环境,也就是题目上的那几种,Winform、MFC。
先写一写印象中的思路,代码还要再找找…电脑数据丢过,不太好找到了。
就在这个时候…我翻了一下聊天记录,梳理了思路。

unity嵌入Winform

在winform中可以嵌入unity专用插件
在这里插入图片描述

unity相对路径的设置

大家都知道,在插件初始化的时候,会直接加载完成这个插件的内容,也就是说,如果直接用插件本身去读取unity,需要使用绝对路径,这样就无法实现分布式了,肯定是不能直接提交给上级的。
所以,思路大概是这样的,首先在界面中加入一个窗口的控件,在这个空间里加载一个UnityWebPlayer Control,由于是在空白控件上生成一个新的控件,所以可以在代码中对unity路径进行设置,也就实现了相对路径。
也可借鉴WinFrom内嵌Unity3D
具体代码找不到了…只有一部分PPT讲解时候的记录

private void InitUnity()
{
   
    var unity = new AxUnityWebPlayerAXLib.AxUnityWebPlayer();
    ((System.ComponentModel.ISupportInitialize)(unity)).BeginInit();
    Controls.Add(unity);
    ((System.ComponentModel.ISupportInitialize)(unity)).EndInit();
    unity.src = Application.StartupPath + "\\u.unity3d";  //改成自己想要的路径
    AxHost
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值