# SDK 配置说明 English documentation: [SDK_Configuration.md](SDK_Configuration.md). SDK 推荐使用 `FaceSdkSettings` 作为配置资产。`FaceModuleManager` 可以读取该资产,并同步到运行时配置。 ## 默认配置资产 ```text Assets/Resources/AISU/SI-M1 Face SDK/FaceSdkSettings.asset ``` 打开 `AISU/SI-M1 Face SDK/Settings` 可以加载、编辑和保存配置。 ## FaceSdkSettings 字段 | 字段 | 类型 | 说明 | |---|---|---| | `TransportMode` | `FaceTransportMode` | `Auto`、`SerialPort` 或 `Mock` | | `UseMockInEditor` | `bool` | Editor 下强制使用 Mock 通信 | | `PortName` | `string` | 运行时串口号 | | `BaudRate` | `int` | 运行时波特率 | | `ReadBufferSize` | `int` | 运行时读取缓冲区 | | `UseEditorSerialDebugParameters` | `bool` | Editor 下是否使用单独串口参数 | | `EditorPortName` | `string` | Editor 调试串口号 | | `EditorBaudRate` | `int` | Editor 调试波特率 | | `EditorReadBufferSize` | `int` | Editor 调试读取缓冲区 | | `MockResponseDelayFrames` | `int` | Mock 响应延迟帧数 | | `AutoVerifyOnOpen` | `bool` | READY 后是否自动开启验证 | | `AutoVerifyTimeout` | `byte` | 自动验证协议超时时间,单位秒 | | `AutoVerifyResultIntervalMs` | `int` | 自动验证结果事件最小间隔 | | `StopAutoVerifyBeforeExclusiveCommand` | `bool` | 独占命令前是否停止自动验证 | | `ExclusiveCommandPolicy` | `FaceExclusiveCommandPolicy` | 自动验证期间执行独占命令的处理策略 | | `DebugLogEnabled` | `bool` | 是否启用 SDK Debug 日志 | | `RawLogEnabled` | `bool` | 是否派发原始 TX/RX 日志 | | `LogPrefix` | `string` | 日志前缀 | ## TransportMode | 模式 | 行为 | |---|---| | `Auto` | Editor 根据 `UseMockInEditor` 选择 Mock 或串口;Player 使用串口 | | `SerialPort` | 使用 `SerialPortTransport` | | `Mock` | 使用 `MockFaceModuleTransport` | 当 `UseMockInEditor = true` 时,Editor 使用 Mock 通信,不会打开真实串口。 ## 自动验证 `AutoVerifyTimeout` 会发送给 SI-M1 模组,表示识别超时时间。 `AutoVerifyResultIntervalMs` 由 Unity SDK 处理,用于限制 `OnAutoVerifyResult` 的派发频率。设置为 `0` 时不做节流。 `StopAutoVerifyBeforeExclusiveCommand` 和 `ExclusiveCommandPolicy` 用于控制自动验证开启时,录入、用户管理、二维码、抓拍、特征等独占操作的行为。 ## 运行时使用 ```csharp manager.ApplySettings(settings); manager.Open(); ``` 快速配置: ```csharp manager.Configure(useMockInEditor: true, portName: "COM3", baudRate: 115200); manager.Open(); ``` 自定义通信层: ```csharp manager.ConfigureTransport(customTransport); manager.Open(); ```