The next control I want to touch on in the Interactions Gallery is the KinectScrollViewer. Now that we’ve learnt about the Regions, and button controls it’s time to see how we handle putting a lot of them on the page. 

 

Let’s first put the scrollviewer on the page and to make it obvious when we’ve hit it, we’ll set a bright colour for the hover:

"YellowGreen"> .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } scrollviewer_normal

Normally, it looks no different, but when we hover our hand over the screen the scrollviewer turns “YellowGreen”

scrollviewer_hover...

Read More »



The next controls I want to touch on in the Interactions Gallery are the KinectTileButton and KinectCircleButton. Now we have our KinectRegion and can see what we’re doing with the UserView control, we can start interacting.

In its simplest form, the KinectTileButton still has a lot of visual features. Simply add it to your XAML and run:

"KinectRegion"> .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } TileButton_normal

In its default form it’s a giant purple button that you can easily put your hand cursor over.  With the interactions the team has added the ability to detect a “push” gesture from either hand. As I start to press in with my hand the cursor changes to indicate that I’m pressing

...

Read More »



The next control I want to touch on in the Interactions Gallery is the KinectUserView. Now that we know that our Kinect is plugged in and working, most of us want to give the user some indication of where they are in relation to the Kinect to ensure they are the correct distance and position from the Kinect for the things we want them to do. We’ve tried a few things in the past:

1. We made a little WPF skeleton that we’d overlay over some of our interactions. This was interesting to play with but tended to be a bit distracting.

2. Use the depth camera to give a silloute effect and give it some colour. We found this was much more useful as it resembled the user so they were more easily able to tell that the Kinect had recognised them and not the guy standing to the side etc.

I’ve seen various incarnations of this by other people also, so it’s good to see we now have a standard control that we all don’t have to write from scratch. To add this control we continue on from where we left off with the KinectRegion.

XAML:

Add the UserViewer Control and bind it to our Kinect Region:

"{Binding ElementName=KinectRegion}" />Run the project and we can see ourselves:userviewer_full Don’t...

Read More »



The next control I want to touch on in the Interactions Gallery is the KinectRegion Control. It’s a canvas for the other Kinect controls and is associated with a particular sensor.

To add it:

XAML

"KinectRegion"> .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }Code behind:

1. Create our sensor changed event

_sensorChooser.KinectChanged += SensorChooserOnKinectChanged; .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }2. In our event associate the control with the sensor

KinectRegion.KinectSensor...

Read More »

When we look at the range of controls in the Interactions Gallery , the first one I wanted to highlight that you’ll see in the Interactions Gallery is the KinectSensorUI.

It’s a nice little control that shows you the status of your Kinect. It gives a nice consistent way to visually indicate to the user there’s something wrong and gets around the question of “is this thing on”. It’s also really easy to add it its most basic form.

1. Add the control to your UI

"Center" VerticalAlignment="Top" Name="SensorChooserUi"/> .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

2. Add it in the code behind

private KinectSensorChooser _sensorChooser; public MainWindow() { InitializeComponent(); Loaded += MainWindowLoaded; } void MainWindowLoaded(object sender, RoutedEventArgs e) { _sensorChooser = new KinectSensorChooser(); SensorChooserUi.KinectSensorChooser = _sensorChooser; _sensorChooser.Start();...

Read More »

interactionsGallery

As the Kinect For Windows SDK has started to evolve, the team has been adding some nice little controls which are quite useful and also controls everyone was writing in one way or another to solve the same issues. I think it’s a really good step so we’re not all spending a bunch of time writing similar controls plus it means there should be some consistency going forward if people use the supplied controls. This will help users with the learning curve with many of the applications.

When you first look through the interactions gallery it’s a bit overwhelming as there’s a bunch of controls and the interaction stream to deal with all at once. For this reason I wanted to do a set of posts so we can concentrate on them one at a time.

KinectSensorUI KinectRegion KinectUserViewer KinectTileButton KinectCirceButton...

Read More »

I’ve been hanging out until the 1.7 release of the Kinect SDK to show off a bunch of the improvements and features in the Kinect SDK. This month we’re presenting at the Brisbane .Net User Group. Planning on taking you through a bunch of the new features and go into a deeper look at the Interactions Gallery and its controls aswell as showing a few fun demos. Hoping to make the session quite interactive so come prepared to get out of your chairs. Details of the session:

Kinecting The Dots – Interactions with the Kinect SDK

The Microsoft Kinect has come a long way since its release in November 2010, with the Kinect for Windows SDK and device released in February 2012. In this session Bronwen and John will take you through some of the latest features in the 1.7 SDK release, and delve into the Interaction Gallery looking at some of the Kinect controls and interactions to help you build better navigation and engagement in your next Kinect application.

Where: Brisbane .Net User Group – Microsoft Office - Level 28 400 George Street Brisbane

When: 28 May 2013 – 6pm onwards

Register: here



 Awhile ago we started building an Bing Maps app for a client using Phone Gap and initially targeting iPhone. Now that we’re happy with the functionality we’re looking at the Android version. Today I was trying to get to step one…setup the environment and have a “hello world” app run.

I learnt/reinforced in my mind a few things today:

Skimming instructions and not following ever step precisely = more pain than could be gained by rushing in. Just cause something isn’t working doesn’t mean I’m an idiot – it might actually not work. To start, I needed to set up my computer with the right tools for developing in Android. The PhoneGap site has a good overview on how to do this. My biggest recommendation here is to read the instructions CAREFULLY and not skip over steps or skim through it. I faced a few issues by jumping the gun a bit. While i could call “java” from a command prompt the %JAVA_HOME% variable wasn’t set correctly so it took me a while of scratching my head before I retraced my steps and did it properly.

What struck me coming from a environment like .Net again was how 80’s the setup all felt. Here I was setting ENVIRONMENT and PATH variables – cutting and pasting paths out of explorer like I did many years ago.

After I created the blank project running up the blank application was easy the first time. It’s cool with the number of devices you can configure to deploy to. My first problem was that I couldn’t seem to run my app more than once on the same emulator. I tried keeping it open, I tried closing and re-deploying. The only thing...

Read More »

50

This morning started very similar to yesterday. The place was surrounded in mist, this time though everything was already wet from yesterday/last night’s rain. No real point hiking today so a little sleep in was in order. Once we got up this little guy was hanging outside our front door, totally unphased by our presence.

They guys wanted to come and clean our cabin so we decided it was a good time to go for a drive around. On the tourist map we spotted a Zulu Cultural experience / craft centre so found roughly where it was on the gps and set off. On the way out of the park we passed some local ladies weaving on the side of the road so we pulled over and I grabbed some baskets.

51

Pretty much they’re made from grass, so not sure if I’ll lose them coming back home on Saturday but it’s worth a try. They’ve weaved in some ribbon-like material to add colour etc. Don’t want to think how many hours goes into each one of these! By 10am the cloud is starting to lift – just like I thought it would yesterday....

Read More »

40

We woke to mountains of mist. Looking out our window this morning you’d never know we’re surrounded by beautiful mountains.

41

It’s a bit cold and bleak this morning but we’re essentially sitting in some clouds. I want to do the gorge walk today and it’s supposed to be 5-6 hours so if we’re going to do it, we need to leave soon. It’s not raining, just misty so we decided to give it a go see how we go. We wander down to the reception and sign the hiking book – snow shoes – N, overnight tent – N etc. Hmm…I’m ticking a lot of N’s here.

42

...

Read More »

Copyright © 2002-2013 Soul Solutions Pty Ltd. | Login