Объявление
public static void IssuePluginEvent(int eventID);Объявление
public static void IssuePluginEvent(IntPtr callback, int eventID);Параметры
eventID | Определенный пользователем идентификатор для отправки обратного вызова. |
callback | Обратный вызов собственного кода в очередь для вызова средства визуализации Unity. |
Описание
Отправить определяемое пользователем событие в подключаемый модуль собственного кода.
Визуализация в Unity может быть многопоточной, если это позволяют платформа и количество доступных ЦП. Когда используется многопоточный рендеринг, команды API рендеринга выполняются в потоке, который полностью отделен от того, в котором выполняются сценарии. Следовательно, ваш подключаемый модуль не может начать рендеринг немедленно, так как это может помешать тому, что в это время делает поток рендеринга.
Чтобы выполнить рендеринг из плагина, вы должны вызвать GL.IssuePluginEvent из своего скрипта, что приведет к вызову вашего собственного плагина из потока рендеринга. Например, если вы вызываете GL.IssuePluginEvent из функции OnPostRender камеры, вы получите обратный вызов плагина сразу после того, как камера завершит рендеринг.
Обратный вызов должен быть встроенной функцией сигнатуры "void UNITY_INTERFACE_API UnityRenderingEvent(int eventId)".
Дополнительную информацию и пример см. в разделе Собственный интерфейс подключаемых модулей.
Смотрите так же: SystemInfo.graphicsMultiThreaded.