unity studio run remote para descargar and android unity3d

run - Mostrar escena de unidad como vista secundaria en android studio



unity para android (1)

Lo que está buscando es cómo mostrar Unity Scene como una subvista.

Algo como a continuación:

Esto se describe aquí en el foro de Unity. Y el código para cargar la escena de Unity:

package com.unity3d.viewexample; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.FrameLayout; import android.widget.LinearLayout.LayoutParams; import com.unity3d.player.UnityPlayer; public class JavaCubeViewActivity extends Activity { private UnityPlayer m_UnityPlayer; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Create the UnityPlayer m_UnityPlayer = new UnityPlayer(this); int glesMode = m_UnityPlayer.getSettings().getInt("gles_mode", 1); boolean trueColor8888 = false; m_UnityPlayer.init(glesMode, trueColor8888); setContentView(R.layout.main); // Add the Unity view FrameLayout layout = (FrameLayout) findViewById(R.id.frameLayout2); LayoutParams lp = new LayoutParams (LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); layout.addView(m_UnityPlayer.getView(), 0, lp); } }

Puede exportar el proyecto de Unity a un proyecto Android de Android y luego usar el código anterior o puede escribir ese código Java y luego compilarlo como un plugin jar y hacer que Unity lo cargue modificando el Manifiesto de Android en Unity. Ambos métodos deberían funcionar.

Finalmente, puede llamar a la función C # en el lado de Unity desde Java con UnityPlayer.SendMessage.

Archivo manifiesto

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="com.unity3d.unity" android:versionName="1.0" android:versionCode="1"> <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" /> <application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="false"> <activity android:name="com.unity3d.player.UnityPlayerProxyActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="portrait"> </activity> <activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="portrait"> <meta-data android:name="android.app.lib_name" android:value="unity" /> <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" /> </activity> <activity android:name="com.unity3d.player.VideoPlayer" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="portrait"> </activity> </application> <uses-feature android:glEsVersion="0x00020000" /> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="15" /> </manifest>

EDITAR :

Si desea llamar a la función de Unity desde Java, use

UnityPlayer.UnitySendMessage("GameObjectName", "MethodName", "parameter to send");

Puede encontrar más información sobre esto y cómo importarlo en Android Studio aquí .

Estoy un poco confundido sobre la visualización de modelos 3D y gráficos en proyectos de estudio de Android.

He estado trabajando mucho con Rajawali , que es un motor Android OpenGL ES 2.0 / 3.0.

Gracias a Rajawali pude mostrar modelos en 3D, realizar animaciones simples y mover la cámara.

Ahora me gustaría realizar cada vez más movimientos y animaciones, y tal vez crear materiales y texturas personalizadas, pero la wiki de Rajawali está muy pasada de moda y esta biblioteca tiene algunos límites (en mi opinión).

Así que ahora me pregunto si hay una manera de crear una escena o algo así en Unity3D, por ejemplo, una vista de modelo 3D animado que puedo rotar con el dedo, y luego convertirla en una clase Java de Android o una vista personalizada.

Gracias.

EDITAR:

Esto es lo que tengo actualmente:

Esta es la pantalla de inicio de mi aplicación Android Studio . En Backgroud, tengo una vista de modelo 3D "cargada" con Rajawali.

¿Cómo puedo obtener el mismo resultado usando Unity?