版本:Unity 6 (6000.0)
语言English
  • C#

GL.IssuePluginEvent

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每一项修改建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

已弃用 IssuePluginEvent(eventID) 已弃用。请改用 IssuePluginEvent(callback, eventID)。

声明

public static void IssuePluginEvent(int eventID);

声明

public static void IssuePluginEvent(IntPtr callback, int eventID);

参数

eventID 发送到回调的用户定义 ID。
callback 要排队以供 Unity 渲染器调用的原生代码回调。

描述

向原生代码插件发送用户定义的事件。

如果平台和可用 CPU 允许,Unity 中的渲染可以是多线程的。当使用多线程渲染时,渲染 API 命令发生在一个线程上,该线程与运行脚本的线程完全分离。因此,您的插件无法立即开始渲染,因为它可能会干扰渲染线程当时正在执行的操作。

为了从插件进行任何渲染,您应该从脚本中调用 GL.IssuePluginEvent,这将导致您的原生插件从渲染线程被调用。例如,如果您从摄像机的 OnPostRender 函数调用 GL.IssuePluginEvent,则在摄像机完成渲染后,您将立即获得插件回调。

回调必须是“void UNITY_INTERFACE_API UnityRenderingEvent(int eventId)”签名的原生函数。

有关更多详细信息和示例,请参阅 原生插件接口

其他资源:SystemInfo.graphicsMultiThreaded