2015-10-16 47 views
21

Qualcuno ha esperienza nel combinare React Native e Unity? Sto cercando di avviare un progetto Unity che sia molto pesante per l'interfaccia utente e sto pensando di utilizzare React Native per sfruttare le sue capacità di interfaccia utente su dispositivi mobili e sul Web.React Native with Unity

Sono curioso di sapere quale sarebbe il flusso di lavoro per un simile approccio.

+2

hai provato questo (con successo)? – swalkner

+0

Sono curioso anche di questo! – leMale

risposta

3

Non sono sicuro di come un gioco Unity sia stato creato per iOS, se utilizza Cocoa Touch per renderizzare le sue classi principali.

In questo caso, se si ha accesso o possibilità di eseguire il rendering di un UIViewController, è possibile eseguire il rendering dell'applicazione React Native. L'unica cosa che dovresti facilitare è impostare la comunicazione tra le due applicazioni.

Ecco un esempio di rendering di un componente dell'interfaccia utente nativa all'interno di un'app React Native che può essere di aiuto. http://moduscreate.com/leverage-existing-ios-views-react-native-app/

7

Finalmente dopo un sacco di prove riuscite a fare questo. Questi sono i passaggi.

  • 1) Utilizzando questo link, esportare progetto Android per Gradle. Seleziona Gradle nella finestra Build Settings e seleziona la casella di controllo Export Project. Fare clic su Esporta e selezionare la cartella di destinazione.
  • 2) Importa la cartella generata in Android Studio. Seleziona ok quando richiesto. In questo processo, si verificheranno i seguenti problemi
  • 2a) Gradle Sync non riuscito a causa di problemi org.gradle.api.internal.tasks. Risolvere utilizzando questo link
  • 3) Creare Reagire nativa App utilizza questo link
  • 4) Avviare Integrazione Android esportato cartella all'interno creata reagire app nativa di utilizzare questo link. Non aggiornare Gradle come Android Studio ti chiederà ancora e ancora. Incontrerai i seguenti problemi. Non passare attraverso "Test Integration" finché non hai finito con # 5 qui.
  • 4a) Durante la configurazione di Maven, utilizzare questo url per l'url di maven "$ rootDir /../ node_modules/react-native/android".
  • 4b) Durante la configurazione di Maven, se si incontrano problemi relativi a javax.inject: javax.inject "Utilizzare questa link
  • 4c) Si può inoltre verificare questo errore." Il conflitto con la dipendenza com.google.code'. findbugs: jsr305 '". È possibile risolvere questo link.
  • 4d) Durante la sezione di integrazione del codice di questo collegamento, concentrarsi sulla seguente sezione: Se si utilizza uno starter kit per React Native, sostituire la stringa" HelloWorld "con il uno nel file index.android.js (è il primo argomento del metodo AppRegistry.registerComponent()). Qui devi sostituire con il nome del progetto
  • 5) Prima di passare alla sezione "Verifica la tua integrazione", devi aggiungere il codice per chiamare MyReactActivity da UnityActivity. Questo link aiuterà.
  • 6) Passare attraverso la sezione "Verifica la tua integrazione" del collegamento fornito in # 4. Potresti incontrare i seguenti problemi.
  • 6a) impossibile caricare lo script dalle risorse index.android.bundle. Usa questo link.
  • 6b) non è stato possibile connettersi al server di sviluppo su Android. Utilizzare questo link.
0

Ero curioso e ho creato un esempio di progetto su come farlo per Android: https://github.com/marijnz/unity-react.

Se questa è una valida opzione, almeno dipende:

  • quanto tempo il progetto sarà in esecuzione, sia Reagire e l'unità devono essere aggiornati e questo diventa probabilmente più dura nel tempo.
  • La quantità di sdk/dipendenze del progetto.
  • Se vuoi fare anche iOS.

In generale, probabilmente eviterei di andare in questo modo. Anche se l'esempio sembra abbastanza semplice ora, è stato un dolore arrivare a quello (come la risposta di Shaunak già suggerisce;))