Categories
Blog Post interview Leadership rigtip

Get to know: Nina Fricker – Lead Technical Animator at Insomniac Games

Get to know: Nina Fricker – Lead Technical Animator at Insomniac Games

https://www.linkedin.com/in/nina-fricker-9182921/

Let’s start off with some questions from our friend Izzy Cheng

Hi Izzy!!!

What is some advice you’d give to people getting into Technical Art or Technical Animation?

AH!! Where to start?? This is a topic I could talk about a LOT.

The main advice I give to aspiring character TDs is to work with a modeler and animator on some characters. This has a numerous benefits. First, the group will push each other to be better at their craft. The rigger is going to find areas where the model needs improvement to get good deformation. The animator is going to find problems with the rig that will require better weighting and controls from the rigger. Everyone can help critique performances. Find people who will really push quality. Ideally at the end of all of this, all three will have great demo reel pieces that each individual wouldn’t have been able to achieve on their own. Another benefit is that you’re basically emulating production. This is how it works in a studio, so getting this kind of experience, and more importantly, getting comfortable and adept at the iteration cycle between departments shows companies that you’re production-ready! Find a way to highlight this collaboration on your resume and demo reel. I’d love to see examples of how the iteration loop between everyone improved the end character and performance. Make sure to talk about this in your interviews! Let people know what animators hated in your rigs, and how you addressed their concerns. It eases my mind, as a hiring manager, to know that you’re comfortable receiving and responding to criticism.

As a veteran in the game industry, what keeps you from burning out?
I have a lot of interests outside of work that keep me balanced. I love to work out, cook, learn, garden. Work/life balance is really important in order to sustain a long career in the game industry. I have been incredibly fortunate to work for studios that take good care of its employees.

Do you have a favorite project you worked on at Insomniac and why?
Ratchet & Clank: Into the Nexus

This was my favorite because it was the project that I felt like the North Carolina studio really hit its stride. As a group we had gone through shipping a few titles together, and had learned to work and collaborate with each other incredibly well. In addition to the working relationship of the team, the project had a really fun plot line and character line up. Into the Nexus had two awesome female characters (Talwyn & Vendra) which was a great new challenge for me. They both had to deliver a wide range of emotion. The animators on the project brought out some spectacular performances from them which I’m still very proud of to this day.

What traits make a good *Lead* Technical Animator?

To me the most important trait of a good lead, regardless of discipline, is that your focus is on making your team successful. Going from an individual contributor to a lead required a major mental shift in what being good at my job looks like. This didn’t come easy after almost a decade of straight-up production work. I still struggle with not being able to do as much work myself. As with all aspects of my career, I’ve received wonderful guidance and mentorship from so many people at Insomniac. They’ve helped me realize that I make a big impact as a force multiplier through leading. This came in the form of CONSTANT reassurance that the success of my team was first and foremost and that my feeling of not doing enough showable production work was a normal reaction. It’s become very fulfilling for me to see the amazing things the folks on my team accomplish.

Great Questions from Izzy, thank you for that, now let us get to some of our own.

Were you always into computer graphics and games or how did you find your way into the industry.

I pretty much decided that I wanted to work in 3D when I was 12 years old. This was when I saw Jurassic Park in the theaters (yes, I’m old). The “Welcome to Jurassic Park” scene where we first see the brachiosaurus blew my mind. Eventually I saw a “making-of” for the film and fell in love with the magic of bringing digital characters to life.
Just a couple years later Toy Story was released in theaters. A full CG animated film. Once again, mind blown.
Around this same time, I had a wonderful teacher in middle school who taught AutoCAD to 7th and 8th graders. Back in the early/mid 90s, this was basically unheard of. Having access to his high-end Linux machines and learning this sophisticated software gave me confidence that I could make things on a computer and learn complicated concepts. I give him a lot of credit for my comfort level with technology at a very early age.
At this point I set a life goal of being a VFX Supervisor at ILM. Granted, at the time, I had absolutely NO idea what that meant. It was just a job title that I saw under the names of people in behind the scenes pieces, so I thought that’s what I was going to be when I grew up.
While in high school, a good friend of mine showed me how to use trueSpace 2 and Bryce 3D. We got both installed on my home machine which freed me to start tinkering around on my own. Also in high school, the cincher of my career direction came out in theaters. The Matrix. Up until then, being techy and computer obsessed was just nerdy. The Matrix was not only technologically inspiring, but it made me feel like being techno-savvy was super bad-ass! I very much wanted to be part of the vfx/cg animation world.
The combination of all these things led me to Full Sail to study Computer Animation. I wanted to get into a job where I was working on 3D characters as soon as possible. It wasn’t until I got to the Character Setup class that I learned that rigging was where I wanted to go with my career. This is also when games as a career started to surface as an option. I didn’t much care which area of entertainment I went into as long as it meant I could work on 3D characters.

Can you share your learning curve and experience over the years as a TD going from finishing school to getting your first job?

The transition from school (where I had both Rigging Dojo founders Brad Clark and Chad Moore as instructors) to my first job lasted roughly 3 months. In this respect, I consider myself INCREDIBLY fortunate.
While still in school, during my rigging class, I had a lab instructor who left towards the end of the course to work at a company called Turbine. Since rigging was something that really sparked my interests, I kept in touch with him throughout the rest of my time at Full Sail. I’d send him my group project rigs and he was gracious enough to give me feedback and advice when I ran into technical issues. Not long after I graduated, this lab instructor turned mentor was looking for an entry level rigger to join his team at Turbine. Thankfully he saw some potential in me and hired me to fill that position!
In my first couple years at Turbine, I learned a ton about the ins and outs of production. There’s so much more to being a developer than the specific craft you’re trained in. It was quite intimidating at first to learn all of that and a game engine. At Full Sail, we didn’t get any exposure to engines or production pipelines. I get the impression that has changed at most schools, and both are now a regular part of 3D programs.

What does your day or week look like now that you are on the Tech Animator side vs. more of a rigging or pipeline TD?

Tech Animation at Insomniac means supporting the rigging pipeline and Maya tools for artist, primarily animators and riggers, but in some cases other departments as well. As a lead, my main responsibilities throughout a week involve jumping around to a number of different things. Depending on what’s going on and where we are in production, things can change week to week. Here are some of the things that I do regularly:
Meet with various feature teams to evaluate progress, plan goals, collaborate on a plan of execution for the next set of goals, etc. It’s in this area that I get closest to our games. The work is very close to the heart of what our audiences will experience.
Meet with the riggers on my team to discuss their goals, both short and long term. This is also where I get feedback from them on how things are going on the team/project/studio.
Provide rigging support for projects. I generally try to stay out of important tasks because the amount of time I can spend on production work can vary greatly day to day. I’ll take on smaller rigging tasks when they pop up. This helps the people on my team stay more focused on the larger things they’re working on. I also really enjoy working on prototypes for a new idea.
Fix bugs both in the game and in our tools.
Work with other leads and the project manager to schedule. Because production is constantly changing and evolving, we evaluate and adjust on a weekly basis.
Collaborate with the character TDs in both studios on direction of our tools.
Participate in code reviews.

Can you talk about developing for VR projects vs. a more traditional game and some things you learned or overcame that might have been a surprise?

As a studio working on our 4th VR title, we’ve learned an incredible amount about developing games for VR. To me the most surprising aspect of working in VR is how easy it is to trick your brain into accepting what you’re seeing is real. Back on Edge of Nowhere development, we had areas of the game where you’d walk along cliff sides that overlooked steep edges. My hands would get really clammy and sweaty every time I ran across them. I truly believe that VR is something you need to experience first hand to really understand it. It’s a very visceral experience to have your fear of heights triggered just by playing a game. It’s an exciting medium to play in and we’re pushing the boundaries exploration in VR with our latest title, Stormland.

This is a behind the scenes teaser (I make a brief appearance):

https://www.youtube.com/watch?v=Gla5gObbERs

And here is our trailer!

https://www.youtube.com/watch?v=DJBXA8gN-5k

At Rigging Dojo we get a high percent of female students and some of our most successful students have been women, what has your experience been as a female in Tech and games?

I am extremely fortunate to have spent so much of my career at Insomniac where gender is a non-issue. My leaders and colleagues create a safe, professional and collaborative culture in which everyone is able to thrive. It’s not something I take for granted. What I find the most troubling is that women still only make up a small percentage of the industry. I think we’re hovering somewhere around 15-20%. I thought after 17 years I’d see a more balanced population, but the increase has been meager at best. This makes me sad, and it’s why I got involved with a mentoring program. The least I can do is play a small part in helping more women make their way into this line of work that I love.

You have been a mentor for artists like Izzy who we just interviewed, do you still do mentoring and what was that experience like?

Izzy and I were paired up through a mentorship program called Game Mentor Online which is unfortunately no longer running. It was an excellent program started by Women In Game International that I really enjoyed and wanted to continue with. Since it never came back online, I haven’t been actively seeking a mentoring program, but I would like to find one that has a similar structure and vibe to it. I miss it, and as mentioned above, it’s a way for me to help women break into our industry.
As a side note, Izzy was WELL on her way to a budding career as a Character TD when I started working with her. She’s incredibly smart, hard-working and relentlessly learning new things. I’m so incredibly proud of her! <3

If you could give your past self any advice on working, life and the games industry what would it be?

There was a long time where I was very self conscious and fearful of not knowing things. If a topic came up in conversation that I didn’t understand or wasn’t familiar with, I’d just listen and try to figure things out. It really weighed on my self esteem. On the outside I’d nod along like I was keeping up but, internally I was upset and convinced that I was stupid. I felt like a fraud and that soon I’d be discovered and fired. Eventually… we’re talking years… I had a bit of a mental shift. There came a point when I got so tired of feeling so terrible about myself despite my career still moving forward. I can’t remember the catalyst, but I started experimenting with speaking up. I tried it out a little, here and there, and saw no perceivable adverse effect. As time went on, I got more and more comfortable with putting myself out there and asking questions when something was raised or referenced that I didn’t know or understand. Now, I’m on the complete other end of the spectrum. I ask about anything I don’t know. Completely shameless.

There were a few surprising things that came from this 180 (okay, maybe not THAT surprising, but it was for me)…

1) Nothing bad ever came of it. Not once. No one ever shamed me or made fun of me or thought less of me. In most cases, people have been happy to explain and help me.
2) I learned a lot from my peers. So often people we’re more than happy to take the time to teach me.
3) A lot of people were in the same boat. So many times I’d hear echos from others of “oh yeah, I don’t know either”. There are even times when people who seemingly appear to nod like they understand will admit they don’t when the topic is cracked open! Why do we do that?! I think that showing vulnerability is difficult and uncomfortable, so we tend to do what’s more comfortable. We nod and pretend to know.
My advice to my younger self would be: Let your vulnerable and authentic side show. It’s okay to be imperfect and not know everything. We’re all in good company. Give your peers the benefit of the doubt that they’re more helpful than harmful.

Last question – what book are you reading right now or last finished?

I usually keep both a fun book and informational book going at once.

I just finished Trevor Noah’s Born a Crime: Stories from a South African Childhood. I highly recommend listening to the audiobook version. Now I’m looking for something to read/listen to next. Any recommendations?
On the informational side, I’m reading Being Wrong: Adventures in the Margin of Error by Kathryn Schulz. It’s an interesting dive into the psychology of being wrong. This kind of stuff is fascinating!

How can people best find you online?

Twitter would be the easiest way, although I don’t post too often: @NinaFricker

 Thank you so much for taking the time for us.

You bet! The pleasure was all mine!

p.s. Want to see someone interviewed, let us know so we can talk with them! Our next interview will be with Sophie @ Insomniac Games California

A character TD/rigger on the awesome  title! Congrats!

Then next after her in our women in Tech Art series will be Julia Bystrova, Lead Character Rigger at Tangent Animation who just finished up work on the all Blender CG film from Netlfix called “Next Gen” by  http://www.tangent-animation.ca/ 

We hope to have more Blender training available this coming year as it expands and matures its animation and rigging tool set along with major UI improvements (Blender Rigging for Netflix Next Gen )

Categories
Blog Post

Compiling C++ Plugins for Maya

 

Get a taste for the basics of plugin compiling from Raf and The Cult Of Rig then check out our courses both the Maya C++ API 101 mentor led course and our more advanced 201 on demand plugin coding course.

 

 

You can also check out our free API compiling guide book to pair with the Cult of Rig video. https://www.riggingdojo.com/2019/12/24/free-maya-api-training-ebook/

Categories
Blog Post interview

Get to know: Isabella Cheng – Technical Artist at Survios

Get to know: Isabella Cheng – Technical Artist and Rigging Dojo Alumna

Isabella Cheng Technical Artist at Survios

Isabella Cheng
Technical Artist at Survios

Let’s get started with a bit of background about you, were you always in to computer programming and tech?

I was always into games and computers. I went to school at USC for Computer Science with the notion that I’d be a game programmer. Turns out I really like working with artists and I happen to also be artistic, so I applied my skills as a Technical Artist. My first industry job out of college was pipeline scripting for mobile games. But then I discovered the ?magic of rigging ?and working with character art, and thought, “Hey I think I can get pretty good at this.”

Can you share your learning curve and experience over the years as a TD going from finishing school, finding Rigging Dojo and getting your first industry job?

Personally my transition from mobile pipeline stuff to rigging and Unreal felt almost like a career change. When I was first dabbling in rigging on my own, I had no idea what I was doing. I was self teaching myself using tutorials online but they weren’t enough to help me really grasp the core concepts. I heard about Rigging Dojo and signed up as soon as I could, and a couple months in Rigging 101 filled the gaps I was missing. I used what I learned from Rigging Dojo on a couple side projects, and finally landed a job at Survios rigging and scripting for VR games.

Walk us through what your day or week looks like. How much time coding or pipeline work vs. rigging and character work are you doing for example.

I do a whole variety of things, and it really depends on the needs of our projects. There was a huge need for pipeline scripting when I joined, so a lot of my time was spent building pipeline Maya tools that help our artists and animators. But when a project ramps up with a lot of characters, I fill that role as well. I could be spending a whole week on one task. Another day could be that I’m rigging a character in the morning for one game, and I’m scripting a tool in the afternoon for another game. To my surprise, by far my favorite part of my job is working on motion capture and the mocap data pipeline, it’s incredibly rewarding to take a human performance and see it on a 3D character.

Image of Sprint Vector by Survios

Image of Sprint Vector by Survios

 

Was there already a pipeline in place at the studio you’re at now or did you have to help build it? What was a challenge or improvement that came from that process?

There was a rigging pipeline in place before I joined using an auto-rigger. After I joined, the characters for our games got more complicated, and I helped build out our own inhouse rigging tools. The rigging and animation team never stops improving the pipeline. The biggest challenges I continue to face is balancing time in R&D with actual development. Luckily my team is given time to research the best solutions to solve character and animation pipeline issues, but it’s challenging to begin trying something, not knowing exactly what to expect. But this is also what makes my work exciting and rewarding.

Let’s talk tools, are there publicly available scripts or tools you like to use when rigging?

Absolutely! First and foremost we use the Unreal A.R.T tools because Survios is an Unreal house. I use ngSkinTools personally for skinning weights, even though my coworker hates it ?

I came across Studio Library for our animators and it’s been great. But if I don’t find a tool that suits my needs, I tend to either find something close and modify it, or build it from scratch.

How much stock Maya vs. custom inhouse tools or maybe runtime rigging in Unreal are you using?

For player movement, we have a system in Unreal that handles our character movement in VR that is completely custom inhouse. Unlike traditional games, our animators don’t necessarily animate everything for the player character because locomotion is being tracked by the VR controllers and head mount display. For other NPC characters, we are using the stock Unreal rigging stuff given to us. On the Maya side, we use a combination of stock, third-party and custom inhouse tools. The problem with having a ton of custom inhouse tools is we can’t migrate our tools as fast as new Maya versions come out.

Anything you wish would get fixed or changed in the software to improve production work and make it easier?

Right now his tool is in Beta, but I hope Jeremy Ernst releases his second version of the rigging tools soon!!

Do you see any major changes to how you are working now with Unreal and character rigging?

I definitely see major changes working with Unreal, it’s a whole other beast. One of the biggest considerations we take creating characters is how easily we can reuse animations and what that implies in Unreal. Unreal can retarget animations from one skeletal mesh to another. But that means if we want to fully utilize our animation budget, we have to make sure a number of characters are not wildly different where we have to create a whole new set of animations for one character. This mindset starts all the way at the character concept phase. Of course, these decisions are project-specific, but we only have 3 animators, 2 riggers and 2 character artists! As riggers we have to decide the best way to build the skeleton that will work for a variety of characters, and when brought into Unreal, making sure the animations don’t look and retarget terribly.

Having first worked with Unity and now Unreal what are your thoughts on learning them and any tips or gotchas you could share?

Learning Unreal is really fun, and being familiar with Unity made it a bit easier. The gotchas for me are the Blueprint system in Unreal and animation retargeting.

With the animation retargeting on skeletons instead of a “rig” like in Unity, are there any things you know to help out that process or have looked into to improve the retarget results?

Since we are conscious about retargeting and reusing animations across multiple characters, we make sure our joint orients and positions across our characters that share the same skeleton/animations are similar enough that the animations won’t look terrible in engine. For retargeting in general, I have just started playing around with MotionBuilder, and I’m super excited and impressed with the results I’m getting!

What have you found , training wise to have been the most helpful to you growing as a character TD? Any last tips or advice you can give to someone that wants to improve their skills as a TD?

Rigging Dojo, duh! The community that surrounds rigging is actually super cool and friendly, which makes finding resources very easy. So feel lucky as a growing character TD you chose this path, and don’t be shy to reach out!

If you’re working on your demo reel, find a model you think would be a fun challenge to rig, and try it! And +100 points if you find an animator to test it for you and give you feedback, and they could use it on their portfolio. It’s a win-win.

Want to really improve your skills as a TD? Go and take the online anatomy class by Scott Eaton. It is amazing, period. I’m in the middle of it right now, but it’s already helped me understand the puzzle pieces of the human body. Which makes me a better rigger!

At Rigging Dojo we get a high percent of female students and some of our most successful students have been women. If at all, have you faced issues or challenges that male peers might not have?

I can fortunately say that I have not faced these sorts of issues. I had pretty much the same challenges, and luckily at Survios we maintain a really collaborative and inclusive culture, and I’m not treated any differently than any other game developer because of my gender.

That is great to hear that and also a nod to the studio you work at for making it a balanced environment.

Now that you’re working vs. fresh out of school is there anything that you see missing in current TD skills or reels? Could be advice to your past self making a reel.

I didn’t come from an animation background, so sometimes I feel like I’m a mechanic that doesn’t know how to drive a car. I’m learning a ton from the animators I work with at Survios about their creative processes. As a rigger it’s been a learning experience working with them first hand and balancing their wants and needs. Advice to myself (past and present) would be to take some animation classes and try to animate things myself in order to better tap into an animator’s mindset. I wouldn’t necessarily put my animations on my reel, but I would learn some valuable things about what animators expect out of a rig, and those choices are important for a portfolio.

Last question – what book are you reading right now or last finished?

For my class we’re using a book called Figure Drawing For All It’s Worth by Andrew Loomis. Beautiful drawings and approximations of the human body. I’ve never taken art classes so this pretty much blew my mind.

The last book I finished was Do Androids Dream of Electric Sheep by Phillip K. Dick. Because Blade Runner.

How can people best find you online?

You can follow or message me on Twitter @izzyccheng, email me at [email protected],  Or if you join the Tech-Artists.org Slack channel, I’m on there as well!

Thank you so much for taking the time for us.

Thanks for the interview!!!

 

Categories
Blog Post rigtip

Guest Post: Tech Animator Dump: Customizing Radical Heights – Part 1

Source: Tech Animator Dump: Customizing Radical Heights – Part 1

My Photo

Customizing Radical Heights – Part 1

My work on Boss Key Productions most recent project, Radical Heights, focused a lot on character customization. In this post I’m going to discuss the process and creation of a customizable character for Radical Heights.

Having previously worked on Lawbreakers and the Saints Row franchise, much of my time has been focused on creating processes for constructing customization for game characters. The methods described below were no doubt influenced by my past experiences and lessons learned working on these titles.

For customization purposes it is important that your visual goals are outlined initially and the “known” technicalities are addressed before jumping in and creating clothing assets. If you change any of the base character assets during production, you will lose a great deal of time re-working any of the existing clothing assets you may have already created. Understanding the problems up front is key to defining the customization process. You want to minimize the work on the art team and maximize the quality and quantity of assets that can be created.

Character Scale

 

First and foremost the Character Artist and the Character TD will need to work with the level and environment team to ensure you character height will work properly in the scale of the world. In most cases it is a good idea to keep close to real world units for scale. It’s likely easier to create real world weapons that work correctly with your character, if you follow this rule as well.

Play-testing your character in game running around, even early in a rough state will help you identify issues with character and world scale. It’s important to nail this down early in your process.

Character Mesh Topology

We started with a fairly standard male mesh until we fully determined how we wanted to approach the semi-stylistic look we wanted the characters to have. Here you can see some stages the proportions of the character went through before we came to our current version. The overall height and proportions didn’t have to change drastically from our initial construction. However, some aspects changed enough for us to have to modify the skeleton and in turn adjust and re-export animations.You can also see some of the topology was reduced to minimize the work that it would take to project onto future clothing assets and to lower the polycount overall.

From my past experiences, I found its best to have the character mesh topology to be created in a uniform manner. As you can see here, it’s almost a grid-like pattern. This actually makes it easy to define notable landmarks, where clothing assets will generally start and end. If you know the type of clothing and outfits the character may wear, its usually a good idea to make sure edge loops can border these common areas. This will be necessary for hiding the geo of the underlying character mesh at run-time, using a technique I will describe below.

When optimizing the mesh, it’s important to remove unnecessary edge loops where the detail doesn’t need to project onto clothing assets or the detail doesn’t support deformation. You may notice the nipples were removed from the topology as they may only be seen in very few assets and projecting that topology onto most of the clothing would just be too time consuming and wasteful. Only add edge loops to areas that need to support deformation and where the silhouettes of clothing would benefit from that detail.

 
Character model by Chris Wells

 

Customization Asset Topology

In the following image you will see how the clothing topology mimics that of the body mesh. This is important for deformation consistency. If the body can deform fine with the existing skeleton then the overlapping clothing assets with the same edge loops, will usually deform the same. You don’t want to have issues with the body tearing through the clothing and sticking out. If the topology was different between the meshes then you would likely have to add bones to correct for the tearing and intersecting issues as a result. This is not ideal when you are creating a game that needs to run as optimal as possible and extra bones increases processing time. Fixing visual issues with solutions that would hinder performance is not the best route to take.

 
Clothing meshes mimic the body topology

 

Character UVs & Mesh Hiding

The first uv channel is fairly standard as you can see here. The second uv channel is what we use to hide the faces of the body mesh. We first identified the common clothing areas and broke them down into subsections depending on the types of clothing. Next we generated uv shells based on those subsections and smashed the coordinates of those uvs to a singular value in the UV space. This coordinate can then be mapped to a game-side data file and referenced to hide when marked up with corresponding clothing assets. The material on the body skeletal mesh will have a technique that can then hide the triangles, or set them to not render when the coordinates have been flagged to be hidden.

For example, if the character is wearing a shirt, we would flag the first couple of coordinates being selected below to hide, ( U 0.1, 0.2, 0.3 ) Keep in mind the mesh assets need to be created so that the overlying mesh crosses over the edge boundaries, so that holes in the body will not be visible, when the body mesh faces are hidden.

 
UV Channel 1
 
UV channel 2 coordinates used to hide body mesh faces in game.

 

Customization Parts

When determining how complex you want your customization system to be you have to understand the amount of work you will be taking on. In Lawbreakers we did full mesh customization. This is essentially a mesh swap for each version of customization you want to have for the character. The creation is straight-forward to build as long as the meshes follow the conventions of the original character. The in game system is not complex at all, as it is just a mesh reference change, so the programming effort to implement this system was minimal.
For Radical Heights we decided to do a relatively basic “Paper Doll” setup. We researched the type of clothing we expected the character to wear and defined the most notable areas that we want to be able to customize so we could plan our asset creation accordingly. On the surface this looks easy to create for but it can spiral out of control very quickly from asset creation to in game implementation.

Clothing Boundaries

The things to be aware when creating the clothing, are asset parts that cross the boundaries of other parts and the volume/thickness of those assets. For example, if you create a shirt and pants with the same thickness and the shirt crosses over the boundary of the top of the pants, you will get an unwanted intersection. Determining how to create these assets consistently while avoiding these issues need to be decided up front.

Clothing Layers

Layered clothing, such as the UpperBodyArmor here, has to work relative to varying levels of volume/thickness of the upperbody assets. To correct for this instance, we have a morph target on the bulletproof vest mesh, that can be adjusted per upperbody asset at run-time. Addressing a singular asset in this case to correct an issue, works out far better than generating morph targets for each and every shirt asset. Always look for the cheapest way to solve a problem.

Clothing Materials & Draw Calls

Radical Heights can have up to 100 characters and the body mesh for the character already has three draw calls ( head, body and the eyes). For customization purposes we have separated out the clothing to specific parts, and each part on its own becomes a singular draw call, this means by default a character can be upwards of ten draw calls. This is not a great start, which means we need to keep the material count low for each clothing asset. We try to make sure they sure each asset has only a single material and two in the worst case.

Customization Fixes

When you have assets crossing boundaries or overlapping other parts you also have to handle how you want to deal with other crashing issues. In extreme cases we will hide the offending assets, large helmets will hide the hair parts. In other situations, in which we identify a common issue, we will create named morph targets to fix problems. Similar to what we did with the armor we will create a common morph target for each hair asset when a standard hat is enabled. This morph target will scrunch the hair down to work better with the hat. We cannot create a custom morph target for every hat asset, that amount of work and data loading would be ridiculous. Therefore, when we create the hat model, they fit to a predefined location on the head, so that a singular hair morph will work with every hat.

We did later determine that we wanted to have headbands for our characters to customize, as they fit the time period and aesthetic we were going for. This meant we had to circle back and create new morph targets for each of the hair assets to accommodate the headband location. This was an unknown initially but it was important for us to implement this specific data fix for each asset.

These rules for how hats, headbands and every other customization part can work together are important in defining creation guidelines. These guidelines are necessary to prevent data correction bloat from permutation issues. Understanding the volumes and boundaries for each asset is helpful to reducing these data fixes and ensuring compatibility with future assets.

  Character Skeleton

Radical Heights is an online Multiplayer game with up to 100 players. This means the character itself has to be fairly simplistic in terms of run-time complexity. The number of processing skeleton joints should be fairly small even at the lowest Level of Detail (LOD). The deforming corrective deforming joints start to drop off quickly as the character starts to LOD out. The twist and corrective joints are usually the first to go, ultimately leaving only the primary body joints, when deforming characters in the furthest distances on screen.

The supplemental joints here are comprised of joints used for IK hands and feet as well as joints only used when the character is in First Person/Aim Down Sights (ADS) mode.

  Character Rig

We continued to use Epic’s ART tools, created by Jeremy Ernst, to construct the player character rig for animation. The tool set allows you team to hit the ground running with a fully animation friendly rig and accompanying animation tools. I use most of the rig construction out of the box with additional custom rigging on top to satisfy our specific needs for animation and deformation.

Shared Skeletal Mesh

On Lawbreakers we chose to have two separate skeletons for First and Third Person. This required us to duplicate the customization assets work done by the character artists and double the amount of data that needed to be loaded by a character in game. The fidelity of the assets had also changed enough to necessitate this choice for that project. However, the speed at which we needed to create assets and the bandwidth we had on Radical Heights, meant we needed to be a bit more conservative and efficient with our time in asset creation. By having a single skeleton for first and third person it meant we should only have to create the clothing assets once and the same assets could be visible for both perspectives in game.
I modified the rig and skeleton hierarchy to be able to handle both aspects for animation purposes. The core of the third person skeleton remains untouched aside from various supplemental joints for controlling the camera and upperbody pitching in first person. This is handled by the rig using a single switch that modifies the visibility of various animation controls and changes multiple constraints that affect the behavior of the rig.

  Character Animation

In First Person, the camera is positioned relative to the head location, so we need to move the head out of the way for animation purposes. In the animation file we just rotate it backwards. In game we also hide the faces on the head and parts of the torso, using the UV method mentioned above, to prevent the them from rendering in the players view.

 
Animation by Ryan Palser

Checking Animation with Clothing Assets

The pipeline and tool set I created to work with all of the assets on Radical Heights, allows the animator to view customization items in their scene and correct poses where needed. Not every item will work perfectly with every pose, but this gives the animators the opportunity to easily address some of the worst cases scenarios as they are bugged by our QA team.

 
Animation by Nick Maw-Naing

Coming up Next

In the next post I will be going over the customization tool used by the character artists to setup assets for export and implementation in game.

Categories
Blog Post

Cult of Rig : Season 00 Day 005 – Vectors

Note : There isn’t much breakdown on this, as you really need to watch it through and pay attention, enjoy!

Season 00 Day 005 Stream – Vectors

Math time! ( need more reference check our math resources for more )

“Day five: a crash course in vector math basics all the way to practical application, at which point a crash in input devices all the way to mouse click prevented actual practical application.

Minute 52 to 58 are largely pointless, once you get to 52m just skip ahead to this point in the video: https://youtu.be/1qSEKo_nWTQ?t=3448
Sadly as of two months ago YouTube doesn’t allow annotating any longer, so I can’t inline this in the video itself like you might have seen elsewhere.”

  • Why vectors? Problem with the rig right now is you can’t twist the rig as everything pivots from a diffrent location/offsets. That is normal but want to cover vectors before we get to the fixes.
  • Not a rotation issue – it is a translation issue ( the rotations are linked well but they don’t translate when rotated, the position is still added in world space, not the local space
    • Simple fix? add in some extra nodes under localWorld_srt – world2pedals_offset_srt and match that offset to the center of the wheel, then grab its world space in push it in to the pedals_M_staff_ctrl_srtBuffer

Why does this work?because there is a real transform node located at the correct place that is now rotated by the control.  This is fine but great, what about if we want to keep the rig in the node graph and not hiearchy hacking?

Intro to Maths

  • vectors
  • linear algebra
    • when you want to work on two numbers together like X and Y you use linear algebra
  • the meeting location of the 2 numbers (X,Y) gives you a direction aka 2d vector

In Maya you get a Vector (xyz) and a Point (xyzw)where the w is the length of travel down the vector until you hit the point location.

  • What can you do to the vectors?
    • Add the 2 of them them piece wise ( each value) per part X/Y/Z
    • Subtract them but remember order of operation matters to go in the correct direction along the vector
    • Multiply them
    • Vectors of length 1 (normalized or normal vector) and how the Pythagorean theorem works to find it.

 

Then Maya crashed and took the stream to QA 🙂 but the rest of this is in the next video and our next breakdown as you should watch next!

QA: Use case for this math stuff?

 

 

Get involved:
Follow Raf on twitter for announcements and news
https://twitter.com/ThE_JacO
Follow the Streams live on Twitch
https://www.twitch.tv/cultofrig/
Subscribe and watch past broadcasts
Cult of Rig -YouTube
And keep up to date with news on the website
http://www.cultofrig.com