跳到主要内容

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...

image_53

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

image_54


方法 2) 通过 Git URL 添加包

  • 选择菜单中的 Add package from git URL

image_49


在使用任意方法安装成功后,Razer WYVRN SDK 包将显示在资源包列表中。

image_50

安全性

为防止第三方注入恶意代码,插件会验证 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 灯光效果、触觉反馈,或者同时触发所有特效。

image-8

下载

SDKs

  • WYVRN SDK
EngineGit RepoDownload LinkGit RepoDownload LinkGit RepoDownload Link
EncodingUNICODEASCIIMULTI-BYTE
WYVRN Design TemplateGitDownload
WYVRN C++ SDKGitDownloadGitDownloadGitDownload
WYVRN Unreal SDKGitDownload
WYVRN Unity SDKGitDownload

命名空间

在使用 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 相关功能将会被禁用,直至用户再次启动应用或游戏。 初始化失败的常见原因包括:用户未安装 SynapseChroma App。 在WYVRN SDK初始化成功后,请等待约 100 毫秒再开始调用事件,以确保系统准备就绪。

image-5

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_AEVENT_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();