Подключаемые модули для настольных платформ – это библиотеки исходного кода, который вы можете написать на языках C, C++ и Objective C. На этой странице описаны подключаемые модулиНабор кода, созданного вне Unity, который создает функциональность в Unity. В Unity можно использовать два типа подключаемых модулей: управляемые подключаемые модули (управляемые сборки .NET, созданные с помощью таких инструментов, как Visual Studio) и собственные подключаемые модули (библиотеки собственного кода для конкретной платформы). Подробнее
См. в Словарь для macOS, Windows и Линукс. Дополнительную информацию см. в разделе Нативные подключаемые модулиБиблиотека собственного кода для конкретной платформы, созданная вне Unity для использовать в единстве. Позволяет вам получить доступ к таким функциям, как вызовы ОС и сторонние библиотеки кода, которые в противном случае были бы недоступны для Unity. Подробнее
См. в Словарь.
плагины для macOS
Вы можете развертывать подключаемые модули macOS в виде пакетов или, если вы используете IL2CPPразработанный Unity скриптовый сервер, который вы можете использовать в качестве альтернативы Mono при создании проектов для некоторых платформ. Подробнее
См. в Словарь серверная часть сценариевСреда, обеспечивающая работу сценариев в Unity. Unity поддерживает три различных бэкэнда для сценариев в зависимости от целевой платформы: Mono, .NET и IL2CPP. Однако универсальная платформа Windows поддерживает только два: .NET и IL2CPP. Подробнее
См. в Словарь отдельные файлы C++, которые можно вызывать с помощью [DllImport(“__Internal”)]
синтаксис. Дополнительную информацию о свободных модулях C++ см. в разделе модули исходного кода C++ для IL2CPP.
Чтобы создать пакетный проект с XCode:
- Откройте XCode.
- Выберите Файл > Создать > Проект > macOS > Фреймворк и библиотека > Набор.
Дополнительную информацию о работе с XCode см. в документации Apple по XCode.
Требования
- Вы можете создать свой подключаемый модуль в виде универсального двоичного файла, совместимого с 64-разрядными архитектурами. Кроме того, вы можете предоставить отдельные файлы dylib.
- Если вы используете C++ (.cpp) или Objective-C (.mm) для реализации подключаемого модуля, объявите функции со связью C, чтобы избежать проблем с искажением имен:
extern "C"
{
float ExamplePluginFunction ();
}
Подключаемые модули Windows
Подключаемые модули в Windows представляют собой либо файлы .dll с экспортированными функциями, либо отдельные файлы C++, если вы используете IL2CPP. Вы можете использовать большинство языков и сред разработки, которые могут создавать файлы .dll для создания подключаемых модулей. Вы должны объявить любые функции C++ со связью C, чтобы избежать проблем с искажением имен.
Подключаемые модули Linux
Подключаемые модули в Linux представляют собой файлы .so с экспортированными функциями. Хотя эти библиотеки обычно написаны на C или C++, вы можете использовать любой язык. Вы должны объявить любые функции C++ со связью C, чтобы избежать проблем с искажением имен.
Управление подключаемыми модулями в Unity
В Unity Плагин ИнспекторОкно Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или проекте. настройки, позволяющие просматривать и редактировать значения. Дополнительная информация
См. Словарь управляет вашим плагином. входы Чтобы получить доступ к инспектору подключаемых модулей, выберите файл подключаемого модуля в окне проектаA окно, в котором отображается содержимое папки Assets
(вкладка "Проект") Подробнее
См. в Словарь. Для автономных платформ вы можете выбрать архитектуру ЦП, с которой совместима библиотека. Для межплатформенных подключаемых модулей необходимо включить файл .bundle (для macOS), файл .dll (для Windows) и файл .so (для Linux). Unity автоматически выбирает правильный подключаемый модуль для целевой платформы и включает его в проигрыватель. Дополнительную информацию см. в разделе Импорт и настройка подключаемых модулей.
Вызов подключаемого модуля из сценария C#
Поместите созданный подключаемый модуль в папку Assets или в соответствующий подкаталог, зависящий от архитектуры, в вашем проекте Unity. Затем Unity находит его по имени, когда вы вызываете его из сценария C#. Например: [DllImport("PluginName")] private static extern float ExamplePluginFunction();
Примечание. PluginName
не должен включать префикс библиотеки или расширение файла (например, фактическое имя файла подключаемого модуля — PluginName. dll в Windows и libPluginName.so в Linux).
Примеры подключаемых модулей
Вы можете загрузить и использовать эти проекты, чтобы научиться реализовывать подключаемые модули в Unity.
- Пример простейшего плагина. В этом проекте реализованы базовые операции (например, печать число, вывести строку, добавить два числа с плавающей запятой и добавить два целых числа). Этот проект включает файлы проектов Windows, macOS и Linux.
-
Плагин Native Renderer: это низкоуровневый рендерингПроцесс вывода графики на экран (или текстуры рендеринга). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в плагине Словарь, который рендерит вращающийся треугольник из C++ code после завершения обычного рендеринга и заполняет процедурную текстуру из кода C++, используя для доступа к ней Texture.GetNativeTexturePtr. Этот проект включает Windows, UWP, macOS, WebGLJavaScript API, который отображает 2D- и 3D-графику в веб-браузере. Вариант сборки Unity WebGL позволяет Unity публиковать контент в виде программ JavaScript, использующих технологии HTML5 и API рендеринга WebGL для запуска контента Unity в веб-браузере. Подробнее
См. в Словаре и в файлах Android.