调用并实现原生 UWP 插件
Understand how to call and implement native plug-ins.
阅读时间2 分钟最后更新于 1 个月前
要调用并实现原生通用 Windows 平台 (UWP) 插件,您需要了解如何为 Unity 创建原生插件。有关原生插件及其用途的更多信息,请参阅原生插件。
IL2CPP 脚本后端支持用于原生插件的 P/Invoke 机制。这意味着可以直接从 C# 代码中调用原生插件。为此,请指定原生函数原型,然后调用它。
以下示例展示了如何实现原生插件并从 C# 脚本调用它。
-
在 Unity 项目中创建一个新的 .cpp 文件,并插入以下原生插件代码:extern "C" __declspec(dllexport) int __stdcall CountLettersInString(wchar_t* str) { int length = 0; while (*str++ != nullptr) length++; return length; }
-
创建一个新的 C# 脚本并将其内容替换为以下代码:[DllImport("MyPlugin.dll")] private static extern int CountLettersInString([MarshalAs(UnmanagedType.LPWStr)]string str); private void Start() { Debug.Log(CountLettersInString("Hello, native plug-in!")); }
-
将该组件添加到场景中的游戏对象并进入运行模式。控制台将打印 22。using UnityEngine;public class ExamplePlugin : MonoBehaviour{ [DllImport("MyPlugin.dll")] private static extern int CountLettersInString([MarshalAs(UnmanagedType.LPWStr)]string str); private void Start() { Debug.Log(CountLettersInString("Hello, native plug-in!")); }}