有没有人有任何组合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的答案已经暗示过了;)