Kinect 4 Windows v2.0 Plugin

Cool !
What do you mean by avateering ? Doing mocap ?

By avateering I mean real time mo-cap

Ok but you still want to bind the movements of the physical body to a virtual one ? (like the avatar demo) To do some kind of 1:1 tracking.
Even if you don’t record the data for playback.

Hey All!

Just pushed a new update to the kinect body manager system!

This is a simple usage example of that system

Thanks man !
Can’t wait to see the updated avatar demo !

Hello,
I’m trying to do my one version of the avatar demo.
I’m getting the rotations of the kinects joints and I’m applying them to the bones of the mesh but the orientation is not right.
I’m converting the quaternion into a rotator but I have a hard time to figure out the operations needed on the rotator before applying it to the bone.

You need to convert the coordinate system, that is something that differs from one model to another

I think I almost got it.
One thing weird :
-when I do the ā€œgeneralā€ Break Body to get the Joint Orientations and to apply them to the bones of the character, it works fine.
-when I do the ā€œKinectā€ Break Body to get the BoneTransforms to pass them to the function RotateBones, it’s all messed up.

[=BZysberg;127946]
I think I almost got it.
One thing weird :
-when I do the ā€œgeneralā€ Break Body to get the Joint Orientations and to apply them to the bones of the character, it works fine.
-when I do the ā€œKinectā€ Break Body to get the BoneTransforms to pass them to the function RotateBones, it’s all messed up.
[/]

I’ll look into it.

Also I am starting to introduce another of the kinect features!
Speech recognition!
The last push already added initial framework for speech recognition.

Download the required (x86 and x64) sdk from:
http://www.microsoft.com/en-us/download/details.aspx?id=27226
and install it in the default path (C:/Program Files…)

Good stuff !

I was trying to understand while I could not see the SkeletonLost event in my blueprint until I realized my blueprint was a PlayerController and not a BodyManager.

Anyway in KinectBodyManeger.h, I changed line 21 to :
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FLostSkeletonEvent, EKinectPlayer::Type, KinectPlayer);

And line 43-44 to :
UPROPERTY(BlueprintAssignable, Category = ā€œKinectā€)
FLostSkeletonEvent SkeletonLostEvent;

In KinectBodyManeger.cpp, I changed line 65 to :

if (SkeletonLostEvent.IsBound())
SkeletonLostEvent.Broadcast(AssignedKinectPlayerController[TrackingIds*].GetValue());

Now I can bing my body manager to the SkeletonLost events and get them.

Sorry for my dumb questions but I picked up UE 4 three weeks ago.

New update is up!

Changelog:

Added Documintation.

Fully deprecated the interface based event system (Use kinect event manager from now on), they will not function.

Optimized Input device preformance.

Renamed KinectBodyManager to Kinect Event Manager.

Added Delegates for Depth, Color and Infrared frame events.

Experimental addition:
Mouse control using left hand.

Blueprint Demo for latest changes?

Hey Thanks !

I downloaded the most recent demo project but I cannot open the project in the editor (Game Module ā€˜SciFi Hallway’ cannot be found)
the executable works for me.

Should I be able to open the project in the editor?

I was looking for blueprint examples for the latest update.

thanks for sharing!

[=;129738]
New update is up!

Changelog:

Added Documintation.

Fully deprecated the interface based event system (Use kinect event manager from now on), they will not function.

Optimized Input device preformance.

Renamed KinectBodyManager to Kinect Event Manager.

Added Delegates for Depth, Color and Infrared frame events.

Experimental addition:
Mouse control using left hand.
[/]

Just wondering if the UE 4.4.1 version of the plugin was uploaded.

Thanks and amazing work:)

I modified to replace the ā€œtapā€ by someone flapping his arms.
It’s quite easy and super fun ^^

I’ll put the demo online but first I need to use the latest version of lion’s code.
I guess the blueprints won’t be compatible anymore will they ?

Hello guys !

I’ve integrated 's latest code and made two demos. Here they are :
https://drive.google.com/file/d/0B-Q7e8uuuto-WmV3VnV4a09WNDQ/edit?usp=sharing

-TestAdvancedKinectV2 displays four characters controlled by Kinect, each one by a different person.
It also displays the color/IR/depth stream.

-TappYChickenV2 is a modification of TappyChicken where people have to flap their arms like wings to control the bird
In the future I’ll add the 's mouse control to be able to push the play button with the hand

I slightly modified 's code so I’ve included the modified files in the :
-KinectEventManager.h/.cpp are modified to use the event SkeletonLost
-KinectPlayerController.cpp is modified to broadcast the tick event

I got error

Hi thank you for the demo.

I downloaded 's latest 4.4 Engine and Plugin and compiled.

The 's old demos not works. I downloaded your demo and it displays depth and color images but skeleton does not works.

I got error below when loading the projects:
LogBlueprint:Error: [compiler] Error No delegate function ā€˜ā€™ SkeletonLostEvent_Event
LogBlueprint:Error: [compiler] Error Event Dispatcher has no property Bind Event to SkeletonLostEvent
LogBlueprint:Error: [compiler] Error Failed to create property K2Node_CreateDelegate_OutputDelegate2 from OutputDelegate due to a bad or unknown type (delegate)
LogBlueprint:Error: [compiler] Error Event signature error: Signature not found. SkeletonLostEvent_Event

Should I recompile the engine with the c++ codes provided in the demo?

Thanks

[=BZysberg;133313]
Hello guys !

I’ve integrated 's latest code and made two demos. Here they are :
https://drive.google.com/file/d/0B-Q7e8uuuto-WmV3VnV4a09WNDQ/edit?usp=sharing

-TestAdvancedKinectV2 displays four characters controlled by Kinect, each one by a different person.
It also displays the color/IR/depth stream.

-TappYChickenV2 is a modification of TappyChicken where people have to flap their arms like wings to control the bird
In the future I’ll add the 's mouse control to be able to push the play button with the hand

I slightly modified 's code so I’ve included the modified files in the :
-KinectEventManager.h/.cpp are modified to use the event SkeletonLost
-KinectPlayerController.cpp is modified to broadcast the tick event
[/]

I recompiled and it works well Thanks!

Hey All!

Another Saturday and another update :smiley:

Fixed:
-Kinect bone rotation and location coord system to UE coord system convertion.

previously the kinect was converted to coord system with Y axis as forward which is Right axis in UE, now the Kinect Skeleton output forward axis is X as in UE.
Rotation axis are:
Z along the bone and X is the bone normal.

-Skeleton Lost Delegate not firing (thank you BZysberg!!!)

Added:

-Mirror Skeleton fuction to the function library.

Only get the first skeleton state

Hi

Thank you for your efforts.
I downloaded Engine and Kinect Plugin from Github and compiled.
I created below graph but only get the first skeleton location when started.
The position doesn’t updated.
I can see Kinect Body Event continuously called but it seems the Transform values do not change.
It should work without interface right?
Anybody know the reason?

Thanks

[=;135558]
Hey All!

Another Saturday and another update :smiley:

Fixed:
-Kinect bone rotation and location coord system to UE coord system convertion.

previously the kinect was converted to coord system with Y axis as forward which is Right axis in UE, now the Kinect Skeleton output forward axis is X as in UE.
Rotation axis are:
Z along the bone and X is the bone normal.

-Skeleton Lost Delegate not firing (thank you BZysberg!!!)

Added:

-Mirror Skeleton fuction to the function library.
[/]

The bone transform can be accessed by iterating through the Kinect bone array and extracting the joint transform of the Kinect bone struct