2015-10-16 267 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的回答已經暗示的那樣))