WYVRN Unity SDK
WYVRN SDK 提供 C# API,用于集成 AI、Chroma 灯效以及触觉反馈。
About
WYVRN SDK 是运行时游戏插件,提供统一的 API,用于为事件命名,以及播放触发外部 AI、Chroma 灯效播放和触觉反馈的事件。
Unity SDK 入门
- 此WYVRN SDK 插件要求
Unity 2021.3.15f1或更高版本。
安装配置
通过 Unity Package Manager 导入 WYVRN SDK 的步骤如下:
- 打开 Unity Package Manager,点击工具栏中的
+按钮。
通过磁盘或 URL 添加 WYVRN SDK 包
方法 1) 从磁盘添加包
- 选择菜单中的
Add package from disk...。

- 下载本仓库并浏览本地文件,找到
package.json文件进行加载

方法 2) 通过 Git URL 添加包
- 选择菜单中的
Add package from git URL。

- 在出现的文本框中输入 URL https://github.com/WyvrnOfficial/Unity_WyvrnSDK.git 并点击 Add添加。
在使用任意方法安装成功后,Razer WYVRN SDK 包将显示在资源包列表中。

安全性
为防止第三方注入恶意代码,插件会验证 Razer Chromatic Library 的有效签名。DLL 签发方需确认为 Razer USA Ltd.。若签名验证失败,Init 和 InitSDK 方法将返回 RZRESULT_DLL_INVALID_SIGNATURE。
通用信息
WYVRN SDK 允许应用或游戏在 Chroma App 的 应用列表中设置其相关信息。
本文档提供使用 WYVRN C++ SDK 集成 AI、Chroma 和触觉效果的指南。以下是 API 可用方法列表:
-
Initialize SDK: 初始化 WYVRN SDK 以使用其方法库。
-
Set Event Name: 为游戏事件或触发器命名,以触发Chroma 灯效或触觉反馈。
-
Uninitialize SDK: 在使用完成后安全清理和卸载 SDK。
WYVRN SDK 概述
WYVRN SDK 是将 AI、Chroma RGB 灯光和雷蛇 Sensa HD 高清触觉技术融于一体的整合SDK。通过将 AI、RGB 灯光和触觉反馈集成到游戏环境和事件中,玩家可以享受真正沉浸式的游戏体验。WYVRN SDK 能够在支持雷蛇 Sensa HD 高清触觉技术的设备上播放 Chroma 灯光动画和体感触觉效果。通过在游戏程序中调用 SetEventName() 方法可以触发 AI 交互、RGB 灯光效果、触觉反馈,或者同时触发所有特效。

下载
SDKs
- WYVRN SDK
| Engine | Git Repo | Download Link | Git Repo | Download Link | Git Repo | Download Link | |
|---|---|---|---|---|---|---|---|
| Encoding | UNICODE | ASCII | MULTI-BYTE | ||||
| WYVRN Design Template | Git | Download | |||||
| WYVRN C++ SDK | Git | Download | Git | Download | Git | Download | |
| WYVRN Unreal SDK | Git | Download | |||||
| WYVRN Unity SDK | Git | Download |
命名空间
在使用 WYVRN API 之前,需要在脚本中添加对应的 WYVRN SDK 命名空间。
using WyvrnSDK;
API 类(API Class)
WyvrnAPI 类为 WYVRN SDK 提供了一个封装接口,方便调用底层功能。
初始化 SDK(Initialize SDK)
在使用 API 前,需先初始化 WYVRN SDK。
InitSDK 方法接收一个 AppInfo 参数,该参数用于定义您的应用或游戏的基本信息,并将这些信息显示在雷云 (Synapse) 和Chroma幻彩应用 (Chroma App) 的 Chroma Apps 应用标签页中。
InitSDK 方法存在一个返回值,若返回值为 RZRESULT_SUCCESS,则表示 API 初始化成功,可正常使用。
若返回值为其他非成功结果,则WYVRN 相关功能将会被禁用,直至用户再次启动应用或游戏。
初始化失败的常见原因包括:用户未安装 Synapse 或 Chroma App。
在WYVRN SDK初始化成功后,请等待约 100 毫秒再开始调用事件,以确保系统准备就绪。

private int _mResult = 0;
public IEnumerator Start()
{
if (!WyvrnAPI.IsWyvrnSDKAvailable())
{
_mResult = RazerErrors.RZRESULT_DLL_NOT_FOUND;
yield break;
}
WyvrnSDK.APPINFOTYPE appInfo = new APPINFOTYPE();
appInfo.Title = "Razer WYVRN Unity 游戏示例应用";
appInfo.Description = "Razer WYVRN SDK 的使用示例应用";
appInfo.Author_Name = "Razer";
appInfo.Author_Contact = "https://WYVRN.com";
// 0x01 | // 实用工具(标明为工具类应用)
// 0x02 // 游戏(标明为游戏应用)
appInfo.Category = 1;
_mResult = WyvrnAPI.CoreInitSDK(ref appInfo);
if (_mResult == RazerErrors.RZRESULT_SUCCESS)
{
// 初始化成功!准备使用 WYVRN SDK!
}
else
{
// 初始化失败!下次游戏启动前停用 WYVRN SDK!
}
}
设置命名事件方法(Set Event Name)
游戏事件可以通过命名来设置,从而添加和触发外部技术效果,进而增强互动体验。
在为游戏中的事件命名后,这些事件名称可以被用作查找键,用以触发 AI、Chroma 灯效或触觉反馈(haptics)等功能。
例如,调用 SetEventName("Jump") 方法设置跳跃事件,可以为该跳跃事件播放一段 Chroma 动画。同时,该 Jump 事件也可以触发一个触觉反馈效果,从而增强游戏的沉浸体验。
除 SetEventName() 函数以外,无需额外调用其他 API 即可实现灯效和触觉反馈的触发。
某些游戏事件可能只有灯光效果,或只有触觉反馈,或同时具备两者,这完全取决于游戏设计。最终目的是通过触发不同的游戏事件来创造合理、沉浸的游戏体验。
SetEventName()函数调用示例:
// 触发AI指令, Chroma灯效, 和 haptics触觉特效
WyvrnAPI.CoreSetEventName("Jump");
该 API 支持在参数中声明 一个fallback(回退)参数:当 WYVRN 配置中无法基于主事件名完成匹配时,可使用备用事件名作为回退方案。
例如,EVENT_A;fallback=EVENT_B 的含义是:系统会先在 WYVRN 配置中查找并匹配 EVENT_A;若未匹配成功,则回退并尝试匹配 EVENT_B。
在尝试回退到 EVENT_B 之前,EVENT_A 会先依次检查与其相关的外部命令(external commands)与回退命令(fallback commands)是否存在匹配项。只有在这些匹配尝试均未成功后,才会继续对 EVENT_B 执行回退匹配流程。
如果 EVENT_A 与 EVENT_B 均未匹配成功,则系统不会触发任何操作。
WyvrnAPI.CoreSetEventName("EVENT_A;fallback=EVENT_B")
通用数据库(Generic Database)
在游戏设计完成后,会配有一份 WYVRN 配置,SetEventName方法会基于该配置尝试查找匹配的特效。
如果在游戏自身的 WYVRN 配置中未匹配到对应的事件特效,系统将继续在 GenericEvent 的 WYVRN 配置中进行匹配查找。
如果游戏配置和 GenericEvent 的 WYVRN 配置均未成功匹配,则系统不会触发任何操作。
卸载 SDK(Uninitialize SDK)
应用程序在退出时应调用 Uninit() 方法来卸载 WYVRN SDK,以确保清理和安全退出。
只有在 SDK 成功初始化后,才需要执行对应的卸载操作。
卸载操作的预期返回结果应为 RZRESULT_SUCCESS,表示卸载成功。
if (_mResult == RazerErrors.RZRESULT_SUCCESS)
{
int result = WyvrnAPI.CoreUnInit();
if (result == RazerErrors.RZRESULT_SUCCESS)
{
// WYVRN SDK卸载成功!
}
else
{
// WYVRN SDK卸载失败!
}
}
入门指南
Frameworks框架支持
-
Windows WyvrnSDK (32-bit)
-
Windows WyvrnSDK (64-bit)
资源(Assets)
游戏中只需使用 SetEventName 函数来为游戏事件触发器命名。
无需在游戏中加入任何其他资源,即可添加触觉反馈和灯光效果。
这些效果的播放是通过外部的 WYVRN.config 文件中定义的事件名称来控制的。
完整 API(Full API)
WYVRN SDK Library 方法:
PluginCoreInitSDK
直接访问底层 API。
// DLL 接口
EXPORT_API RZRESULT PluginCoreInitSDK(
ChromaSDK::APPINFOTYPE* AppInfo);
//C#类封装调用
int result = WyvrnAPI.CoreInitSDK(ref appInfo);
PluginCoreSetEventName
直接访问底层 API。
// DLL 接口
EXPORT_API RZRESULT PluginCoreSetEventName(LPCTSTR Name);
//C#类封装调用
int result = WyvrnAPI.CoreSetEventName("Effect1");
PluginCoreUnInit
直接访问底层 API。
// DLL 接口
EXPORT_API RZRESULT PluginCoreUnInit();
//C#类封装调用
int result = WyvrnAPI.CoreUnInit();