“If you wish to make an apple pie from scratch, you must first invent the universe”Carl Sagan
Okay, so not that much from scratch. After the epic game jam I felt the need to figure out a better way to get 3rd person characters going. I wasn’t entirely happy with what I had, but it’s what I could get from the free version of Fuse on Steam.
Because of this, I’ve been investigating and doing some pathfinding prototypes for a personal “Third Person Character” pipeline. I’m finding moderate success so I thought I’d show where I think things are working out and where they are not.
As far as I see it, there are a 6 major areas that need to be handled to create a unique 3D asset, with the amount of detail needed for a main 3rd person character for a game. I’m not discussing the implementation in Unreal, only the assets themselves and the pipeline to produce them.
These are the areas:
- Basic Human 3D Modelling and Sculpting
- Hard Surface Modelling (shoes, other accessories)
Basic 3D modelling and sculpting (and rigging)
There are a ton of programs out there to create 3D characters (Daz, Character Creator, MetaHuman, etc). They all have pros and cons. The main thing in the balance for all of these options seems to be this: The simpler it is to create a character, the less customizable it ends up being.
MetaHuman by Epic is amazing. You can get a fully rigged, incredibly high quality character in minutes. Seconds, if you’re not picky about the look. The problem is that the customization for the clothing and the story of the character are not so lenient. It requires a lot of after the fact customization for a program that is mostly designed to export using Quixel Bridge, plug into Unreal and call it a day. If you want to add other clothing, or retopologize for real time use then the path begins to get difficult to travel.
Character Creator by Reallusion has the most confusing market segmentation I’ve ever seen, on par with SideFX’s Houdini. I understand the need to tailor the offer for pro studios but for a solo dev this is just a mess. You need several licenses to get something going. So I haven’t explored it, I’m sure it’s great but it’s just not for me.
DAZ… it seems okay. Honestly, it looks to me like a lot of the 3D models available and clothes are tailored to a very specific type of purpose… let’s just say that I need clothes for my characters that have some more textile material than the ones offered (for the most part, this is a bit of hyperbole regarding the market and offer). Also, a lot of upselling, like… you have to purchase a pack of just pants. Seems like a very expensive way to play Barbie, I’m not a fan of that nor do I consider it cost-effective.
Anyway, enter MakeHuman. Totally free, works seamlessly with Blender (also free), and creates characters with great quad topology out of the box. The clothes… not so great, though. With minimal work I’ve been able to create a character from scratch there, rig it and export into Blender. The rig is 100% compatible with the Unreal skeleton. Fantastic stuff. 2 items down, 4 to go.
This part has been the most frustrating one so far. Blender does not simulate clothing physics as fast as Marvelous Designer, nor is it as friendly when doing so. And I don’t own MD, just saw the videos on YouTube. In Blender, the entire sewing thing is a bit confusing and the fact that it does it using vertices instead of a full edge creates these gaps in the clothes that are very difficult to fix. I ended up having to re-mesh the clothes, and then sculpting a bit to make them better. I think they still need some work, but for now they’ll do. I can always improve on this later as my skills get better. Again, sculpting is another thing I am looking to get better at. Blender is great, but it’s not ZBrush, the freaking brushes, man… Anyway, this is the result so far:
Hard Surface Modelling
In all honesty, hard surface modelling is the thing that worries me the least. I’ve used Blender for years now, I know how to model stuff, and it does not matter if I make it too high poly because I’ll be baking the normal map later and keep the character with a very sensible tri count.
BTW, for creating low poly versions of high poly assets I HIGHLY recommend Instant Meshes. Oh. My. What a plugin, what an app! And like most so far totally free, because it is part of a research paper. Thank you SO much to Wenzel Jakob, Marco Tarini, Daniele Panozzo and Olga Sorkine-Hornung for releasing this.
Hard surface modelling all good. Hair on the other hand… this stuff is hard! I’m stuck right now trying to figure out hair cards and how to bake the normal and height maps for those. I’ve used the new Blender hair system available in version 3.3. It is amazing and much easier to handle than the particle system it previously had, although no physics for this. BUT, you can convert one to the other. I’m really digging it. The only thing is… I don’t know why they took out the scissor tool. You could literally cut hair with a brush. I kinda miss it.
Anyway, I’ve got some pretty decent assets going for this but baking it all into usable cards is my current roadblock.
I purchased Substance Painter and I am also learning to use it. I can do texture paint in Blender but honestly the brush handling is similar to the sculpting, you need to get alphas, and sort them… it’s just a pain. There are a few add-ons that help with all of that, but Substance was cheap on Steam and just far easier to pick up and understand. Plus, there are a lot of procedural tools in Substance that will make my life easier. I am looking forward to texturing those clothes and the skin to make the entire character come alive, once I get the hair going.
I also love that once I’m within Substance I can just export the entire thing in Unreal format, ready to use, with normal map, ambient occlusion map, etc. All the maps baked in a single place, along with the textures. Because of the compatibility with Unreal, it will be the last step in my pipeline.
So far, I’m excited at all the stuff I’ve been learning and the road ahead. I also have Advanced Locomotion System v4 in C++ ready to go for implementation, as well as some custom animations and things in mind. This is all pretty freaking ambitious but whatever. I love single player, story driven, 3rd person games. The post image should be a really clear hint of that. I’ll aim high and then fail higher than a safe bet by doing all of this.
I will post more updates once I make progress. Thanks for reading!