Unity поддерживает собственные плагиныНабор кода, созданный вне Unity, который создает функциональность в Unity. В Unity можно использовать два типа подключаемых модулей: управляемые подключаемые модули (управляемые сборки .NET, созданные с помощью таких инструментов, как Visual Studio) и собственные подключаемые модули (библиотеки собственного кода для конкретной платформы). Подробнее
См. в Словарь, какие библиотеки собственного кода можно писать на языки, такие как C, C++ и Objective-C. Плагины позволяют коду, который вы пишете на C#, вызывать функции из этих библиотек. Эта функция позволяет интегрировать Unity с библиотеками промежуточного ПО или существующим кодом C/C++.
собственный подключаемый модульсобственная библиотека кода для конкретной платформы, созданная вне Unity для использования в Unity. Позволяет вам получить доступ к таким функциям, как вызовы ОС и сторонние библиотеки кода, которые в противном случае были бы недоступны для Unity. Подробнее
См. в Словарь предоставляет простой интерфейс C, который сценарий C# затем предоставляет другим вашим сценариямКрай кода, который позволяет вам создавать свои собственные Компоненты, запускать игровые события, изменяйте свойства компонента с течением времени и реагируйте на пользовательский ввод любым удобным для вас способом. Подробнее
См. в Словарь. Unity также может вызывать функции, экспортируемые родным подключаемым модулем, при определенном низкоуровневом рендерингепроцессе вывода графики на экран ( или к текстуре рендера). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
Просмотр в Словарь событий (например, при создании графического устройства) . Дополнительные сведения см. в разделе Низкоуровневый собственный интерфейс подключаемых модулей.
Пример собственного подключаемого модуля см. в собственном подключаемом модуле визуализации.
Использование собственного подключаемого модуля
Чтобы использовать встроенный плагин:
- Создайте функции на языке C, чтобы получить доступ к нужным функциям.
- Скомпилируйте их в библиотеку.
- В Unity создайте сценарий C#, который вызывает функции из собственной библиотеки.
Вы создаете собственные подключаемые модули с помощью компиляторов собственного кода на целевой платформе. Поскольку подключаемые функции используют интерфейс вызова на основе C, вы должны объявить функции со связью C, чтобы избежать проблем с искажением имен.
Пример
Простая нативная библиотека с одной функцией может иметь следующий код:
float ExamplePluginFunction () { return 5.0F;
Чтобы получить доступ к этому коду из Unity, используйте следующий сценарий C#:
using UnityEngine;
using System.Runtime.InteropServices;
class ExampleScript : MonoBehaviour {
#if UNITY_IPHONE
// On iOS plugins are statically linked into
// the executable, so we have to use __Internal as the
// library name.
[DllImport ("__Internal")]
#else
// Other platforms load plugins dynamically, so pass the
// name of the plugin's dynamic library.
[DllImport ("PluginName")]
#endif
private static extern float ExamplePluginFunction ();
void Awake () {
// Calls the ExamplePluginFunction inside the plugin
// And prints 5 to the console
print (ExamplePluginFunction ());
}
}
Дополнительная информация
Вы можете узнать больше об использовании собственных подключаемых модулей для взаимодействия со сторонними библиотеками кода, в том числе о том, как реализовать отрисовку в своем подключаемом модуле, на следующих страницах: