Windows プロジェクト用の 2 つの非常に単純な Kinect があります。
1 つのプロジェクトは、 ControlsBasics-WPF (V2 SDK ブラウザーで利用可能)というタイトルの元の Kinect for Windows 開発 SDK V2 コード サンプルに基づいており、別のプロジェクトは新しいプロジェクトを介してゼロから作成され、その後 nuget パッケージ マネージャーを介して Kinect SDK を参照しています。
両方のプロジェクトのコードは、次の XAML になります。
<kinectTools:KinectRegion x:Name="kinectRegion">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2*" />
<RowDefinition Height="8*" />
</Grid.RowDefinitions>
<kinectTools:KinectUserViewer Grid.Row="0" />
</Grid>
</kinectTools:KinectRegion>
そして次のC#
public MainWindow()
{
InitializeComponent();
KinectRegion.SetKinectRegion(this, kinectRegion);
this.kinectRegion.KinectSensor = KinectSensor.GetDefault();
}
プロジェクトを実行すると、腕 (左または右) が上がると、画面上の定義されたKinectRegion
領域内にカーソルが表示されるという動作が期待されます。
ただし、 ControlsBasics-WPFサンプル コードに基づくバージョンは堅実であり、(カーソルが表示されて追跡される) ほぼすぐに期待どおりに動作します。新しいプロジェクトに基づくバージョンでは、画面上にカーソルが表示されることがほとんどないという断続的な動作が見られます。
問題を示す次の 2 つの解決策を見つけてください。
また、SDK コード サンプル バージョンから dll 参照を意図的に削除し、nuget を使用して SDK を参照して、同じライブラリが参照されていることを確認しましたが、これは動作に影響しませんでした。2 つのプロジェクト内のコードは (私が知る限り) 同じですが、明らかに何かが欠けています。
ご意見をお寄せください。