Unity 2022から利用できる非同期ストリームの仕組みを使って、 Azure Kinect Sensor SDKに拡張メソッドを実装することで センサーデータをawait foreachで取得できるのか試したプロジェクト。
private async Task StartCaptureLoop()
{
using var kinect = Device.Open();
kinect.StartCameras(_deviceConfig);
await foreach (var capture in kinect.GetAsyncFrameStream(_cancellationTokenSource.Token))
{
var jpegData = capture.Color.Memory.ToArray();
ApplyColorImageInMainThread(jpegData);
capture.Dispose();
}
kinect.StopCameras();
}
Env | |
---|---|
Unity | 2022.2.1 |
Azure Kinect Sensor SDK | v1.2.0 via UnityNuGet |
OS | Windows 10 Home |
Unityプロジェクトを開いたらAssets/Scenes/SampleScene.unity
を開きます。
AKDKをつなげた状態で再生すればカラー画像が表示されます。
何かございましたらにー兄さんのTwitterまでご連絡ください。