用Unity反应原生

时间:2015-10-16 16:28:36

标签: unity3d react-native

有没有人有任何组合React Native和Unity的经验?我正在寻找一个非常重的UI项目,我正在考虑使用React Native来利用其在移动和网络上的UI功能。

我很好奇这种方法的工作流程是什么。

4 个答案:

答案 0 :(得分:10)

经过大量的试验,最终设法做到了这一点。这些是步骤。

  • 1)使用此link,导出Gradle的android项目。 在Build Settings窗口中选择Gradle,然后选中Export Project复选框。 单击“导出”并选择目标文件夹。
  • 2)在Android studio中导入生成的文件夹。出现提示时选择确定。在此过程中,您将遇到以下问题
  • 2a)由于org.gradle.api.internal.tasks问题导致Gradle Sync失败。使用此link
  • 解决
  • 3)使用此link
  • 创建React Native App
  • 4)开始使用此link将Android导出的文件夹集成到创建的本机应用中。不要升级Gradle,因为Android工作室会一次又一次地问你。您将遇到以下问题。不要经历"测试集成"直到你在这里完成#5。
  • 4a)在配置maven时,将此url用于maven url" $ rootDir /../ node_modules / react-native / android" 。
  • 4b)在配置maven时,如果遇到与javax.inject相关的问题:javax.inject"。使用此link
  • 4c)您可能还会遇到此错误"与依赖项冲突&com.google.code.findbugs:jsr305'"。您可以解决此link
  • 4d)在此链接的代码集成部分中,请关注以下部分:如果您正在使用React Native的入门工具包,请替换" HelloWorld" index.android.js文件中的一个字符串(它是AppRegistry.registerComponent()方法的第一个参数)。在这里,你必须用项目名称替换。
  • 5)在完成之前"测试你的整合"部分,您必须添加代码以从UnityActivity调用MyReactActivity。这link会有所帮助。
  • 6)通过"测试你的整合" #4中提供的链接部分。您可能会遇到以下问题。
  • 6a)无法从资产index.android.bundle加载脚本。使用此link
  • 6b)无法连接到android上的开发服务器。使用此link

答案 1 :(得分:3)

我不确定如何为iOS构建Unity游戏,如果它使用Cocoa Touch渲染其核心类。

如果确实如此,并且您具有呈现UIViewController的访问权限或能力,则可以呈现React Native应用程序。您唯一需要做的就是在两个应用程序之间建立通信。

以下是在React Native应用程序中呈现可能有所帮助的本机UI组件的示例。 http://moduscreate.com/leverage-existing-ios-views-react-native-app/

答案 2 :(得分:3)

Medium

上查看我的文章

我已经展示了一个关于如何与Unity 3D进行原生反应的示例。我的目标是在Unity3D中使用本机反应就像一个模块,如果您要在Unity 3D上大量工作,这个模块非常方便。希望这对以后来这里的人有所帮助。

答案 3 :(得分:1)

我也很好奇,并为Android创建了一个示例项目:https://github.com/marijnz/unity-react

如果这是一个可行的选择,至少取决于:

  • 项目运行多长时间,React和Unity都必须更新,随着时间的推移,这可能会变得更加艰难。
  • 项目的sdk /依赖项数量。
  • 如果你也想做iOS。

一般来说,我可能会避免这样做。 即使这个例子现在看起来很简单,但实现这一点却很痛苦(因为Shaunak的答案已经暗示过了;)