Tag Info

Hot answers tagged

6

If you do not want to create your own motion capture data, then there are several motion capture databases available, some of them completely free.


6

At the minute there is no support in XNA for Kinect (although, hopefully this will change in the near future). There are two ways to develop for Kinect at the moment. The first is to become a licensed Xbox developer (although it might be a little expensive :P) The second is to use the open source drivers for Kinect known as OpenKinect (libfreenect, ...


5

Long-winded answer follows. tl;dr, it's a LOT OF WORK. I've used iPi Soft and found that it works fairly well, but unsurprisingly you need to do a decent amount of clean-up on the resulting animations, especially if you're using props and such. I've also used Kinect (albeit a year ago when the available free software was less polished), and you get the ...


5

Use no try/catch in performance sensitive loops. You need to track down the source of what could cause an error, and prevent it from happening. Throwing and catching an exception is an extremely expensive operation. You are creating a Texture2D, and populating it from a stream. You could probably save some memory by not creating a new one for every call ...


5

Use Vector3 relativeFistPosition = globalFistPosition - globalRootPosition; to get the fist position relative to the root. Use this new Vector3 for comparing different moves.


5

No. Without official support they won't let you release it. The problem would be if they changed the way something worked (behind the scenes in their libraries) and you weren't going through official channels to access the Kinect, then it could break your Kinect support and it would make both of you look bad. Full blown (paid up development kit) game ...


5

Error will increase dramatically as you go farther out. At 20m, I don't think you'd get anywhere near the quality you need to run any kind of application reliably. Keep in mind that the resolution of the camera is only 640×480 pixels. Things farther away are smaller, and harder to discern. It's a hardware limitation. You will likely find it very difficult to ...


3

You can calibrate the Kinect before using it. Like letting the patient stretch his arms, stand straight, just let him do some predefined poses. From this data you can calculate his skeleton and then use relative data to compare it. Another possible way would be to focus on angles at the joints. This may be a bit more unrelated to body size, but I don´t know ...


3

The Xbox360's primary development tool is C# and Microsoft's XNA framework. You will need a copy of Visual C# (Express is usable forever once you get a free registration key): http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express And the XNA SDK: http://www.microsoft.com/en-us/download/details.aspx?id=23714 Here are ...


3

Yes, look at OpenNI with the NITE module. It is created by Primesense, who are the people that microsoft licensed the Kinect technology from. It has many compiled examples with it OpenNI uses the concept of modules, NITE is a module created by Primesense that can track hand movement, and can understand gestures. OpenNI https://github.com/OpenNI/OpenNI ...


2

What you need is to create a system driver for a human interface device, HID. The previous advice to create a driver is correct because, as you noticed, you can't simply go stuffing events into higher level systems and get universal coverage. You may want to start here: enter link description here and then continue looking around MSDN for driver samples to ...


2

There is no built-in Kinect support in XNA currently, so any Kinect development on the Xbox 360 is out of the question. If it is one day introduced, it may well be similar to the available Windows SDK, but there has been nothing announced. As for licenses and fees, you can develop for the Xbox 360 if you have a $99 AppHub account, available from ...


2

The question explicitly asks how to write Kinect games for the 360. My understanding is that XNA on the 360 doesn't support the Kinect. It seems you can possibly use it on Windows, but as I've never tried I can't confirm (but a quick internet search seems to confirm you can). Unless you're an authorised 360 developer (think have a publisher that's an ...


2

Instead of testing for distance to can test if it is contained. The Problem with distance is that it forms a circle of acceptance around you model (with radius=15 with the given code) so either way you can decrease the radius or switch to containing test. For this change the if statement to something like this (Pseudo) if(x>=s.model.PosX && ...


2

You'll need to be an "Xbox 360 Registered Developer". It's not as simple as just wanting to do it. There's more information on the Xbox 360 Registered Developer page on Xbox.com. I believe XNA doesn't support Kinect for Xbox 360, you'd need to gain access to a proper devkit and access to the libraries available only to registered developers. If you have an ...


1

You're looking for a change of basis. The way to do it is to find the coordinates of the new basis in the old one. For simplicity, we'll say that the FloorClipPlane represents the equation Ax+By+Cz+D=0 Let's do the rotation first, and then we can translate it to the floor. We'll find the coordinate of the Y axis, which happens to be the normal of the ...


1

By computing the velocity as some factor of the difference between the start and end position, you can achieve the association you want: var velocity = (endPosition - startPosition) * scale; The hard part be will choosing a value for scale. You can initially try constants -- such as 1.0f or 0.5f. This makes the velocity directly proportional to the start ...


1

Why not use the oficial Microsoft Kinect SDK? It's a .NET assembly that can be added as reference to a normal C# project. You can download the SDK from here: http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx


1

Because of SetData, performance suffers a lot. SetData makes a transfer between GPU's ram and CPU's ram. Imagine doing this operation every frame. This causes performance issues. I recommend using Task for seperating AllFramesReady method (in which you call your Video method). The images from kinect sensor may still be a bit laggy, but since they are not on ...


1

The Kinect for Windows runtime versions 1.0, 1.5, 1.6, and 1.7, allow you to develop commercial applications. Check the licensing documents for any specific terms, the legacy SDK did not allow you to develop commercial applications. Be aware that the Windows runtime versions do not support the Kinect for Xbox 360 device. You can find the specific ...


1

XNA doesn't natively support Kinect, so you've got to use the Kinect SDK and XNA in conjunction with each other. However, you can use the two together fairly easily. There's a pretty good blog over here that will get you from installing the SDKs all the way up to Skeletal Tracking. The blog posts are a bit old, but all the information contained in them ...


1

It may be 0 most of the time, as you cast to int before you multiply (btw. your brackets are somehow messed up anyway). Maybe try this code instead: int x = (int) (float.Parse(temp[0])* maxWidth); int y = (int) (float.Parse(temp[1]) * maxHeight); Regards! EDIT: Your code looks a bit messed up: At the beginning you use position += spriteSpeed * ...


1

Since vector algebra is GPU friendly, normalizations and dot products can be used to find the four corners of the original plane as follow: Given the projector point (P), the projected point (B), one arbitrary point on the plane that contains the distorted rectangle (Q), and the normal vector to that plane (n), the point of intersection (A) of the line ...


1

That matrix corresponds to the sequence of operations of (1) flipping the z-axis; (2) performing the original rotation; and (3) flipping the z-axis again. You can look at it as switching between "Kinect space" and your on-screen camera space, doing the rotation, then converting back to the original space. The resulting composite operation is the desired ...


1

I know this post is old, but as technology has caught up to this question, OpenNI has since developed a wrapper that you can use for Unity to basically drag and drop onto a biped and control with the Kinect. Also on coding for fun they have wrappers for the UDK as well. So yes, now you can, the information is out there.


1

For a C# Application: To move the mouse, the Cursor class is our friend, as Cursor.Position can be used to move the mouse. To simulate key-presses, The Sendkeys class is your friend, with SendKeys.Send() being used to simulate a keyboard press For clicking the mouse, I know of no nice wrappers, but this code should work: ...


1

Microsoft have plans to release the Kinect SDK for Windows for free this Spring (link). The point to notice here though is 'Windows'. That wording suggests to me that there'll be some additional fee to realease games onto the Indie Channel on the XBLA; though they might just absorb the charge into the current one for distributing a game to the service.



Only top voted, non community-wiki answers of a minimum length are eligible