Kinect 4 Unreal

As it has been requested several times we have chosen to put up our recommended implementation of mouse like control with the right hand. While every use case is different and may not find this example helpful, hopefully this collection of nodes will inspire a few of you.

Also check the previous page for the new version 1.1.

Hey guys,

I am noticing in documentation for 1.1 you have a @TODO: to put up a video conversion tutorial. Just reminding you guys in case you had forgotten at this point!
Here is the URL the TODO is pointing to http://.com/pages/k4u/KPCReplacementGuide.html

Keep up the good work,

Peter

Well that was a little embarrassing. It has been fixed now and thanks for the heads up.

Hi, I have an error whenever I Launch the project.

Can anyone help me how to fix this problem? …

Hi,

When I Launch my project it gives me this error…

Can anyone help me with this problem?

Thank you in advance … and more power …

Thank you…

This is typically the error that you get when you attempt to run the packaged project, something that epic is still addressing. There are some alternatives that may work posted earlier in this thread as well as a more comprehensive run down of the alternatives in the FAQ sectionof our website, but the only guaranteed solution for packaging is still on it’s way.

Completed Project

Hey Guys,

Just thought I would post up about a project I did using your plugin.

In Singapore last week there was a job fair for students studying in the media and advertising fields. My company, Leo Burnett setup a booth there that utilized a 2.2mx1.75m rear projection screen on the back of the booth. Using the Kinect v2 and Unreal 4 I created a small application that allowed everybody to become Leo Burnett (The company founder) and mirror their movements on the screen. Picture a gigantic mirror.

The plugin definitely helped get it up and running pretty quickly. I threw together the demo over a week or so in bits and pieces. Some interesting things I had to try and solve were the mirroring of the movements rather than exact replication. After many hours ******** around trying to do it in the software I figured out the simple solution, which was to actually flip the image on the projectors themselves. Another 1 that I attempted to find a software solution to was the angling of the kinect sensor itself. Since the sensor was placed above the screen at 1.8m the angle on it was maxed out at the 33 odd degrees that the sensor can tilt to. After wasting a lot of hours trying to get this done through the software I simply took the actor itself and rotated it 33 degrees in the engine and positioned it 1.8m off the ground surface. To position each of the 6 character meshes in their absolute positions relative to the main actor I attached all of the avateering character spine bones to the absolute position of their spine, so tracking positions did some interesting things when you stand on your toes it would appear he was lifting a bit further off the ground but it was not a big issue.

I had developed some extra functionality into the demo previously such as being able to spawn items on your hands when you point, or a physical 3D menu that would appear around your hand and allow you to do certain thingsdepending which option you chose or causing effects to happen when players shake hands etc but I decided to remove these for the display because I did not want to have to potentially debug any issues during the event so it simply tracked the people.

When nobody was around to be tracked I had 3 of the character models doing a Gangam style dance to keep things interesting.

Great work for the plugin guys, was a big help. Suggestions I have for the avateering 1 are to increase the tracking points and to allow setting kinect angle in the software, aside from that was great fun to work with.

Cheers,

Dean

Thank you for your response =) we will wait for the realease of version work for packaged project… Godbless and more power…

ZoltanJr:

Your installation looks great and we are always pleased to see people using our plugin. Thanks for your suggestions, we are looking into increasing tracking points (particularly around the hands and head) and it’s a bit unfortunate that 1.1 wasn’t quite ready in time for you to use that as it contains a lot of the things that you wanted (mirrored avateering and Kinect Pitch).

How do you feel the response to it was and do you think you’ll be using again in future?

AAguirreP:

The problem with packaging isn’t something specific to K4U, so much as an inherent problem with how the Unreal Engine interacts with all plugins. Epic are working on fixing this in upcoming engine versions, but when it is ready we will also likely not be upgrading older versions of the plugin to run with the new unreal engine version. Given there where also some architecture changes between 1.0 and 1.1 that require some conversion, I would recommend at least building in version 1.1 rather than an older version if possible to save yourself the work of converting your project later.

Hi there.

I have some issues with a concrete scenario. I want a implement a character who is sitting and the kinect shall only track the body above the hip (cause the rest is under the table -> so i have no input here). Also i want to add camera to the head so there is a possibility to look around with the Oculus Rift. Tried to add a headcamera to the characters mesh compononent by adding it to the head socket and activated the option “Use Pawn Control Rotation”, but i doesnt follow the head when starting the application. I tried to build this scenario with the help of the K4UIntroduction example but i have decent problems with the implementation. Is there a way to use the KinectPoseableMesh with a Character class? In addition for the sitting pose i did an animation for the skeleton but i couldnt make the body sticky to the chair. :wink:
Does somebody have some advice on Implementing the kind of scenario? I tried a lot with the examples but i did not come to any result.

Cheers,

We have worked with the Oculus Rift quite a lot recently as we will be demonstrating a combined Oculus / game at the upcoming GDC.

We have previously gotten attaching the camera to the skeleton to work, however there are a tremendous amount of things that can (and generally will) go wrong and there is no real way of us debugging that for you across the internet. If you keep banging away at it i’m sure you can eventually get it to work, however an alternative solution that might work for you is setting the location of a camera each tick to the location of the head bone. This is generally a lot easier to work with as it does not have any other underlying systems it relies on.

Finally, if you want to look at an example we can suggest couch knights from the unreal marketplace, it’s taught us a lot about how Oculus works with unreal.

Hi ,

I am using Unreal from Github, as I see in the documentation, at this moment it’s not possible to compile your plugin for github source versions. Is there any plan to support this in the future?

Thank you!

Thank you so much … =) I requested this one … =) Godbless…

Hey guys,

I am trying to build my VS solution under the ‘DebugGame Editor’ configuration. It builds successfully but when the editor goes to launch I get a window:
“The Following modulesa re missing or built wiith a different engine version:
UE4Editor-Kinect4Unreal-Win64-DebugGame.dll
Would you like to rebuild them now?”

When I click yes, it says it could not be rebuilt and I should recompile from source. Any advice? I am using version 1.1 of the plugin

Thanks in advance.

Iparra:

There are unfortunately no plans to support github at this time. The largest, but not the only reason for this, is the is that we would have to do a new Github release for every small update it gets. The other problems we are looking into resolving but even if they are solved we will only be doing releases for specific versions of the Github repository coinciding with our standard release schedule.

Plockhart:

Can you try building in development editor configuration? This is the environment that we use when we build the plugin and using a different one may cause this mismatch error.

Definitely the neck and hand tracking on your examples would benefit greatly from those extra tracking points. If I had more time I would have thrown them in there myself since I was doing actions on closed and lasso hands and without the animation looked a bit strange.

Also just read your updated docs for 1.1, the new hand state as execution is very handy, saves having multiple if statements in there. Also quick note, it seems you have it in the documentation twice. Once above and once below the old version.

A question you may be able to answer on. The tracked body ID, seems to be a bit random as to what 1 it assigns, I haven’t investigated too much but I would often get assigned an ID for a few hours and later, whatever conditions have changed, I get a different 1. So even with only 1 tracked body I would often get body ID 4 or 5.

The body Id’s have always been really finicky as far as the Kinect is concerned; If you load up body index basics you can see this really easily as peoples id’s will change whenever they leave frame or even if someone walks in front of them.

In we do what we can but without comprehensive image analysis of which person is who, it’s just not possible to fix the problem that Kinect saddles us with. That is why most of the demonstrations use the get centered player node, as the unreliable body index is not relevant when you are choosing a body by location. Given however what you were previously working with to increase the reliability of the tracking would need the creation of a system that tracks the location each body was in last and tries to pick up untracked people closest to that point, within a radius, when it loses someone. This wouldn’t solve the problem entirely but it might help mitigate people who get lost momentarily and can’t get their body back.

Yep that is the issue. Except I need to compile with the debug configuration so variables aren’t optimised away as I need to debug a crash in my code. Any chance you could please provide a debug compiled version of the plugin?

We have created a version of the plugin, and will be doing so for all future releases, that contains all the extra files to have the plugin run in the various different environments in visual studio.

You can download it here.

Thank you , I understand that to keep a lot of dll versions is a bit painful. I was thinking it was possible, like the Leap Motion blugin for Unreal Engine, at least it compiles for me in master branch and latest versions.

I put you a video that it would be very interesting to implement this functionality in UE and in your plugin as well:

://www.youtube.com/watch?v=UyJ6P-gnBwM

It is commented in this thread: ://forums.unrealengine.com/showthread.php?52219-Rgb-d

Looking forward to hearing from you, thanks!