Project Beginnings
For this project I wanted to try and create a 3D character rig suitable for TV or social media production. Basing the characters design off one of the protagonists (Scout) from my comic.
The primary audience for this project would be fans of speculative fiction and mascot horror.
I went with this idea for the major project because adapting my graphic novel into something that I can actually 3D animate is something that Ive been wanting to do for a while. It also allows me to hone and develop my rigging/modelling skills and create a final product that I can take to industry as additional skill sets to my 3D animation work.
The final deliverable for this project will be this character fully rigged and usable for portfolio animations, social posts (Insta/Tik Tok/YouTube) and the potential also for it to be used for an animated pilot later down the line.
For this semesters submission I focused on developing the character model first and then using next semester to rig them.
Planned timeline for the project
Prior to semester 1 I started with developing their design. Creating a pure ref board, doing some concept sketches and block-outs.
I used the pure ref to collect not just reference images but also helpful rigging and modelling references.
Once I had references collected, I started working on a few rigging tests and the concept art.
Here are some early block-outs of the character in zBrush, the first 3 weeks of semester consisted of me just iterating on the design to get it as high quality as I could.
First Rough Block-out
Ill also started making some blog/social content videos on my progress as I go!
Semester Starts!
From the discord blog:
Update 8/3: Got some good progress on the main blocking out of the body. I squished the torso down a bit, and I think it really suits the character a lot better. The side profile still bugs me a little bit but I'm unsure where the issue is (I'll have to have a think on it). Since the model won't be highly detailed/mainly painted in substance I will be likely moving to clothing modelling soon. Not worring about texture detailing. I've booked in a mentor-sesh with one of the 3D mentors for this week and I'm hoping that I can get some good constructive feedback on the model.
Update 15/3
Started getting into the body modelling today, took me ages to figure out how to merge it all without destroying all my geo but we got there! I will likely have to go through and sharpen a few of the edges to make sure that I'm staying close to my ref.
Final Character Model!
Weeks 4 - 5 - Creating the clothing
23/3/26 Discord Update: Started the rough block-out of the clothing today! I mainly did this using a combination of masking, extruding and then sculpting out the details. This is to make sure that all clothes fit the character.
Week 5 - Completed outfit!
Honestly, I was a bit unsure if I would be able to finish it in the 2 weeks, but I managed to get it all done! Really happy on how it came out, and excited to start getting this character into retopology.
I strayed away from the original design a bit by adding in some straps to the pockets and a V-shape on the chest. I think this helps the overall design.
Starting some of the retopology on the hands. I decided to start here as I struggled alot getting the topology right on the hands/feet on my last character and decided to just bite the bullet and focus on it first.
Week 7 - Retopology of the body was completed!
This was arguably the longest and most tedious part, but I'm quite happy with how the body came out. I think it took roughly about 30ish hours. Did the math later and its roughly 60 hours ☠️. I was talking to the 3D students in class and they suggested clearing history which absolutely sped up my process by the end.
I paid special attention to deformations and edge flow, making sure things that would move a lot had plenty of loops. I also started with the most detailed parts first as these can become near impossible if you do them last.
Next week I will be doing the clothing retopology, so unfortunately, they will have to stay naked till next week.
Week 8 - Clothing retopology (mostly) done.
Completed the retopology of the clothing, not super happy with how the vest was done so Im going to take it to the mentors and see if they can offer some advice. I also adjusted the time-line since I won't be doing any rigging for this part of the project, and to give me more time for retopology.
Week 9 - Oh god UV'ing was so much quicker than retopologising.
I think in total I spent around 5 hours doing all the UV's for this project and the base character is now done. I'll be planning on taking them to texturing by the end of this week.
Since this is something that I want to take into photoshop to hand paint textures I made a deliberate effort on the body UV's to put them into a readable order.
This video was super useful in helping me setting out the UV's correctly. I also checked out these videos as well for reference.
Week 10 - Clean-up week
This week I sent some time tiding up the UV's and adjusting some of the topology of my character. This consisted of fixing texel density, topology, fixing the shape of the tights and increasing the size of the character.
Fixing characters size: They were a bit small when imported in from zBrush so i just scaled them up by 10.3.
Fixing characters clothing: fixing pants silhouette, and vest topology.
Week 10/11 - Bringing them into substance painter
Brought the character into substance to texture. This phase was easy as the character has a simple cartoony aesthetic.
First pass on texturing (no secondary detailing).
Also there was no way that I would have overlapping UV's... absolutely not...
Secondary detailing added/blue tint.
Week 11 - Back to Maya
Brought the scout back into Maya and applied their textures. Also modelled up some eyes and had a bit of fun doing a rough rig set up for them. This was set up using aim constraints and a nurbs curve.
Week 12 - Chaos, nonsense and first poses
At request of Jason, I had a go at setting up the character with a Mixamo animation. The base animations were... interesting to say the least. I did attempt to make one look somewhat normal however even with mocap cleanup it still gave an uncanny look. This clean up caused the model to have a few weird glitches as well since I had to directly edit their bones/re-attach their eyes. What I did find interesting was that Mixamo was able to identify that the character only had 3 fingers and a thumb which I thought was a neat detail!
Though I didn't really end up using a Mixamo animation for the final submission, I did use one to act as a pose base! This made things like foot positions easier to set up.
Week 12 - Pose version 1
This was my first pass at doing a pose for the character, honestly really happy how they have come up! I'm thinking I'll do a few tweaks before final submission, but yeah we are on the home stretch now!
Week 12 - Final Pose!
Week 12 - Model finished
Week 12 - Closed the characters mouth ready for rigging!
Had a lot of fun with this project, it was really cool seeing something that I had been drawing 2D for years now actually in 3D!
I'd say I definitely learnt the most doing re-topo on this one, since it was the part that had the most technical focus and I forgot that deleting history was a thing. Texturing was the most fun, it really was the stage where the character started coming to life and genuinely felt like all my work was paying off.
Looking forward to work on this more next semester! The plan-ahead is to do some rigging practise in the holidays and maybe get a start at watching some tutorial's and blocking in the joints. I'm thinking since the rig might take longer than 12 weeks I might set the project out with stretch goals, having the end result focus on adding more details/quality of life elements.
Also I want to give myself the challenge next semester to write some python for my scripting. Maybe work on adding in an effective FK/IK switch or bend/anti-pop solvers. But that is research for the break...
Pre-semester production
For this semester I will be working on making my 3D model (see above) into a 3D rig suitable for animation. Mainly focusing on body mechanics and optimisation. To assist in this process, I will be following along with ANTCGI's Character rigging tutorial, since I want to try some more complicated set ups.
This tutorial comes in 19 - parts and its quite in-depth, so I will need to be careful in following along (the smallest error in rigging can have disastrous consequences later on). To help with completing this project I began working on it before semester started.
Unlike the previous approach where the journal was organised into weeks, I will do this one in steps/limbs. If I did it by weeks it would likely be hard to follow as there is often a lot of overlap in the different rig systems being set up each week. I also have no expectations to fully finish this project by the end of semester. Since rigging is something that you can always tweak and add more to. Rather I'll aim to finish off all tutorial parts and have a good demo reel by the end!
Early skinning for the character.
After setting up the bones, the first thing I needed to do was start working on the characters skinning. This essentially made sure that when the character moves a limb that the geometry bends in a believable manner. Below are some screenshots of fixes I did.
This image is a great demonstration of pre/post skinning fix. With their right side being before fixes and the left being after.
Semester 1 Starts
I did end up having some really goofy issues with the model at the start, where the character would keep on getting super skinny or getting the THICKEST eyebrows imaginable. After talking it through with Ethan it turns out I was getting confused between 3 in maya (makes the model smooth) and ctr 3 (Does whatever the hell this is).
Over the first 3 weeks I mainly focused on doing the characters skins, trying to make deformations look clean. Below was a challenge to see if my hand skinning could match actual hand poses.
For the first pass it's not too bad. Absolutely want to add more detailing and control but it's workable.
Did some facial construction as well, as I had to make sure that the characters mouth could open. Came out super clean which is great!
I started doing my weekly update videos again. They are a fun way to document the process, demystify rigging and to practise my 2D animation skills.
Finalising the Skinning
Character skinning and flexibility was mostly done at this stage, just needed to do some cleanup post adding final details.
Ugh, first roadblock. I had set up all my hand controls and then spent an hr and a half fixing them. Turns out that they needed to be on the exact same axis as the joints. Annoying and time consuming but overall not the end of the world.
Rigging goof part 2 - I had designed and set up all the controls for the character expecting to use a parent constraint system. However, I missed the part in the video where it said that doing that method creates too many nodes. In setting up my controls for parent constraints I froze transforms which completely removed values for the controls offset. This had to be fixed which took a little bit, but a good lesson learned (keep your values).
After that little detour, the controls are all set up and zeroed using matrix offsets instead of freezing transforms. (Essentially matrix offsets are a little pocket dimensions where I store values that control the base translations/rotations/scale).
Also changed the FK body/tail/neck controls to orange as I wasn't vibing with the pink.
Also, It took me so long to figure out, but when you're parenting you got do it in this order, otherwise it just ends up in heart break:
Make sure all values are set in the attribute editor (none in matrix offset)
Run Parent script (parent -s -r)
Match transforms with Joint
Put new values in matrix offset
I learnt what an Enum is while setting up the custom attributes on my character. Enum's are a list of options that drops down when you click it.
New script unlocked // Add a proxy attribute addAttr -ln "IK_FK_Switch" -proxy "L_arm_IK_ctrl.IK_FK_Switch". Which allows me to make similar versions of an attribute that feed into the same effect while on different controls.
Down the line these attributes will allow me to space swap limbs, control deformations and do cool stuff with the IK foot.
Legit, shout out to the goat Ringscar. I was trying to add in a new show/hide control in my rig and found that Maya doesn't have a way to re-order custom attributes once set. HOWEVER, this legend created a free script that just fixes it!
Note - if you have locked any attributes before using it you will need to unlock them, but it's not a big issue
If anyone else wants it you can find it on Gumroad: https://ringskar.gumroad.com/l/bczwe?_gl=1*sghjuh*_ga*MjA1MTU0MTc0NC4xNzM0MDA4MjE5*_ga_6LJN6D94N6*MTczNDAyNTQ1MC40LjEuMTczNDAyNTg0My4wLjAuMA
I did some troubleshooting within the hypergraph to try and figure out a connection issue, didn't end up helping much but managed to get some interesting screenshots.
Show/Hide of the limb controls can now be set via the root control. This will be a useful tool for animating, as it can be easy to accidentally click the wrong control. Having the ability to show/hide controls will make the animating process way more streamlined.
Set up the FK (orange) and IK (aqua) joints. These essentially allow me to swap how I control each of the limbs.
The below image is from the node editor, pretty much it shows parent constraints selecting what is driving the primary skeleton. The purple reverse node functions to keep it as a boolean (e.g. if its 0 then its IK and if its 1 then its FK even though its two different joints being affected in the parent constraint).
This video shows the boolean in action, where the arm is jumping between FK and IK skeletons depending on whether the value is 1 or 0 in the channel box.
Setting Up IK/FK spine
One of the main things that I wanted to do in creating this character was for the skeleton to have IK and FK. Primarily as the character is both quadruped/biped within the comic and IK spines are great for animating quadrupeds (As you can mimic them having two centres of mass).
The tutorial that I was following ended up covering this which was very useful.
Connected in the visibility of the IK/FK controls. So if it was in IK mode it would only show IK controls and if in FK mode then only FK is shown.
Testing out the IK spine movement. In this you can see how the IK allows for the spine to be manipulated without having to work within the chain of joints.
IK and FK spine blending between.
Here shows the set-up of the neck controls being parented regardless of IK or FK spine.
While experimenting with the spine and neck I found that I had an issue with the cog not properly controlling the spine. However, the solution was super easy, just adjusting the rotational axis fixed it.
Turns out that one click can make all the difference.
Spine Squash and Stretch
This was a fun if not complex addition to the rig. This essentially allowed for a more organic/if a bit goofy stretching of the characters spine.
Due to the complexity of the node set up, it was a long process, but I think the outcomes speak for themselves.
Neck and Face
When setting up the neck, I did a bit of experimenting with what method I wanted to use in designing it. At first, I tried doing an IK neck, however I just found it finicky and coudln't get the correct curves that I wanted. Also, it glitched out majorly and turned my character into a bit of an Eldritch Being which wasn't really what I was aiming for.
In the end I opted for a purely FK Neck which will do everything I need for this character.
Cursed attempt of IK neck set up. Trigger warning for body horror.
In this video you can see the head orienting to either neck space or world space. Allowing it to either stay level or parented to the neck control.
A demo of the FK neck after scraping the IK set up.
In this video we can see the FK neck in action. In the end I think this method will be the best as it allows for the animator to adjust the way the neck is deforming while keeping it easy to animate.
This is more of a bonus rather than something in the tutorial, but I wanted to have a play around with blend-shapes. As this character is quite expressive with their eyes, I experimented a lot with having adjustable geo pupils.
The eye direction was driven by aim constrains connected to the eye controller. This controller is flexible to be in either world space or head space. The eyeballs then had the pupil's geo driven by blend shapes that can be set using the channel box in each eye control.
I ended up creating 4 different pupil styles, those being Large, Small, Neutral and Cat.
Eye aim constraint, and demo of world space/head space swapping for the look control.
Demo of pupil being driven by blend-shapes.
Here is a demo of it being driven by attributes within the channel box. Doing it this way makes it easier for the animator to work with.
Ear controls were set up so we can get some nice, fluid movement!
They now allow for rotation and translation, pivoting primarily from the base. I also created controls for the ear fluff, so that when the ear rotates it will affect the fluff and the animator also can adjust how it appears.
Arms
Overall, the arms were not too difficult to set up since these are standard across most biped characters. They were just an FK chain and Ik constraint driven from the chest. I also set up space swapping, which allowed them to either be affected by world space or chest space.
One element that was quite annoying was that for every limb control added I had to remove rotational offsets from the root control. This effectively doubled the amount of time spent setting up the arms, tail and legs. The video below shows what happens when you don't do this.
I may have gotten a bit too excited for creating controls for this arm and duplicated it a few times. I still have no idea why Maya decided it was a good idea to make ctrl click also clone objects.
Arms now properly attached to spine, so regardless of if it's IK or FK the arms will now follow the body. In this you can see the arm controls moving to the spines blending.
FK arms now having space swapping, so they can follow the chest or world space of the character.
FK and IK arm demo, showing swapping between the two.
Space swapping demo for the IK hands pole vector. This controls where the elbow is pointing while also allowing the pole vector to either be in hand space or world space.
In this video we can see the impact of twist joints on controlling where the hand pivots. On the left hand we can see it with the twist joint active, and the right has it without. The left arm is mimicking how the actual human body twists its wrist, opting to use the elbow to pivot the lower arm bones rather than twisting the wrist.
This stops that weird geo pinching as seen on the right hand and makes for a nicer deformation when adjusting the hand positions.
Character can now shrug! I'm happy how the shoulder deformations came out as I was struggling to find good reference for how to properly do the skin weights.
Legs
I knew this was going to be the most difficult thing when setting up this character, as I had done a similar set up with my Quentin rig. The Quentin rig used a driver skeleton to control the legs deformation with an IK spring solver. The IK spring solver is very powerful at giving the animator control over the leg bend deformations, particularly in chains where there are more than 3 joints. However, they have a bug when interacting with root control twisting.
When approaching the legs I had two options for setting up the deformations, one with rotation-plane solvers and one with IK spring solvers. The rotation solver as seen in video 30 is rather simplistic, with the lower joint being the main source of the leg bend. Whereas the IK spring solver in video 29 feels more organic and even.
Demo of using a rotate plane solver for the legs bend. While still effective, it only really allows for bending on one of the joints, keeping the knee completely still in an unnatural way.
Demo of using an IK spring solver for the legs bend. You can see this looks way more natural to what a canine leg would do.
IK spring solver leg set up in action!
HOWEVER... The curse of IK spring solver hit again and the same issue from the Quentin rig returned. IK spring solvers have issues when put into a root control, in-particular they add incremental rotations onto the joints meaning that any movement on the root affects their rotation.
In the video you can see this, where the rotation plane leg remains normal on the right, and the IK spring solver distorts un-naturally with the Y rotation. So stuck between a rock (rotation-plane) and a hard place (IK spring solver) I ended up resorting to the rock, as it would be more consistent.
Below are the final IK legs. While I would have preferred to use the IK spring solver I think for the moment keeping it as a rotate plane solver is the best option (and the one used in the tutorial). Over the break I might do some more experimenting and see if there is a way to stabilise the IK spring solver enough to use in a root hierarchy.
A cool element in the current set up is that it has a huck control. This allows the animator to adjust how the heel is translating in addition to the foot and knee movements.
Here are both IK legs in action, and showing the world space swapping of the knee pole vectors.
Some world/pelvis swapping shenanigans with the FK leg set up. These were easy to accomplish as the FK joints directly connect to the controls.
A flippin' nightmare!
I found out that after setting up the twist joints on the legs that I had a big issue. Once the legs rotated 90 degrees up, the leg would flip making them look a bit like a balloon animal. So I had to find a solution to this rather odd problem, which actually ended up being very simple but long to implement. Essentially, I had set the legs up with the twist locator set up behind the characters leg, however moving it to be on the x axis solved the issue (mostly). I say mostly as it ended up giving the rig the problem of the leg now twisting if raising above on the z axis which is a super unnatural pose. While to trigger the flip you need to get the character in a super un-natural pose, I still want to find a solution to make this rig as robust as possible. This will be a goal for the holidays.
I did get some feedback in class that I could limit how far the animator can rotate the legs, however, if I have the character doing some crazy aerials and it causes gimbal lock it makes it a lot harder to fix when your limited to two axis.
Pre-fix
Post-fix
Foot
The foot controls were fun, mainly as they had an obscure set up to make something quite neat.
For the FK foot it was super easy to get running. Pretty much just using the connection editor to directly control the joints. The only difficulty being the time it took to create, clean and apply the toe controls.
For the IK feet I had to do something a little more advanced. Using the joint set up below, It allowed the foot to have different ways you can pivot. Whether that be moving the foot from the heel, swivelling from the toe or adjusting the toe shape.
This particular set up used various parents to drive how the whole foot moved, with the left side being the heel/ankle and the right side being the toe and ball influence.
In this demo you can see an updated version of the foot set up, where IK single chain set ups give the foot a more organic peel down when moving the IK control further away.
Here is the final foot set up, where the channel box has custom attributes that drive how the foot moves/pivots. This is all being driven by nodes that connect in with the joint set up above.
Tail
Since the tutorial didn't have any instructions on how best to set up a tail I had to get a bit creative on this one. I knew I wanted the ability to do both IK and FK tail, with the IK tail having some dynamic movement to how it animates (incase I want it to wrap around an object etc).
I set up the controls for both, with the blue stars being the IK and the orange circles being the FK. Overall, I'm super happy with how the tail came out, especially with the IK it just has flowy movement to it.
Feedback throughout:
I had about 5 feedback sessions over the semester, and I think since rigging was something quite different to a lot of the other projects there wasn't much feedback outside of keep going and oh god that is horrifying. I did get some great advice from Millie in regard to limiting rotations, which while I didnt use for the leg I did end up using in the spine for the IK squash/stretch and it was super effective there!
Final Scout Rig v1
Thank you for reading!
Honestly this project is nowhere near done, I have so many tweaks, fixes, additions, and elements to add that I could easily put a few more months into it. But that was an expectation that I had going into this. Especially since I wanted the scout rig to feel high quality and be something that I can use in my own personal projects after this year.
I think pivoting from my original plan of building the rig in advanced skeleton was a good choice. Personally, I feel like a lot of these tools, especially for new rigging artists can be detrimental to understanding the basics of what underpins the characters set up. Plus, I feel like it wouldn't be a major project if I didn't embrace the chaos and try something new and daunting!
From what I've done so far, I have learnt so many new skills on the project, particularly when it comes to node editors and world space swapping.
The character still need to do the facial rigging, fixes and animation. But, from these two semesters working on both the model and the rig have been such a rewarding experience.
While I was working on this major project, I also had some adjacent projects happening in relation to the character. I don't expect either of these to add to my marks, more just to show this projects scope.
I finished the first volume of the graphic novel and printed it out as a hard cover!
I 3D printed and painted a model of the Scout!
Ended up shouting Antcgi a coffee, this man's tutorials are incredible for breaking down the process and were super helpful in guiding me to the end product.