unity3d
Плагины для Android 101 - Введение
Поиск…
Вступление
Этот раздел является первой частью серии о том, как создавать Android-модули для Unity. Начните здесь, если у вас мало опыта создания плагинов и / или ОС Android.
замечания
В этой серии я широко использую внешние ссылки, которые я рекомендую вам прочитать. В то время как перефразируемые версии соответствующего контента будут включены здесь, могут быть случаи, когда дополнительное чтение поможет.
Начиная с Android-плагинов
В настоящее время Unity предоставляет два способа вызова собственного кода Android.
- Запишите собственный Android-код в Java и вызовите эти функции Java, используя C #
- Напишите код C # для прямого вызова функций, входящих в ОС Android
Для взаимодействия с собственным кодом Unity предоставляет некоторые классы и функции.
- AndroidJavaObject - это базовый класс, который Unity обеспечивает взаимодействие с собственным кодом. Почти любой объект, возвращаемый из собственного кода, может быть сохранен как и AndroidJavaObject
- AndroidJavaClass - Наследует от AndroidJavaObject. Это используется для сравнения классов в вашем собственном коде
- Получить / Установить значения экземпляра собственного объекта и статические версии GetStatic / SetStatic
- Call / CallStatic для вызова собственных нестатических и статических функций
Схема создания плагина и терминологии
- Записать собственный Java-код в Android Studio
- Экспортируйте код в файл JAR / AAR (шаги здесь для файлов JAR и файлов AAR )
- Скопируйте файл JAR / AAR в проект Unity в Assets / Plugins / Android
- Напишите код в Unity (C # всегда был для этого), чтобы вызвать функции в плагине
Обратите внимание, что первые три шага применяются ТОЛЬКО, если вы хотите иметь собственный плагин!
Отсюда я буду ссылаться на файл JAR / AAR как на родной плагин , а на C # - на C #
Выбор между методами создания плагинов
Сразу видно, что первый способ создания плагинов длинный, поэтому выбор маршрута кажется спорным. Однако метод 1 является единственным способом вызова пользовательского кода. Итак, как выбрать?
Проще говоря, ваш плагин
- Привлечение пользовательского кода - Выберите метод 1
- Вызывать только собственные функции Android? - Выберите метод 2
Пожалуйста, не пытайтесь «смешивать» (т. Е. Часть плагина, используя метод 1, а другой с использованием метода 2) два метода! Хотя это вполне возможно, часто непрактично и болезненно управлять.
UnityAndroidPlugin.cs
Создайте новый скрипт C # в Unity и замените его содержимым следующим
using UnityEngine;
using System.Collections;
public static class UnityAndroidPlugin {
}
UnityAndroidNative.java
Создайте новый класс Java в Android Studio и замените его следующим
package com.axs.unityandroidplugin;
import android.util.Log;
import android.widget.Toast;
import android.app.ActivityManager;
import android.content.Context;
public class UnityAndroidNative {
}
UnityAndroidPluginGUI.cs
Создайте новый скрипт C # в Unity и вставьте это содержимое
using UnityEngine;
using System.Collections;
public class UnityAndroidPluginGUI : MonoBehaviour {
void OnGUI () {
}
}