top of page
skinner3453

Shen - Realistic Pandaren Project - Part 1

Updated: Mar 9, 2024


Teaching to Tech Art - Chapter 2


Year 2 on Uni is upon me as is my commercial asset production for realtime (CASPR) module! My task is to create a modern take on a WoW Pandaren character including scuplts, models, textures,  a rig, mo-capped animation and an entire environment, phew. It’s gonna be a wild ride. 

This will act as my dev log so enjoy (or not) the process and feel free to make comments on any or all of what you see its super useful for me professionally but also for reflection purposes. Thank you!


Modern Pandaren - Planning

I started this project by doing a tonne of initial research (below), I have never really done a character before so I’m going to need to answer a lot of design questions early on to avoid technical issues later on, I have a few considerations that need to be mindful of as I progress, the first of which is the Mocap element of this project, We will be using a human actor who will likely not have Pandaren proportions so I will need to really emerge myself in mocap before I need to (if that makes sense) to that end Ill be helping out with Xsense and Optic mocap over the next few months whilst also testing out some mocap data on a test rig I plan to setup as soon as my character is fully realised. 


These kinda of things are only fun when you make an outlandish statement that later on in the project turns out to haunt me so here goes: I’m pretty confident ill be able to build a rig that accounts for the difference in proportion between the character and the actor, that being said as of right now, I have no idea if that’s true so lets hope moving forward this isn’t an issue!



Following on from research, sketching is playing a huge part in this design process, whilst the lore is based on Warcraft I really want to create something that is totally unique, which means exploring everything through iteration which I love doing. 


Initial sketches



My initial sketches are just my way of trying to explore different ideas, I am trying to force myself to explore extremes of the design early on to see what’s possible and hopefully produce something it is unique looking but convincingly WoW/ Blizzard-esq in its design. I know I’m going to have Otto sculpt this fully later on so again I’m trying to consider different body shapes and begin to explore how things like body fat could be stored and how it may hang off the body. In my mind the sooner I answer these questions the smoother the process will be.

I like all the designs in their own right but the one ill likely take further is design 7 (codenamed chonk) because I felt this gives me a solid frame with which I can explore a lot of different potential later on, I also want to keep that stylised feel wow characters have whilst pushing the fidelity of the final product in a way we (hopefully) haven’t seen before in a game engine



As I write this is I know I’m going to need to explore the lower half of the design for this character more in the next few weeks, but for now I just wanted to see what what might fit and what might not, this process involved me overlaying reference legs and doing a quick sketch to work out their fit, I’m immediately against design 2 because the proportions are too human, Pandaren have a very recognisable silhouette which I’m keen to maintain, design 1 I think fits best but I can’t help but be drawn to design 3The legs need to be a bit shorter but I like the overall shape, they are suitably stylised, whereas design 1/2 are very human. Still not sure which direction ill go in right now, all I know is that this character’s RIG will need to map to humanoid mocap data so ill need to workout a way of keeping the skeleton proportions humanoid-ish whilst keeping the silhouette pandaren. No small feat. 



I explored a lot of different styles of face for this character before deciding which to take forward. I wanted to explore a wide range of possibilities because I have no idea what the face is going to look like, but it IS arguably the most important part of the design, this character is going to be a good guy rather than a bad guy and a lot of that narrative is told through the facial features. I have also never drawn any kind of faces before so I was excited to give this a go. Not the best stuff ever BUT I was very happy with the range of designs I was able to communicate.

Design Page 2 design 4 was my personal favourite after combining the realistic head (Page 1 design 3) with  the more stylised facial structure from other designs.



I will re-present these in the next few days as they’re all of over the place but I was initially really worried about the eyes. I mentioned above I hadn’t drawn heads before so now I had to draw eyes. As you can see my initial designs were really off really sloppy and didn’t really communicate much difference they’re kinda the same design re-hashed over and over, it took me a little while to get brave and try for something different I was also well aware that the eye structure I was looking for Chinese, and I’m a white British guy! So reference played a huge part in creating these designs. I eventually ended with design 10 which really stuck in my mind It just felt right, had a lot of character and left a lot of room for shading exploration later on.



Face shading tests



Fur Tests


__________________________________________________________________________________


SOOO, a little update. Character turnaround is done which means its almost ZBrush time. I'm really very happy with how this turned out because 2D art isn't a huge strength but I'm really excited to be able to produce stuff like this now, it honest is making my life so much easier when it comes to design work. 



Moving on with the project means Ill need to consider how I'm going to mo-cap this and how I'm going to render the fur. For Mocap my biggest issue (in case you're new here) is that this pandered character does not share human proportions, but I will have to use human mocap data (obviously) so the issue ahead of me is how do I translate the mocap data on a non human rig - Well! My initial plan is to use constraints to allow the mocap to drive the movement on my rig, however setting this up will be time consuming, so I would like to create a python tool in Maya that will:


- Look at the mocap joint info


- Map that info to my rig


- Constrain movement and rotation to the correct bones / joints


Now I have never used Python before but I am very familiar with C# so I'm hoping I can work this out, because its a common problem and I would love to help solve it.


Moving onto the fur, I'm going to be using XGen to create the groom then importing it into Unreal using the Alembic groom importer which should allow me to bypass the cards phase and create a much for natural looking fur - which would be amazing because I'm really trying to push the quality of this character and environment as far as I can!


Until next time! I'm going to continue working - as always if you have any comments or feedback or suggestions please comment! 


Concept Progress


__________________________________________________________________________________


Character Blockout



Super unhappy with the look I have achieved I made some changes based on some feedback and found a better balance / nicer silhouette



Zbrush Progress


Zbrush work started with some adjustments to the overall shape and look. I really wanted to nail the basic figure before i started adding loads of detail.



The below turnaround was the first point i was really happy with the design i have iterated a tonne so far because I'm desperate to create a really awesome looking character.



Details have now started being added, I was happy enough with the overall design that i felt confident enough to lock it and in and start adding large scale details



This was the point I considered the sculpt done a few refinements will still be made but in terms of the overall look and feel I have captured what I wanted to, its been an incredible experience bringing Shen to life



Retopology!


I used Maya and quad draw for the retopo, this workflow felt really fluid to me and I was able to pickup the process very quickly. I made a lot of topology errors during this progress abut I was able to iterate my way through them, you will see the overall topology change quite a lot during this section



You can really see the difference between the top and bottom images. the bottom image has a much cleaner topology and the chest topology in particular is looking very clean.


I made the decision at this point to separate the mesh up into mesh groups to make life easier for me when it comes to switching out mesh's and materials when I come to create the armour



Baking


Now that retopo is done I hoped into Marmoset toolbag to do the bake. This is without question my favourite tool for this. I can create really intricate skew and offset maps to get a really clean bake, I also love the pre-vis bake option so I can see in real time which settings are making a big difference and which settings have made things worse. I used to use substance painter but to be honest Marmoset has far more utility and works much faster.


I was very happy with the baking results shown below



Materials!


Materials were made solely in Substance Painter using the maps baked in marmoset. I was really amazed at this turned out!



Flat Material previews


Because of the use case of this character i took the decision to use more UV that i would normally, I Broke the mesh up earlier in this process and I kept the materials unique to this sections the downside of this approach is having five different character material IDs, the upside is that I can keep these textures low res enough to avoid almost all stuttering / texturing popping in engine when I build the item swapping system.



Sculpting, Retopo and Texturing the Teeth



Eye Balls


My eyeball approach was pretty simple. I have two spheres overlapping each other. The inner sphere is seen below being sculpted. the out sphere is a much simpler object with a black material and small opacity map to create a window through which we can see the inner eye. This creates really realistic looking shadows around the eye's without any fancy shader setups - when i rig this I will skin the outside edge to the head bone and the inside to the eye bone to create eye movement without needing to re-calculate the shadow detail in



First Beauty Pass

I'm very, very happy at the overall quality of the character so far. No material seams are visible despite being so numerous and you simple cannot tell that the mesh is in multiple parts. The eyes look fantastic, the only issue being them needing a slightly outward rotate to eliminate the cross eye'd look.


I suppose if I'm critical, more normal detail on the body would be nice and more skin texture detailing would really set this on a higher footing, but I have chosen to move on as is because the character is going to be covered in fur



Hair

I research this choice thoroughly so it may seem controversial that I initially said I was going t use XGen but I hadn't actually used it before and I didn't realise how god awful it is.


The fur workflow in general is pretty new and utilises alembic cache files to communicate hair positions to unreal. Now this brings a few challenges the biggest is materials - with a traditional card based fur system, each hair card is unwrapped and textured, meaning that you just need to place it you don't also need to worry about how to transfer the material from the mesh to the card that attaches to it.


Well... hair fibres don't use UV's in the same way. Unreal has a fabulous hair attribute material node but this is not designed for full body fur, it is designed for a relatively small (by comparison) head groom.


For this to work I need to generate and export RootUVs for the alembic hair cache now in XGen I need to use several scripts, none of which have been updated to python. this coupled with XGen's slow and terrible user experience, I made the decision to use blender... this was easily the best decision so far of the project.


I started by using the particle hair system which actually doesn't support RootUV export so I needed to start again using the curve system in blender. This exported really easily and the last step was to use the Unreal engine alembic hair plugin to import the groom.


Particle Failure



Even though this system didn't work it gave me a great insight into blender and I was way more proficient and comfortable with it before starting again using the curve system.



A major benefit of this system is being able to segment up the hair this doesn't just help keep the hair organised it also gives you the ability to only physics sim the longer hairs in unreal which is a great performance improvement


Unreal Tests



Final Unreal shots



Rigging, Mo-cap, Retargeting


A another big gaffe I made earlier in this project was hoping to build a tool to help with mocap. This was not necessary thanks to Motion Builder, which makes the whole process very very easy.



First step is to create the bone system your character uses and then characterize this in motion builder, this can then be given a source animation and it will translate the motion from the source skele to your skele as shown below:




So that's it for now. I have captured all of my cinematic motion and tomorrow 12th Feb I will be capturing all of my gameplay anims which will be looped ready for players to enjoy in engine. I'm also working on some awesome armour sets and I cant wait to show you more of this project

_________________________________________________________________________________



16 views0 comments

Recent Posts

See All

Commentaires


bottom of page