2.2 KiB

SDK Quick Start

中文说明见 SDK_QuickStart.zh-CN.md.

1. Settings

Open Unity menu:

AISU/SI-M1 Face SDK/Settings

The default settings asset path is:

Assets/Resources/AISU/SI-M1 Face SDK/FaceSdkSettings.asset

Configure:

  • Transport mode
  • Runtime serial port and baud rate
  • Editor serial debug parameters
  • Mock mode
  • Auto verify options
  • Debug and raw protocol logs

2. Scene Manager

Add one FaceModuleManager to the scene and bind the settings asset. Keep only one manager in a scene to avoid duplicate serial connections and duplicated callbacks.

3. Minimal Code

using Aisu.SIM1.Face.Core;
using UnityEngine;

public sealed class FaceExample : MonoBehaviour
{
    [SerializeField] private FaceModuleManager manager;

    private async void Start()
    {
        manager.Open();
        await manager.WaitReadyAsync(5000);

        var status = await manager.Basic.GetStatusAsync();
        var version = await manager.Basic.GetVersionAsync();
        Debug.Log("Status: " + status);
        Debug.Log("Version: " + version);
    }

    private void OnApplicationQuit()
    {
        manager?.Close();
    }
}

4. Common Operations

Face verification:

var result = await manager.Verify.VerifyAsync(timeout: 10);
if (result.Success)
{
    Debug.Log("UserId: " + result.UserId);
    Debug.Log("UserName: " + result.UserName);
}

Face enrollment:

var enroll = await manager.Enrollment.EnrollSingleAsync(
    admin: false,
    userName: "Tester",
    timeout: 20);

User list:

var ids = await manager.Users.GetAllUserIdsAsync();

Auto verify:

manager.OnAutoVerifyResult += result =>
{
    Debug.Log("AutoVerify: " + result.ResultCode);
};

var control = await manager.StartAutoVerifyAsync(timeout: 10);
if (!control.Success)
{
    Debug.LogError("AutoVerify start failed: " + control.ResultCode);
}

await manager.StopFaceOperationAsync();

5. Samples

Sample scenes:

Packages/xin.aisu.si-m1.face/Samples/SI-M1 Face Demo/Scenes/FaceModuleDemo.unity
Packages/xin.aisu.si-m1.face/Samples/Face Detection Demo/Scenes/FaceDetectionDemo.unity