Procedural Bike

Goal: Develop a physically accurate bike system where each customizable aspect is interlocked yet operates independently. Changing one parameter on any given part should not affect other parameters’ values but influence how the bike stands as a whole. The ultimate goal is a standalone user experience that mimics the parametric functionality of Houdini.

This was my first personal project after getting through an intro course (shoutout HipFlask). Its a project that I’ve wanted to do that coincided with an interest for the software.

This first version is a spaghetti junction of nodes using only basic SOPS like add, line, resample, copytopoints, skin, and without any VEX. But I was hyped to just have a working proof of concept.

Drag or L-Click to Rotate Camera
Two Finger Drag or R-Click to Pan Camera
Pinch or Scroll to Zoom

The ultimate goal is for this to be packaged for web. I briefly doubted Houdini thinking it was a dead end, I don’t know why. But I took a detour to Three JS that turned out to be useful.

This was around when ChatGPT coding capability had greatly improved. Since I had already figured out how everything should be calculated, I started to make a ThreeJS version line by line leveraging Chat.

I knew squeezing Chat any further than skeletal functions was also a dead end. But at least in doing so I generated the code for the mechanics of the system plus a working interactive test.

After getting my mind straight I circled back to realize the Houdini/Unreal relationship.

Having recreated the base functionality in JavaScript, I figured I could leverage Chat the same way to convert JavaScript to VEX. Piece by piece I recreated the original bike in Houdini by converting each function from JavaScript to VEX.

I felt this was morally ok since I originally did the math by hand. It also got me more familiar with VEX by having working code. I was able to rebuild extra parts I needed by having the VEX for basic point control for a more streamlined setup.

Previous
Previous

Chipper Cash

Next
Next

Calia