Afro Atelier

by Joshua Tomlin-Casera

AfroAtelier.avi

Introducing Levi!

For my COSC 3P98 animation, I created this character, named Levi. The original idea of Levi was to create a sort of 3d open-world brawler where the player could run around and hit stuff, but after animating some movements I felt an animation could be more fun. The inspiration for Levi’s design came mostly from the idea of a fantasy world, and later from an image I found of a character named Konpaku Youmu.

ff2c6a1ce8b12af260c56fd7b5e06a5d

As you can see, Levi’s outfit is basically a direct copy of the outfit pictured. It stuck out to me as something a bit different, but also as a flexible outfit that would make sense for the original environment I intended. When I made the switch to an animation, I realized that most normal scenes would have Levi feel out of place, considering her outfit, hair colour, etc. While trying to find ideas, I began to create a few different animations and poses, such as falling down, sitting, sleeping, and my personal favourite, reaching for the stars.

After creating the reaching animation, something grabbed at me, though I wasn’t sure, I wanted to use this animation somehow. Shortly after thinking this, I began watching an Animal Crossing Let’s Play video by Chuggaconroy, and heard the song Stale Cupcakes. Once i heard this song, it all came together and I knew what I wanted to make. While the song had a bit of a sad theme to it, it also had a bit of a happy feel as well. I wanted to make a video that was kind of hopeful, but also a little sad.

The main idea of my animation was to have Levi wake up in a faraway place. Here, she would be “trapped” and alone. After she wakes up, she goes to look around, but as far as the eye can see is grass. So, she wonders off a bit, hoping that maybe something else will come into view. After a bit of a walk, she stops, and yells, hoping someone will respond back, but after no one does, she sighs and wants to give up. Longingly, she reaches for the sky, but pulls back. At this point, the animation ends. Whether or not she is hopeful or not is something I leave to the viewer to decide, as it can very well go either way.

Moving away from the creative aspects, the technical side of building Levi was quite difficult. Normally, for building 3D models one would use a model sheet where they are given a front and side view to get an idea of how the model looks. Another reasonable assumption is that the modeller has some knowledge of human physiology. So, in order to begin modelling I had to gain some insight into how the human body is structured, as well as either find or create my own art assets. Beginning with my art assets, while I tried to draw characters I simply couldn’t consistently draw one in a way that I liked. At that point, I decided to move to using a mesh base. The idea of using a mesh base is that instead of using front and side art, I could use a 3D model as my front and side view, and simply build either around it or beside it. To accomplish this, I used models from the site The Modeller’s Resource. Using one of the Hyperdemension Netpunia models as a base, I began building Levi through block modelling, which is a process where you start with a cube, and block out a rough figure of what you wish to create. After roughing out a body, I used the subdivision surface modifier to smooth things out. This modifier works as it says, it will subdivide every rectangle in your model into however many rectangles you specify. After using this modifier, I had to fix the model’s shape and size. Something important to note here is that when designing a model, you want everything on both sides to be equal, hence you want to use the mirror modifier. This will mirror one side of the model across the chosen axis and allow for a balanced model. Any changes or designs that differ on side can be created after the base model is finished, as it will allow for a smoother workflow.  While creating the model, there were a few problem areas. The head, hair, fingers, feet and breasts were the greatest problems.

While building the head and hair, I had to get a grasp of how a head is actually shaped, and how the hair attaches to the head. Another issue was the face. Making the proper proportions for the nose and mouth area is difficult, and since I had decided to use textured eyes instead of modelled eyes, I also had to plan out the area for the eyes and build around that. When designing the hair, I decided on a side-ish ponytail style because it would give me a bit of an easier time animating the hair and personal preference. Creating the bangs for Levi was also quite difficult. Normally, when modelling hair and not using a hair simulator, you create each group of stands as a plane and lay it out in layers, so an illusion of depth is created. In my case, due to the side ponytail I created a block and shaped it to fit, but the bangs had to be created using the plane style. This required me to redesign the forehead so that I could have some separation between the forehead and hair line. In most game models, the head only goes out to the forehead, and then into nothingness, while the hair overlaps the head around the forehead region and bends inwards to make it so that any gaps are unnoticeable. For my design, I attached the forehead to the hair, mainly due to inexperience working on the head.

The next problem area was the fingers. While the arms and palms were fairly easy, deciding on the shape of the fingers was not. Looking at our own fingers, they stay mostly the same size, but slightly shrink at the tips and are rounded. In order to recreate this as a model, I blocked out a sample finger, then used subdivision surface the smooth it out. I ended up with more of a cone shape, where the finger tips were quite a bit smaller than the bases, so I had to edit them some more. In the end, I settled on the more cone-like shape since it was more accurate to fingers.

The feet were an odd issue, in that it wasn’t hard to design feet like shapes, but it was hard to design shoe-like shapes. I had many different design ideas, mainly consisting of boots. After a few attempts however, I found creating a decent heel was quite difficult, so I moved into a shoe and leg-warmer type of design. The leg warmers were points copied from the legs at those positions and scaled up to make them larger. The shoes were simply trial and error until I produced something that reminded me of a shoe I’ve seen.

Designing the breasts actually wasn’t difficult either. The biggest issue comes from an ongoing geometry problem I had from the beginning. I had originally wanted to just insert and smooth out a semi-circle to use as a breasts, but due to the geometry of the chest I created it wasn’t possible without completely rebuilding the upper portion of the model. In order to add them, I ended up building a hexagon, which I refined and smoothes out as much as I could. To simply the process, I also designed it with the idea that they would be locked in place.

After designing the body and applying the mirror, I began working on the clothes. Using the design I found, I extended Levi’s body from the hip area to reach her knees. For the arms, I used the torus object and spread it out around the arm. At the ends, I belled it out and added the belts. Finally, I added extra edges to mark out the boarder of the jacket. Additionally, I created the shorts copying a strategy I found from the models in Atelier Ayesha. There, one of the characters who also helped decide on Levi’s design used shorts made of an upper layer that reached over a lower layer to create a kind of two tier appearance. It was used in combination with a frilly texture to make the shorts like frilly when they were actually flat. Ignoring the frills, I used the same idea as it allowed for the shorts to deform better and would allow for future texture changes to go smoothly if I ever deemed it needed.

After finishing the clothes, I began to work on textures. In Blender, you can use the UV unwrapping function to create a UV map for any object you created. One of its issues however is that it doesn’t work well on organic models, or anything round. To compensate, they gave the feature of seams. A seam is exactly what it seems, a cut-off point. By declaring an edge a seam, when it unwraps the model it will unwrap it based on the seams to create a flatter UV sheet. A good example is to try unwrapping a cylinder normally, and then with seams going along the top and bottom circles, and down one edge connecting the two. This will produce a result similar to a flat cylinder as can be found online or was used in elementary school geometry.

After declaring my seams and unwrapping Levi, I exported the UV map into Paint .NET, which is a free, open source form of paint that aims to provide many of the features Photoshop does. When editing textures or UV maps, it is important to work with layers so that you can properly colour the areas you want and not lose any of the texture data. The colours used were all based on my reference image.  After colouring the UV map, I saved it into a format that would flatten the two layers I made into one that would contain the colour and UV data. I then opened the file in Blender and applied it to my model using GLSL shading. After determining that the preview was correct, I applied the texture to the model.

Next was creating the bone system for Levi. Bones are the idea of giving some structure to a 3D model. They allow for groups of vertices to be moved by various amounts based on some weighting system. To apply this weighting system, you must select the model and the bone system, or armature, and bind them together.

The first step in creating a character armature it to create the major bones that will control movement of the body, arms and legs. To do this, I created a central bone in the lower body and extrude child bones to control the upper body and head. This allowed for me to move the whole torso with just the lower body bone, but also allowed for me to move the head an upper body while constraining it to the lower body’s position, similar to how a real human body works. Next, I created the upper and lower leg bones, parent and child respectively. I then tied the upper leg bones to the lower body bone. This forces the legs to move in relation to the lower body, allowing for a crouching motion from just moving the lower body bone. From the lower leg bone, I extruded a foot bone and a leg ik bone. The leg ik bone is an inverse kinematics bone, which allows for me to use one bone to move another bone set. I then detached the leg ik bone and made it a separate bone, locking its offset opposite to the foot bone, which allowed for me to move and rotate the foot easily using the ik bone. Finally, I repeated this process for the arms, originally using an upper arm and lower arm bone and an arm ik bone. I later discovered that this simple arm system was ineffective for animation human arms, as it would deform too much of the shoulder. Looking at my reference model, I noticed they included a shoulder bone and a small arm controller bone, that would move the focus of movement away from the shoulder and protect it from large deformations. Copying that system, I was able to create a more mobile arm that acted much better when moving. I also tied the shoulder bone to the lower body bone to keep the body together when moving. Another strategy I used was to lock the elbow and knees to a separate posing bone. These bones were set up the knees and elbows also pointed to its respective pointer, and allowed for me to easily change the direction the arm bent based on the poser’s position. Lastly, I created 3 bones in the hair to control hair movement. These bones were locked to the head bone so they would move in unison with the rest of the head.

After building the main body, I begin work on the fingers. I used a strategy I found online that seemed like a good idea. To begin, I made the fingers into 3 bone parts each, similar to how out fingers worked. Then I would create an overarching bone on top of them, similar to the ik bones. I would tied each of these finger bones to it by a rotation lock, making them rotate the same way as the over-arching bone and lock their positions, scale and rotation axis to match real fingers.  Each finger bone still retains its ability to move, but the all move relative to their local space, and rotate the same amount as the main bone. This allowed for me to easily create fists and curl the fingers into a more natural neutral position. This was also applied to the thumbs.

The next bone set I made was for the skirt/jacket. The reason for these bones was to allow for a more natural movement of the jacket without using the cloth simulator. I used five bone sets, two bones each to cover the jacket.

Following this, I made a special bone known as a movement bone. This bone is tied to the poser bones, ik bones and lower body bone to allow the whole model to move just by moving this bone. This allows for me to animate Levi in place and not worry about moving an actual distance as it can be added in later simply by moving the movement bone.

After creating all of the bones, I had to apply their weighting. Blender has an alright system for dealing with weights, and it is recommended to start with the automatic weights option and clean it up further afterwards. One major problem with my geometry became clear at this point, in that I had many things close together and connected in odd ways. This led to the weights to spread far from the intended region, and interfere with objects it shouldn’t. This also exposed some of the bad geometry choices I made, where some areas were connected and others weren’t. Leading to clipping when being moved using the bones. Blender’s weight painting feature isn’t particularly good, and many online sources also seem to agree. Due to this, it takes a large amount of time to properly set the bone’s deform region. This and my geometry problems compounded to make an exceedingly messy weight model.

After cleaning up my weights to a point I found acceptable, I began to animate the model. Using the systems I set in place with bones, it was extremely quick to start the animation and build some simple animations, such as waving, walking and falling. One of the hard parts was making the animations feel realistic. Falling, for example, was difficult due to not really understanding the process. I later came up with the idea of slipping to fall, but by that point I had decided what I was using for my animation and never implemented it. I also created a variety of poses, which led into creating new animations.

The big animation I created, and can be seen in the video, is the waking up animation.  I used myself as a model, lying down in my bed and getting up to create the key frames for the animation. Sometimes Blender’s tweening would try to move parts of the model through itself, so I had to edit these areas to force them to go around. Originally, the get up model was supposed to stop after Levi is sitting upright, but for the purposes of animation, I added in a sitting to standing jump, which would also set the movement bone to the proper position. The other main animation was the reach at the end. I ended up creating it randomly, but it is one of my better animated pieces. Another animation piece that is likely to go unappreciated is the hair animation. In most scenes, the hair will move in a semi-realistic way to match how Levi is actually moving at the moment.

Other models i used were the bed and the ground. I made the bed a simple, futuristic-like bed that was kind of hovering off the ground. The ground is just a large plane textured green.

Model Source

http://www.models-resource.com/psx_ps2_ps3/neptunev/

Back to 2013 animations.