si-m1-face-package/Documentation~/SDK_Configuration.zh-CN.md

77 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SDK 配置
English documentation: [SDK_Configuration.md](SDK_Configuration.md).
SDK 推荐使用 `FaceSdkSettings` 作为配置资产。该配置是 `ScriptableObject`,会创建在导入该包的 Unity 项目中,并可同步到场景里的 `FaceModuleManager`
## 默认配置资产
默认路径位于导入该包的 Unity 项目内:
```text
Assets/AISU/SI-M1 Face SDK/FaceSdkSettings.asset
```
打开 `AISU/SI-M1 Face SDK/Settings` 可加载或创建该配置资产。
## FaceSdkSettings 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| `TransportMode` | `FaceTransportMode` | `Auto``SerialPort``Mock` |
| `UseMockInEditor` | `bool` | Unity Editor 中强制使用 Mock 通信 |
| `PortName` | `string` | Runtime/Player 串口号 |
| `BaudRate` | `int` | Runtime/Player 波特率 |
| `ReadBufferSize` | `int` | Runtime/Player 读取缓冲区大小 |
| `UseEditorSerialDebugParameters` | `bool` | Editor 中是否使用单独串口参数 |
| `EditorPortName` | `string` | Editor 调试串口号 |
| `EditorBaudRate` | `int` | Editor 调试波特率 |
| `EditorReadBufferSize` | `int` | Editor 调试读取缓冲区大小 |
| `MockResponseDelayFrames` | `int` | Mock 响应延迟帧数 |
| `DebugLogEnabled` | `bool` | 是否启用 SDK Debug 日志 |
| `RawLogEnabled` | `bool` | 是否派发原始 TX/RX 日志 |
| `LogPrefix` | `string` | 日志前缀 |
## TransportMode
| 模式 | 行为 |
|---|---|
| `Auto` | Editor 根据 `UseMockInEditor` 选择 Mock 或串口Player 使用串口 |
| `SerialPort` | 使用 `SerialPortTransport` |
| `Mock` | 使用 `MockFaceModuleTransport` |
`UseMockInEditor = true`Editor 会始终使用 Mock 通信,不会打开真实串口。
## Editor 工具
| 菜单 | 用途 |
|---|---|
| `AISU/SI-M1 Face SDK/Settings` | 打开 SDK 配置窗口 |
| `AISU/SI-M1 Face SDK/Create Manager GameObject` | 创建或更新场景中的唯一 `FaceModuleManager` |
| `AISU/SI-M1 Face SDK/Open Diagnostics` | 打开诊断窗口 |
公开 DLL-only 包不包含可导入 Demo 示例。如果当前 Editor DLL 中仍出现 Demo 相关菜单,应视为公开版本不可用功能。
## 推荐用法
```csharp
manager.ApplySettings(settings);
manager.Open();
```
兼容式快速配置:
```csharp
manager.Configure(useMockInEditor: true, portName: "COM3", baudRate: 115200);
manager.Open();
```
自定义通信层注入:
```csharp
manager.ConfigureTransport(customTransport);
manager.Open();
```
每个场景建议只保留一个 `FaceModuleManager`,避免重复打开串口和重复派发事件。