Ios 将虚幻引擎4项目嵌入另一个应用程序

Ios 将虚幻引擎4项目嵌入另一个应用程序,ios,nativescript,unreal-engine4,Ios,Nativescript,Unreal Engine4,我一直在尝试一个概念证明(POC),在这里我可以将UE4项目嵌入到现有的应用程序中(在我的例子中是NativeScript),但这也可以很容易地应用到Kotlin或ReactNative 在概念证明中,我可以通过遵循FPS的蓝图和C++教程来轻松地在iPhone上运行项目。然而,我的POC的下一阶段要求我将FPS嵌入现有的NativeScript应用程序中,该应用程序将管理POC中的根菜单、聊天和存储平台方面 我遇到的一个难题是,我无法找到如何与蓝图教程生成的XCODE项目进行交互,C++教程生

我一直在尝试一个概念证明(POC),在这里我可以将UE4项目嵌入到现有的应用程序中(在我的例子中是NativeScript),但这也可以很容易地应用到Kotlin或ReactNative

在概念证明中,我可以通过遵循FPS的蓝图和C++教程来轻松地在iPhone上运行项目。然而,我的POC的下一阶段要求我将FPS嵌入现有的NativeScript应用程序中,该应用程序将管理POC中的根菜单、聊天和存储平台方面

我遇到的一个难题是,我无法找到如何与蓝图教程生成的XCODE项目进行交互,C++教程生成XCODEL项目,我不确定实际的根需要在哪里包装。 以前有人看过这样的项目吗?如果有,有没有博客或指南可以给我指点?我已经在谷歌上搜索了几个星期,现在已经走到了死胡同。我在这里发现了一个2020年4月的问题,指的是2020年1月的一个问题,它谈到了Unity如何能够嵌入到其他应用程序中。但除此之外,这是一条死胡同

一种稍微不同的方法 免责声明:我不是UE4开发者。因看到悬赏太大而无法忽视而被指控有罪。所以我开始思考和寻找——我发现了一些可以满足你需要的东西。进入

Pixelstreaming是一项测试版功能,主要用于将游戏嵌入浏览器。这将打开一个服务器与浏览器之间的双向通信,在服务器上进行GPU繁重的计算,播放器可以在浏览器中与内容交互,鼠标单击和其他事件将发送回服务器。显然,它允许一些额外的整洁的东西,但是这与手头的问题无关

由于您希望将不真实的应用程序嵌入到NativeScript工具中(如果我理解正确的话,可以使用某种菜单),因此您可以将应用程序从两个单独的部分制作成一个:

  • 一部分将运行服务器
  • 第二部分将通过像素流处理覆盖
这将UE4嵌入应用程序的问题减少为(可能更容易)将浏览器嵌入应用程序的问题。(或者,如果您的应用程序是基于浏览器的,那么问题就解决了。)
如果您不想处理远程通信,只需在本地主机上运行服务器端(具有节省带宽的良好副作用) 或者,如果您感到有冒险精神,您可以在应用程序端编写自己的WebRTC支持,以避免对浏览器的需求。不过,这可能不值得付出这样的努力

旁注:您提供的第一个链接是一个功能请求,这暗示了一个不幸的事实,即UE4不支持嵌入。这是进一步加强的事实,那里的一个人说一些类似的话“团结可以做到这一点,如果UE4也能做到这一点就好了。”

但另一种方法是: 您可以嵌入并使用虚拟显示器将UE4部件插入到控制器中-您基本上是在欺骗UE4,使其认为所需的显示设备是应用程序中的画布

thread建议采用类似的方法:

通常,这样连接两个库的方法是通过依赖于平台的窗口句柄,例如Windows下的HWND。如果找到将渲染目标绑定到HWND的方法,请检查UE api。然后您可以在wxWidgets中创建一个wxWindow,并告诉UE渲染到该窗口中。这将是第一步

我不确定我列出的任何东西是否会有很大帮助,但嘿,至少我试过:-)。祝你比赛好运

同时,作者建议:

解决问题:


使用UE4框架和子系统。您可以使用前者直接在UE4中创建所需的菜单,然后使用后者链接到您希望在UE4之外拥有的逻辑。但是,这不是您要求的,所以我只是为了完整起见才列出它。

您可以共享生成的Xcode项目文件树吗?添加了@florian,如果您愿意,我还可以扩展任何文件夹。