2015-10-16 85 views
21

有没有人将React Native和Unity相结合?我期待开始一个非常强大的UI项目,我正考虑使用React Native来利用其在移动设备和网络上的UI功能。React Native with Unity

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

+2

你试过这个(成功)吗? – swalkner

+0

我也很好奇! – leMale

回答

3

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

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

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

7

最后经过很多试验设法做到这一点。这些是步骤。

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

我很好奇,并创建了一个示例项目,介绍如何为Android做到这一点:https://github.com/marijnz/unity-react

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

  • 多久该项目将运行,既反应,团结必须更新,这可能得到随着时间的推移强硬。
  • 项目拥有的sdk /依赖项的数量。
  • 如果你想要做iOS。

一般来说,我可能会避免这样做。 尽管现在这个例子看起来非常简单,但实际上却很痛苦(正如Shaunak的回答已经暗示的那样))