# 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`,避免重复打开串口和重复派发事件。