2014-07-03 16 views
13

Ktoś wie, czy zintegrować Androida z Unity Studio? (wyjaśnię)
Stworzyłem prostą scenę w Unity (4.3.x na OS X Maverics) do testowania. Ma obiekt 3D i nic więcej.
Robię to w XCode przy użyciu objaśnień Stackoverflow tutaj i zamieszczam tutaj mój pełny kod (Touch a UIButton and show Unity on UIView or UIViewController), aby pokazać, że jest naprawdę prosty.
Ale teraz muszę zrobić to samo w Android Studio (które zainstalowałem i mogę wyeksportować projekt z Unity na Androida).
Jedyne, co wiem to to, że AndroidManifest.xml i plik jest w "res/layout/(something) .xml "pliki, które są pierwsze (odczyt) i (wyświetla) układ na ekranie podczas tworzenia projektu w Android Studio.

Unity3D i Android Studio Integration

Po otwarciu wygenerowanego projektu z Unity jedynym dostępnym plikiem XML jest AndroidManifest.
Więc jestem zagubiony. Ponieważ dokument strony trzeciej części (http://www.rbcafe.com/Softwares/Unity/Documentation/Manual/android-GettingStarted.html) wspomina tylko o Unity Eclipse i plikach JAVA, które nie istnieją w projekcie, czyni mnie bardziej zagubionym.

W Objective-C utworzysz cośDelegate.mm i .h i wstawia "linię kodu" i gotowe. W Androidzie nie wydaje się tak proste, jak mówi ten oficjalny dokument (http://docs.unity3d.com/Manual/PluginsForAndroid.html).

Ktoś już zrobił to w Android Studio i mógł mi pomóc?

Z góry dziękuję.

** Edytowane do laski: **

trzeba utworzyć 3 widoki:
1 - główny widok z 2 przyciskami;
2 - Jeden przycisk przechodzi do drugiego widoku;
3 - Inny przycisk przejdź do widoku Jedność;
Musi być prosty sposób na zrobienie tego na Androidzie, ponieważ studio zrobiło link powyżej.

+1

Ostatnim razem sprawdziłem Unity obsługiwane tylko projekty Eclipse. Co więcej, ponieważ Android Studio wciąż jest w wersji beta, uważam, że Unity nie podjęło jeszcze żadnych wysiłków, by go jeszcze wspierać. – ozbek

+0

Ponieważ Android Studio i Unity współpracują z JAVA i C# uważam, że jest to sposób na zrobienie tego, ponieważ Unity eksportuje projekt Google za pomocą JDK i innych DK wbudowanych w Android Studio. Tak, jest sposób ... myślę, że ... rs –

+0

Jaki jest dokładnie twój problem? Importowanie projektu do Android Studio nie stanowi problemu. Co próbujesz osiągnąć po zaimportowaniu projektu? –

Odpowiedz

18

Utworzenie projektu Android jest naprawdę proste. Połączony dokument jest nieaktualny i nie trzeba w ogóle przenosić żadnych plików.

Unity

  1. Goto File -> Build Settings -> Android i kliknij Switch Platform
  2. Włącz Google Android Project
  3. Kliknij Export i wybrać, gdzie chcesz projekt Android być

Android Studio

  1. importu lub otworzyć właśnie stworzony z Jedności
  2. projekt Gotowe :)

Jeśli chcesz wyświetlić silnik Unity wewnątrz Poddziałanie, proponuję przyjrzeć this answer.

Jeśli nie jesteś całkowicie zaznajomiony z rozwojem Androida, powinieneś zacząć od prostej aplikacji "Hello World" bez komplikowania rzeczy, dodając Unity do miksu. Wystarczy wykonać niektóre z official Android guides.

+1

Już to robię, moje pytanie brzmi: jak zintegrować, tworząc 3 widoki, jeden, domyślnie z 2 przyciskami, jeden przejść do innego widoku i inne przejść do jedności, tylko ten kod muszę wyjaśnić. –

+3

@JackLoverde przepraszam, ale nie napiszę ci samouczka krok po kroku, jak dodać 2 przyciski i kilka widoków. Osadzanie Jedności jest wyjaśnione w mojej połączonej odpowiedzi, a reszta czyta powiązane przewodniki. Jeśli masz problemy z Androidem Studio, wypróbuj samouczek lub zadaj konkretne pytanie. –

+0

I Google to i znalazłem TYLKO Eclipse. Dziękujemy za poświęcony czas: –

3

Aby otworzyć Android Studio project from Unity3D wewnątrz Android studio jako marzec 2016, musisz File -> New -> Import i niech rzecz wykona swoją pracę.

Lub jeśli masz szybki okno startowe:

enter image description here

3

ja zintegrowany projekt Unity do aplikacji Android.

Miałem prostą czynność za pomocą przycisku utworzonego za pomocą Android Studio.

Po kliknięciu tego przycisku zaczną się sceny Unity.

My Activity Unity Activity


Android projekt eksportowane z jedności powinno słuszne: enter image description here


To musiał być konwertowane do projektu Gradle pierwszy.

W tym:

  1. Otwórz Android Studio -> wybierz projekt import -> wybierz projekt jedności (projekt non-Gradle) -> Zapisz projekt i blisko.

Teraz folder projekt jedność wygląda następująco:

enter image description here


Teraz otwórz projekt i wykonaj następujące czynności, aby zaimportować projekt jedności do projektu:

  1. Kliknij Plik -> Nowy -> Nowy moduł -> Wybierz "importuj Gradle Project" -> wybierz utworzony właśnie folder projektu gradacji jedności -> zmień nazwę modułu nazwę, jeśli prośba o sprawdzenie „importowanej” pole wyboru w Android studio -> kliknij Zakończ
  2. Sprawdź w Settings.gradle pliku, aby sprawdzić, czy nowa nazwa modułu jest dodana w poleceniu obejmować:

    include ':app', ':yournewmodulename’ 
    
  3. Otwórz plik build.gradle nowego modułu jedności z nawigacji okna i zmienić nazwę poniższy wiersz:

    apply plugin: 'com.android.application' 
    

    do

    apply plugin: 'com.android.library' 
    
  4. usunąć linię z sekcji defaultConfig nowego modułu jedności:

    applicationId "com.xxx.xxx" 
    
  5. Otwórz manifestem nowego modułu jedności i skomentować aplikacji tag (nie należy wyjmować uses- znacznik sdk). Dokonaj scalenia manifestu modułu jedności z manifestem swojego projektu, przenosząc potrzebne znaczniki do Manifestu naszego projektu (np. : Aktywność, używa-funkcja itp.).

  6. Otwarte build.gradle od projektu i dodaj poniżej linii w sekcji zależności:

    dependencies { 
    … 
    compile project(path: ':yournewmodulename') 
    
    } 
    

Teraz kliknij na przycisku można wywołać aktywność w jedności ze swojego modułu aktywność jak poniżej:

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import com.xxx.xxx.UnityPlayerActivity; 

public class MainActivity extends AppCompatActivity { 

private Button button; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    button= (Button)findViewById(R.id.button); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent i = new Intent(MainActivity.this, UnityPlayerActivity.class); 
      startActivity(i); 
     } 
    }); 
} 
}