My goodness it’s been a long day of coding. I skipped my usual write-as-I-code strategy in favor of just gettin’ er dunnn. It was a lot, but I’ll summarize what I did, and explain what is left to do.
My goal today was to make the physics of the particles behave as much like they did in V1 as possible. A major piece of what inhibited that from happening was the differences in scale between the players in each project. At first, I tried scaling up my player so that the max distance between the hands in each project were about the same. When I did that and still wasn’t satisfied with the look, I decided to undertake a bit of a drastic strategy that I’d been romanticizing about since last night—replacing the Kinect manager script with the one from V1. Since I’d pivoted back to the Kinect V2 from the Azure due to the lack of hand tracking, the only thing I really still was using from the Rumen Filkov’s Kinect Demos package was the cubeman controller. I decided to nuke it all and start from scratch again. I hoped that this would point me back to glory, and, to an extent, it did.
In truth though, fixing the player scale wasn’t what got this looking solid again. More predictably, particle physics were actually corrected by more accurately copying the original VFX graph. A very important node, Collide with Sphere, was missing, and the particle color blending was way off what it used to be.
Now, for what is left to do…
- Add back the particle initialization animation
- Change the effect of closing the hands. Instead of setting the midpoint to WayOut point when the hands are closed, move the emitters to WayOut point and keep the midpoint where it should be.
- Add single hand close animations. Disable hand scaling when either hand is closed.
- Test gravitational attraction. I need to set this up in front of other people so I can calibrate while they play around. I should do this at the end of the day at my office.
- Tweak post processing. Add in Kino effect library so I can add cool effects when new players get added and when multiple bodies collide.
- Test all this on my 4080 laptop.
If—and this is a big if—I have extra time, here are some other final touches…
- Pivot the WayOut point based on the user orientation. This means that each player gets its own WayOut point. I need to get sleep before figuring out how this would work. (Project a vector from the SpineBase joint to the midpoint between the hands, then scale?)