She's Alive!
Hi. I finally put Laura into my game. Here she is:
I mostly finished modelling her around two weeks ago, though I've been making constant adjustments while texturing and rigging her. In fact, I made a larger change just two days ago I believe, when I edited the topology around her hips to get better bends in that area.
I also removed the outline shader here, because it kind of clashed with the model – her eyes were completely black, for example. I'll have to see whether I re-introduce an outline shader. I couldn't really get it to look nice with Godot 4.5's new stencil buffer, though I still think the feature is very cool.
Her Rig
Unlike last time, I decided against using an auto-rigging tool and instead manually created Laura's rig. Several reasons:
Setting up a rig using an auto-rigging tool often means creating a very complicated rig. The rig created for v1 Laura using Rigify yielded many hundreds of bones; deformation bones, organisation bones, control bones, IK, FK, literally everything you could imagine. I, quite frankly, do not need most of this. Creating a rig manually meant that I could focus on the things I needed, nothing more, nothing less. Plus, creating it myself meant that I actually understood what was going on and had to justify every single bone. This yielded a rig that's more efficient and much more manageable.
It also allowed me to add extra bones much more easily. I'm aware that it's possible to add bones to a Rigify rig, but as far as I know, this requires writing Python code, and while I know Python, I know absolutely nothing about Blender scripting. In my rig, adding more bones was as easy as... just adding more bones. This was particularly helpful for the zipper, hood, earrings, and her hair. Likewise, I could omit any bones I didn't need. Therefore, Laura has no facial bones except for her eyes – something that I think is not easily doable using Rigify (you need to keep or delete all face bones at once).
I also had more creative liberty over creating controls. So far, I've only added a pivot control shape for the root bone (the circles at the hips), but I might add more.
...that's all for Rigify vs. manual rigs.
The model is mostly FK, except for the hands and legs, which are controlled using IK. Extra bones near the knees and elbows serve as pointing targets. For simplicity (and because I don't yet know how I could even do this), I don't have any IK/FK switching mechanic implemented. I don't think it'll be necessary, though.
I'm honestly quite happy with this!
Her Hair
The transition to ponytail hair is done! It also allowed for a hair tie as an extra accessory.
I've even added some (not quite finished) hair and hood physics using SpringBoneSimulator3D. Compared to Laura's v1 model, this one has many more bones in the hair, so that it can animate smoother. The ponytail is also – as I had expected – much easier to animate properly than flat hair, since it doesn't need to collide with her shoulders and deform appropriately (for which I'd have needed many more bones). Compare the rigs between the old model (left) and the new (right):
UVs
I decided to split Laura's textures into four UV groups:
- skin
- hair
- hoodie and hair accessories
- other clothing and prosthetic arm
- mask glow highlight
The glow highlight is for overdriving the albedo separately from the rest of the model.
Right Arm Prosthetic
I decided on a relatively simple prosthetic design now. I also changed the colour to white because it honestly just looked a lot nicer than the grey I'd used before. With the toon shader, I don't think a metallic or reflective look would really be possible anyway.
While modelling her right hand, I also had an idea: instead of creating a second hand from scratch, why not take her left hand and edit that? Doing this meant that the hands don't look drastically different from one another – as in, they look different, but they still look as if they belong to the same character. It'll also make rigging and animating much easier if both sides are similar. That way, I was able to symmetrise the rig and I'll thus be able to mirror poses!
What's Next?
More Animations
So far, the only animations available are the bind pose (A-pose) and the idle pose. I plan to make many more, of course, and I've been having quite a lot of fun already posing Laura.
It's quite easy in Godot to put animations together – and quite fun too, I think. You can blend multiple animations together, and you can also use AnimationNodeStateMachine to define logic for switching between animations. It's quite cool!
your clothes
What might be BLATANTLY obvious is the unfinished texturing on her trousers. They are still missing some details, though I figured that's a problem so minor that I can just fix it down the road and replace the .png once I've updated it.
I did, however, make sure to lay out the model UVs in such a way that her hoodie and hair accessories share a texture, which can be hue-shifted with a shader in-game. Has potential for a future cheat code, hehe.
Minor Fixes
There are some small things I still need to fix. For example, Laura's hair UVs don't yet seem to play quite as nicely with the hair shader as I'd like.
I may also have to make some adjustments to the zipper, since I currently cannot get SpringBoneSimulator3D to animate it. I'll have to see whether this is a configuration error or if I need more bones to use it.
...and then?
Well, I've not really thought this far ahead. I've been working on Laura for so long – since November of last year, remember! – that I've mostly focussed on finishing that. I guess my next step is to animate her and make the animations work in-game. As for where I'm taking the game next; I have rough ideas but I'm not quite sure which steps to take next, exactly.
What's a bit annoying is that I'm currently doing an abroad semester, which means that I'm not home and cannot access my usual equipment. I have my laptop and a good mouse with me, but I'm missing my monitor setup – working off a single 14-inch screen is admittedly a bit strenuous, since tools like Blender and Godot split up their workspaces into panels, which quickly become crammed. I've noticed this most when animating in Blender.
I'm considering taking some days to bury myself in the depths of the university library here to animate. They have 34-inch screens available to use with personal laptops.
I've been quite enjoying working on this game recently and I've been making good progress to. In the past three weeks, I've made progress almost every single day! I'm hoping to keep this up.
