Character Model – Cloth Simulation

For my character, I needed to have cloth simulation in Unity for parts of her mesh, specifically the lower part of the dress, the cape, and the banners wrapping around her shoulders.

For that, I bought the Magica Cloth simulator, as it was relatively cheap and seemed to do what I needed, which was proxy geometry and the ability to add collision through objects (like capsules or spheres).

I initially had issues with the simulation not activating, because I didn’t enable write/read on the cloth mesh (only on the model mesh). I messaged the creators of Magica Cloth, and they redirected me to a WordPress article on the subject. Additionally to that, I used this YouTube video as a guide.

The problems I ran into while working on the simulation all begin and ended with the fact that the clothes I tried to add simulation to were not separated from each other, but rather were one object (dress, cape, banners). When using the point select mode, which decided if a point on the mesh will be moving, fixed, or ignored (not simulated), I had a lot of trouble trying to get the banners underneath the cape to be fixed, as it was hard to tell which points were on which article of clothing. It was a longer process than it should’ve been, but eventually I managed to get it to work alright.

After that, I had to add colliders, so that the clothes won’t clip through the body. That also took longer than if I had the different pieces of clothes separated, and the banners still clip a little through the cape at some places, but I tried to find a good middle ground between the clipping and the clothes floating unnaturally over the body.

I currently am having issues with the animations not playing on the model, so I haven’t seen the cloth sim in motion yet, but for now this is where I left off.

Character Model – Animation

After I finished skinning, I was finally able to move onto animating my character. I started with the walk cycle, since I thought it was a good point to start and check how to work with my rig. I also found a good video reference for it, so it was a pretty straightforward process.

I set Maya’s default splining to be stepped, so it would not automatically do any in between frames, and instead just jump from frame to frame. I’ve used the same method for my twin dialogue animation (at the first passes), so I know how it should work, but in my rig there must’ve been something different because when I later on changed the splining to linear, the arms would not spline and automatically generate in betweens. In the animation graph, it did show that the frames were splined, but when played the arms were clearly not moving for most frames.

I tried manually adding in betweens for the arms, since I was satisfied with how the legs were working and didn’t want to waste that, but in the end the arms were so jittery I decided it would be better to just restart. I used that first attempt as a reference for the key poses, polished it a little more, and most importantly didn’t touch the splining, so the animation worked correctly. I think the second version looks much better, because I learned how the rig works better by then, so I’m not too mad about the lost work I did in version 1.

Next, I worked on the idle animation. I watched a few videos of motion capture actors, and tried to examine how they make their idles, but I found mostly stuff for more action packed animations. I decided to make Barya do a little prayer, as her most central character trait is her occupation as a priestess. Here is where I discovered the finger controls don’t actually work like I initially skinned them (I’m assuming I skinned the wrong joints, I’m not sure). They still bent enough to be able to hold objects, which is the main reason I needed them in the first place, so I decided to keep going. The animation is just a loop of her reaching up to press her palms together, lower her head, and lower her arms back down. I added little motions like her hip cocking a bit to the side, and her head moving up and down like she’s reciting a prayer in her head, and that made the animation more interesting.

After sleeping on it and returning the next day, I got it in my head that the prayer animation isn’t actually a real idle, since it would be weird for her to do that every few seconds. Later on I realized I might’ve been wrong, but regardless I made a second idle animation, this time of Barya swinging her arms back and forth, swinging her whole body in the process. She then notices some dirt on her sleeve, and wipes it away, returning to her starting neutral position. I had issues with the hands swinging into the body, so in the end I had to really make a lot of space for them to move. It looks less natural, but at least her arms don’t go through her body to swing forward. I took more inspiration from idles I saw in other games, and it feels more like a proper idle, but it has less personality than the first one.

I’ll probably have both animations in the end, just rename the first idle to “prayer”, because I do like what it tells the viewer about Barya.

The last animation I had to do is the prop interaction. My prop is the candleholder I designed for my game in the previous semester, so I decided the animation would be of Barya swinging the candleholder and planting it in front of her. To make her hold the prop, I simply parented the candleholder to her hand bone, so whenever it rotates, the prop goes with it. I only parented it to her right hand, since it holds it for the entire duration. The left hand only touches it in the end. I had to do a little maneuvering to make sure the left hand doesn’t clip through the candleholder, but it wasn’t too complicated.

Currently, the candleholder doesn’t have the textures from Substance Painter, and I don’t know if I’ll be able to put them in Unity or if I’ll need to import the final prop to Maya, and replace the original.

After that, I moved on to exporting everything to Unity, and trying out the Cloth Simulator for the dress, cape and banners in Barya’s design.

Character Model – Skinning

In my short research, I found that a popular tool to use for skinning in Maya is called ngSkinTools2. It has a free version for private and educational use, and after verifying with Mr Morris that I’m allowed to use it, I went ahead and found video tutorials to follow.

We had a lecture about skinning in general, but it was demonstrated in 3DS Max, so while the concept was the same, it didn’t help me with actually applying it in Maya.

I found this tutorial by the ngSkinTools YouTube channel, which went in depth and showed every step of the process of skinning a character. The rig in the video is much more complicated and advanced than mine, so I didn’t have to do all the steps shown. One problem I encountered immediately is that the shortcut to set an animation key just didn’t work for me. I don’t know if it’s different on my version, or somehow I changed it, but I ended up just doing it manually.

The process was quite straight forward, I used layers for each body part (shoulders, forearms, arms, etc…), which helped with keeping everything organized. At first, I got scared whenever something didn’t work, but I realized I needed to first actually put an initial pass of weights to see the rig move.

I’m not sure if I did the weights correctly on the legs and the fingers, they do move in the final version, but the range of motion is strangely limited.

Here are the layers I used for skinning:

I also had to do the weights on the shawl separately, and that took a little experimenting to get right, but I ended up with having the top part fully effected by the head, and leaving the ends laying on her shoulders with little to no effect.

The red color shows the head effect. I tried having the neck or shoulders effect the ends, but it would clip the shawl into her body if it had any weights.

I didn’t get feedback for the rigging and skinning yet, so this might be changed in the future. For now, with my limited testing, it seems like the rig will be able to do the animations I plan for it to do, so I’m satisfied with the final result. There are some issues I couldn’t seem to fix, but those seem to be rooted in the mesh itself.

Character Model – Rigging

For rigging, I decided to use Maya, since I know it’s an industry standard program, and I also wanted to learn it for the future character dialogue animation assignment (because the Maya models have more advanced rigging that allows for better movement, or at least that was to my understanding).

On Moodle, there are a few resources about a method called “quick rig”. I decided to use it for my character.

My initial problems were mostly all coming from the fact the internal units in Blender and Maya are different (cm/m respectively). That made the joints of the quick rig be an odd size, as well as the skeleton. I didn’t notice that issue until I wanted to add hands to the quick rig.

I used this video by Ronald Reyer, which took the skeleton made by the quick rig function, and added bones that will later become the hand controls. When my rig was an incorrect size, the bones of my skeleton were so big I couldn’t work with them properly.

After Mr Morris pointed that out, I had two ways to fix it: either re-export the model from Blender to Maya with the correct scale, or change the internal units in Maya to match Blender. Because I already was in the process of making the rig, I wanted to try and change the internal units first, to see if it would work.

At first, it seemed like it was working, but I started encountering a problem that would take 3 weeks to find a solution for.

The issue would be, that I would make the rig, it would all work correctly, the character moved and everything showed up as fine on Maya, but if I closed and then re-opened the file of the model, the rig would stop working. On the rotation transforms, if I moved the joints, it would change the numbers as if it’s actually moving, but the character itself would not move.

Initially, when I brought it up with Mr Morris, he thought it might be a difference in the version of Maya between my laptop and the university computer, since when we made a test model in class, it worked after closing and reopening. So, the first solution was just for me to start the project in class, bring it home, and check if it still worked.

It didn’t, so a week later we tried a few other things – Mr Morris thought it might be an issue with the method I used to add the hands to the quick rig, but I brought a version with no hands and it still didn’t work. We tried exporting the model from Blender with the correct scale, instead of changing the internal units in Maya (which I should’ve done in the first place anyway), but nothing worked. Even if I made the project in class, after reopening it, it wouldn’t work, so it wasn’t an issue of different versions (and it any case, I have Maya 2023.3, and in class we have 2023.2, so it shouldn’t have been an issue).

Only after trying different ways to phrase my problem, I found a thread of someone reassigning the definition of the skeleton’s bones, and according to them, it solved it. At first, it wasn’t obvious to me what the definition is exactly, but after assigning the finger bones (which were the only thing that wasn’t automatically assigned as it was made manually and not with quick rig), the rig finally worked correctly.

Here’s the final rig:

Character Model – Textures

When the new semester started, Mr Morris showed us in class a few video tutorials on how to texture stylized skin in Substance Painter 3D, along with other methods to improve the final result. I decided that I wanted to redo my character’s textures, after seeing how much more details I can add.

For my final textures (for now, unless I decide to change them again), I added more details to my character’s face, using masks and layer blending modes like the video showed, as well as paid more attention while using textures premade in Substance Painter, for example on the clothes. Before, I didn’t customize them almost at all, leaving them looking out of place on a stylized character like mine. This time, I removed a lot of the extra details that make the textures look more realistic (like wrinkles and fibers), which made the character looks much more cohesive, in my opinion.

I also added gold trims on the banners and sleeves, because it was something my friend suggested before, and I didn’t know how to do in the last semester.

Overall, I like this new version much more than the previous ones.

Character Model – Final additions

After feedback from Mr Morris about my character model, I went back and fixed a few things.

First was a scale issue I didn’t know I had. I thought blender converted the metrics 1=1 meter, but it clearly wasn’t the case when Mr Morris took it into Unity to compare to an already existing character model, and she was 3 times taller. The fix wasn’t too difficult, I just made a few adjustments and went back and forth between programs to really make my model the same size as a preset model.

The second issue was with the smoothing groups, or more accurately the lack of them. That fix was also very easy, because I already knew how smoothing groups worked in Blender, I just didn’t know I had to turn them on before exporting (I thought, for some reason, that there is some sort of smoothing in Unity). It would’ve been tedious to re-texturize the character after I already finished a previous one, if I didn’t have issues with that previously. I made smart materials in Substance Painter for all the textures on the model, so all I had to do is drag them to the correct location.

The third issue was with the eyebrows. In my original model, they were a 3D object, separate from the rest of the body. For our purposes we don’t need that, and Mr Morris said it would be much easier further along the line if we just painted them on. Initially, I tried removing them and leaving behind just skin, so I painted them in Substance Painter from scratch, but it looked too blurry for my taste. So I assigned the hair material to the polygons I wanted to be the eyebrows (after making a few small adjustments to the geometry there, just moving vertices around for the shape of the brow, not adding), so that in Substance Painter I just had to drag the hair material on the eyebrows, and they were colored correctly.

After all of those fixes, this is how my final character looks like

Character Model – Clothes, UV, Texturing

I had to import the clothes from Marvelous Designer a couple of times before I found the correct way to export the UVs generated from the clothes, and the best polygon density to balance detail with amount.

I fixed a few awkward spots manually in Blender after importing (Mainly to do with the arm clipping through the sleeves which happened when I imported, and a bunching of fabric on the right hip that was there in Marvelous Designer as well). Once that was done, I moved on to modelling the parts of her outfit I couldn’t in Marvelous Designer, which consisted of the shoes and socks, bracelets, shawl, and the braids and beads that go over it.

I used the basic foot model I had already as a base for the shoe and sock, extruding and separating it from the main body. The hardest part about them were the laces winding around the ankle and connecting to the shoe, because I didn’t really know a better way beside manually placing the verts around it. I had to do it for each foot separately because it couldn’t mirror correctly.

This is the final shoe and sock

Next, I modelled the bracelets. The main challenge with them was working around the existing sleeves, and initially I just moved vertices manually, but using the sculpting tools (mainly grab, smooth, and inflate/deflate), I could move the fabric easily, so it wasn’t clipping into the bracelets. The bracelet model itself is very simple, just a cylinder with a couple of grooves to add detail.

These are the final bracelets

After that, I moved on to the shawl, which I started with the fabric part that laid over her head. I started with a plane at first, thinking I could just sculpt it to lay over her head, but that didn’t work at all. I researched how to model a Hijab, since that’s the closest article of real clothing I could think of to the shawl, and they start it using a sphere instead, which they mold to the shape of the head. I tried this approach instead and it worked much better.

I also turned off the sections of the hair that are not visible under it, since it would just be a waste of hidden faces that would unnecessarily add to the poly count.

This is the shawl

I started working on the braids, referencing this video by Dikko that I used before for the rest of the hair, but I ignored this part of it at first since I didn’t need it yet. The making of the braid itself wasn’t hard, but for some reason the positioning of it acted weirdly, so it was really hard to place it in the way I wanted. I ended up splitting the braids to 3 sections, and I added 2 beads to cover up the seams from that.

The beads themselves are just ico-spheres, with little modifications to fit what I wanted better.

This is how the braids and beads look

After that, I had to add materials to each part that wasn’t modelled in Marvelous designer (because those had materials already with their UVs), which was very simple since I already learned how to do this from the prop.

I decided that the parts will be just her skin recolored, since they’re barely visible and don’t need additional detail anyway.

From here, I moved on to Substance Painter 3D. What I discovered later on, that made me redo everything I did in Substance Painter, is that I completely forgot to UV unwrap the character (beside the clothes, because those were automatically unwrapped in Marvelous Designer).

I stepped back and redid the UVs, so instead of her face’s UVs looking like this

They looked like this

I used another video by Dikko to unwrap the face and body correctly, and the cloth models were simple enough that the smart UV unwrap in Blender could do it automatically.

After finishing that, I returned to Substance Painter 3D, and loaded the model with the correct UVs. I added materials as needed, and for the skin I used paint layers to add a bit of color variation to the face, fingers and knuckles, because it felt too uniform with just the skin material.

For the hair, I used wood material I downloaded from the community asset store, and added an alpha to make it reflect a bit. The eyes were a similar process, but I used the skin material as a base, and added filters to make it shiny. I also painted the eyes to have more hue variation in the sclera itself, and the whites of the eye.

This is the final result, after texturing everything.

I think it would’ve looked better if I textured it in Blender, because it seems to me Substance Painter isn’t really designed for more stylized characters.

I’ll probably go back and change a few things next semester, but for now this is how she’s going to look.

Environment

For the environment, my initial sketch looked like this

I didn’t have a lot of time to make it, so I used a technique I don’t usually like using, because the end result looks less good in my opinion.

Mr Morris agreed and asked me to make another one, so this is the second version

It shows how things would be in a 3D space better than the first one, and is more clear on my plan. I wanted to have a rock path leading to the sunset in the background, with ruined stone walls enclosing the space. In the far background, I wanted to have a billboard forest, since I wanted it to mask the edges.

The general style of this environment was planned to be similar to my game from AND218, because my character in AND222 is the main character of the game.

I started similarly to the game, with a terrain object that I shaped to have a little bit of a dip in the middle. After resizing the terrain, the dip got more exaggerated and formed hills around the center, which wasn’t in the concept art, but I liked how they masked the edge of the world better, so I kept them.

I used a different grass texture, since the one from the game didn’t have too much detail. That didn’t end up mattering too much, since I discovered that because my terrain is this project is much smaller than the one in my game, it allowed me to have much denser grass, so the grass texture didn’t show up underneath.

For the rock path, I used the same texture as in the game. I liked the way the normal and height maps worked on it, so I didn’t see a reason not to use it.

For the stone walls, I used assets I found weeks ago originally for the game, but ended up not using. It had a curved stone wall that fit perfectly to what I wanted to have around the path.

For the billboard trees in the far distance, I used 3D prefabs in the end, since after making the game I realized it would look better compared to a billboard effect (I also don’t actually know how to make the billboard effect).

The skybox in the environment comes from the same pack as the one in my game, again because it worked well there, and I didn’t see a reason to find a different one.

My biggest issue was with the grass draw distance. I couldn’t change it to far enough that it rendered it all the way back, which created these patches that appeared and disappeared as the grass moved with the wind. In the end, I extended the path, and deleted the areas where the patches appeared manually. I don’t know if that will matter in the future, but it’s something I can easily change later on.

This is how it looks at this point

It is still a work in progress, but I think it already looks much better than my game, because I already knew a lot going into this. For the game, I had to learn everything from scratch.

There are issues with the ground having this ripple effect that I’m not sure how they appeared. Both the grass and the rock texture for the path are from the game, so I know they’re not supposed to look like that. Mr Morris suggested it might be a setting in the camera I’m using, and I’ll have to look more into it at another point in time.

Prop model

I decided to make the prop a sort of candleholder, inspired by one of the concept drawings I made for my game for AND218

(the candleholders on the bottom drawing)

I made a few sketches exploring ideas for it, and ended up choosing the left one. I liked the way the stick curved on it.

For the prop, I chose to do the low-to-high method, so I had to model a lowpoly version, and a highpoly.

This is the lowpoly

When I showed it to Mr Morris, he noticed I had n-gons on all the circles (The base of the stick, the end of the cut-off branch, the candle base and the wick), so I had to fix those, but otherwise I was good to move on to the next part.

This is the first version of the highpoly

It’s just a smoother version of the lowpoly, with some changes to the branch and circle, that happened while I was messing with the model in sculpting mode.

I didn’t know what we need to exactly do yet, because this was while we were on Christmas vacation, and we weren’t given the lecture on this step yet. So, I looked up different methods of texturing models.

For the lowpoly, I tried texture painting. There’s not much to say about it, it was pretty straight forward. I used this video as a guide.

This is the final result.

For the highpoly, I wanted to look into procedurally generated materials. I knew they exist, but I knew nothing on how to make them. For the wood part, I watched this video, explaining step by step how to make the material.

For the candle wax, I watched this video.

And for the wick, I just used the default material, changed the hue to black, and adjusted the roughness.

This is the final result

The two textured versions turned out to be completely unnecessary for the method we were supposed to use for the prop model, but because of this I learned how to change materials of only selected objects, which I would need later on. I also enjoyed making the procedurally generated materials, and I’d like to explore this side of Blender more in the future, because I’ve seen other people do beautiful work with it.

After showing all of this to Mr Morris, he explained my highpoly is wrong, and needs much more details, and that we would add materials using substance painter. After he gave the lecture on normal maps (and other types of maps), and how they’re used, I understood what I need to do with the highpoly for its maps to be projected correctly onto the lowpoly.

I tried using the old version of the highpoly, but very quickly realized that with the amount of problems I’ll have to fix, it would be easier to just start over. So, I duplicated the lowpoly version, subdivided it, and sculpted details.

This is what I’ve come up with.

The last step I needed to do before moving to Substance Painter 3D, is to assign different materials to the different parts of the prop (wood, candle, wick). This process was very easy after what I did before with the old versions.

This is how the model looked after that, I used different colors for me to tell where each one is. I know they won’t show up in the final version.

I moved to Substance Painter after that, and the process was very straight forward. Mr Morris had already showed us how to bake maps from a highpoly model onto a lowpoly, so after that all I needed to do is choose the materials. The candle and the wick were easy, they’re the Wax and Charcoal Smart Materials that come with substance painter. I had more options for the wood, but I ended up choosing Wood Walnut. I experimented with adding an overlay of Carved Wood, a material I found on the community assets, but it didn’t look right on my model, so I scrapped that idea.

This is the final model with all materials.

I think the candle is most successful at showcasing the maps from the highpoly. If I were to do this again, I would make the details in the highpoly much more exaggerated, so they show up better on the lowpoly.

I didn’t get feedback from Mr Morris yet, so this final version can still change.

Character model – clothes

Before starting working in Marvelous Designer, I watched a video by ProductionCrate explaining its basic features and workflow. From that I understood I’ll need to do some research on cloth patterns, since with the way the program works, it will be much easier if I had a general understanding of how the patterns should look before starting to create them.

Unfortunately, because my character comes from the 12th-13th century, it was pretty hard to find actual patterns of clothes from that era. I found this pattern for a dress (I modified the sleeves), and this article for general Middle Ages fashion.

This was my way of planning the various layers of her clothes.

I had her concept art on the top left for reference, and across the bottom I sketched how each layer would look like separately. On top, I sketched how I think the patterns could look like. I didn’t know the limitations of the program (or my own skills) yet, so I just planned everything, and if I ended up not doing it in Marvelous Designer and instead in Blender, so be it.

This is how she ended up looking

And these are the patterns for those clothes

I didn’t have too many issues, it was mostly a little tedious to just make a pattern, and fix it little by little until it fit correctly. There is a bit of fabric bunching under her belt on the left side of her hip and I can’t get it to smooth without ruining the other side, so I left it for now. The sleeves are loose, because I want them to bunch a little when I add the bracelets.

I tried adding shoes, but they kept clipping into the model, so I figured I could model them later in Blender. From my research, it doesn’t seem people really put bracelets in Marvelous designer, so I left it for later as well.

The shawl would not fall the way I wanted it to, no matter how much I changed the pattern. Since it will have elements over it (the braids and beads), I left that too for Blender.

Right now, I’m waiting on feedback from Mr Morris. This already might have to be scrapped, depending on how much I’ll need to fix the model, but at least I have the patterns now and know how to use the program, so if I have to redo it, it would take way less time.

Design a site like this with WordPress.com
Get started