SamuKata
doodlechaos
doodlechaos

patreon


Chaos League Episode 3 is out!

Special thank you to all my patrons! I'm having a ton of fun making Chaos League and hope you all are enjoying it as well. It has taken a ton of work, and I've learned so much along the way.

My main takeaways from this project (mostly me rambling just to clear my head):

  1. Unity Package Manager is amazing! Learn to make your packages, and you'll become 10x more organized. It's so cool that I can make a change to my visualizer spectrum package and then update it into all other Unity projects with ease. No more duplicate instances of code across projects.
  2. Animation does not play well with kinematic rigid bodies. The challenge was to make super-fast-moving bars animated to music interact naturally with rigid body physics and exert the proper force on the balls based on their change in growth velocity on the bar from the music. Making the bars grow while also maintaining the correct velocity was a tough challenge. My solution was to create "caps" for each of the bars that are a constant scale, then scale a secondary base mesh underneath it. Now, how should I move these caps? First failure, PID controlled caps, it looked correct, but the balls kept glitching through the bar colliders. Second failure, making custom config joint sliders for each of the caps so that they are locked into a certain range of motion. This also had crazy bugs in the physics. Sometimes the balls would stick to the top even as the bars were moving down against gravity. My theory for why this method was failing was that the penetration resolution tried to push the bar away to resolve the collision, rather than the ball, but the rigid body world somehow wasn't aware that I had a constraint due to the config joint? IDK. Constraints + Rigid bodies in Unity have been buggy in my experience, but I'm probably doing something wrong. Finally, the working solution turned out to be the simplest. All I had to do was make the rigid bodies kinematic and animate them with Rigidbody.MovePosition(). This updates the velocity correctly, and voila, no more glitches!

Fun facts:

Don't forget to customize your profile picture on Patreon and customize your ball on doodlechaos.com for the next episode on 3/15/23. The finale is coming up next, and you're not going to want to miss it!

An extra reminder to make sure to utilize the free trial, and absolutely no worries if you cancel. However, if you do before the video comes out, I won't be able to draw your information from the API, and you won't spawn in. Also, custom pledges below the "Doodler" tier will not spawn in.

Best of luck in the final chapter of Season 1!

Chaos League Episode 3 is out!

Comments

232th, better than last time !

AlexLeNoob

Oof, my worst performance yet. Great video, as always!

O. hannah


More Creators