Kinect 4 Windows v2.0 Plugin

[=RuBa1987;187207]
I did have some weirdness around creating the event bindings. I’m not sure why this is but, as with most things, there is more than one way to do it. I noticed I had this problem when I made the event to bind to myself. I can’t remember everything exactly right now as I’m not in front of my dev box but when you do the binding I think there are two options (maybe “bind” and “assign”) try both and the one that creates the event binding for you (draws the little red line and make a new event node) is the one you want to use. I have no idea why this happens but it was yelling at me for a similar thing.

Can you describe the issue you are having with the bone rotations?

Also, I wouldn’t recommend using the transforms when you break the kinect body. I know it says that it’s deprecated but use the break the gives you the bones and use the info on the bones. That seems to be only reliable way I can get things to work. For some reason the transform data isn’t the same as the rest making it very hard to work with. I’m not sure if the mappings are different or if something is off with the rotation but it is just too difficult to work with and I haven’t had the time to look into it.

That being said, IMHO, the ideal way to do the animations here would be to set up an IK system rather than an FK system. Meaning the only bone in an arm that you would track would be the hand (or wrist) and retarget the elbow and shoulder based on that. It would be a similar feel to how A.R.T. works when using the hand IK control. Then you could also do it based on location rather than the rotation which I feel is easier to work with in general. This would give you a couple of big wins. The first being that you would be tracking less bones which means less noise on the input. The second is that it’s less data to manage. This isn’t so big but it’s nice to have to manage less data from an API.

The big downside to using the kinect bones over the transforms is that you will need to write your own filter. The one euro filter that is there only works for transforms. This isn’t all that bad and it gives you a bit more control over the filter. I redid the one euro in BP for the kinect bones and I’m getting decent results. I did it a bit differently though. I have one filter per parameter. Meaning if I am using a filter on the shoulder rotation I have a separate filters for yaw, pitch, and roll. This lets me filter each piece of data independently as each piece has its own noise and therefore needs its own filter. This also lets me set the filter params per piece of data. This also makes it extremely tedious but with some reasonable defaults and the option to override or ignore each filter it’s not that bad.

Just some food for thought.
[/]

I have been working in Unreal Engine for about a couple months now, so excuse my lack of knowledge in some areas. I’m still in fairly early stages of my development for this part of a project that I’m working on. I was trying to get the demo working since we are not looking to do any incredibly detailed design (just going to get upper body movement working with no microphone input). The demo seemed to fulfill my requirements for my project, but I can not get the demo to work as is. I tried adding the event manager in the event graph as you did in the blueprint you showed which gave me those errors I mentioned earlier linking the event bindings. I only saw one option so I will give that a shot when I have a chance, but I have some exams to write in the next couple of weeks so I may or may not have time. I will give updates here when I have tried your suggestion with the event bindings which will hopefully solve my issues.

To answer your question Ruba, my issue getting the demo to work is that the events won’t fire off at all (but they are missing the event bindings in the demo). Perhaps it is supposed to be tested in some other manner, but I figured I would add the event bindings as you suggested but I was stuck on getting those to compile so I could re-test the demo.