使用Kinect(例如椭圆形或矩形)选择一个框架元素



i(从字面上看)想使用kinect的nui捕获框架元素。假设我的网格(或画布)上有一个椭圆,我应该能够使用程序选择一个椭圆。

为了做到这一点,我认为我必须确定元素的确切位置,例如Transform.Position在Unity中,但我在WPF中找不到这样的东西。

这是我的XAML代码

<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
    <my:KinectSensorChooser HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="kinectSensorChooser1" />
    <my:KinectColorViewer Stretch="Fill" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  Name="kinectColorViewer1" Kinect="{Binding Path=Kinect, ElementName=kinectSensorChooser1}" />
    <Ellipse Height="114"  Name="ellipse1" Stroke="Black" Fill="Black" VerticalAlignment="Top" Width="120" />
</Grid>

所以我的问题是在网格上找到该元素。拥有光标或代表用户手的任何元素不是问题。但是之后,我必须检测到我的光标与这些元素之间的碰撞以及困扰我的部分。诸如ElementHover或Element挑选的事件也将有所帮助,但我想我必须自己写类似的东西。

顺便说一句,这是关于一个"工程教育软件"项目,旨在开发虚拟环境,用于工程练习,例如昂贵或危险的实验。

SDK V1.6工具包中提供的几个示例,给出了如何确定对象在屏幕上的位置的示例,并与代表玩家的自定义光标进行交互手。

我建议查看提供的几个示例,以清楚地了解互动的工作方式。该工具包与Windows SDK的Office Kinect相同的位置找到。

http://www.microsoft.com/en-us/kinectforwindows/develop/developer/developer-downloads.aspx

shapegame

此示例生成从窗口顶部掉落的随机形状(其中一些椭圆形)。这些形状与Kinect产生的骨骼相互作用。您将看到如何在窗口中以及与骨架有关的元素位置。

Basic Interactions

这个示例可以使用几件事。它显示了如何根据手部位生产自定义光标。它还可以创建一个可以连接到Kinect事件的ContentControl(例如,Enter,Enter,Hover和退出事件)。它以这样的方式构建,因为它是ContentControl,可以将任何东西都放在里面 - 无论是单个椭圆还是复杂的布局。

相关内容

  • 没有找到相关文章