Rig Exporter

Things have been a little slow going on account of me trying out an online Calculus course, and also starting an exercise program. I did get a few hours in here and there to make some progress though.

I got the rig exporter working, it went slower than usual because I wasn’t too motivated due to bad workflow. I also got the rig loading into the game\engine and procedurally animating.

Most of that code already existed, but it had a requirement that bones be connected head to tail. The rig I’m using doesn’t follow those guidelines, so it was not possible to line-render the results. I ripped the system apart and added support for offset bones.

The unfortunate part is that this requires storing double the amount of bone transform instances since I need to offset from the parent’s tail and then from the self’s head. That probably wouldn’t fly in a “real” game, but since the extra storage can be disabled in release builds, it’s not an issue.

The other solution is to require bones to connect end-to-end, but that doesn’t allow debug rendering of end-bones such as fingers and toes.

ObjectManagers & 3rd Person Camera

I wanted to spend some time making my various object manager classes easier to use. Now they’re all derived from a common base class, and have a more intuitive interface.

I also added better keyboard and mouse control so I won’t have to continue to drag my XBox 360 controller around with my laptop. I turned proper third person view back on – the tethering has been broken for a while. I set up 3rd \ 1st person switching to use the mouse wheel so now it functions similar to WoW or Skyrim – when in 3rd person mode you can zoom in and out, and if you zoom in far enough it switches to 1st person. If in 1st person and you zoom out, it immediately switches to 3rd person.

In this screen below I’ve switched to 3rd person and zoomed out to the extent. The tethering is working as expected.

Next I’m considering spending some time in Blender to add a rig and animation to the characters.