Need [Music] [Music] [Music] to will come out of the way Bring [Music] light in the air. Oh, let it be. Oh, let the pieces fall. Six times knocking on the door. No response. But hey, you're ready. Back to back running on a midnight train. Back down
again. I got to break down. Give me a break down. Just want to get back now. What the hell? Guilty gear. Exile. Exile. Hello everyone. Thank you for coming to this session. It's an honor to speak in front of such a big crowd showing interest in what we have done today. I'd like I'd like to talk about our art style of our latest title, Guilty Gear Exod. Why did we choose this art style? What made it so hard to fake 2D in 3D? How did we accomplish it? What made the
difference? We only have a limited time frame and I won't be able to cover each and every aspect of it. So most so it mostly consists on the 3D character art and the animation. If you have any specific questions, I'll try to leave as much Q&A time at the poss at the at the end of the session. So, please ask me at the end of the session. Before we go on, I want to know how many people here have actually played the game. Much more than I expected. Thank you. Um, how many of you have no idea what the game is about? Okay. Okay. Um, how many of you are artists? Okay. quite a lot. Um, and coders. Oh, quite a lot, too. Great. Um, how many of you like anime? Oh, super. Okay. Um, how many interest
How many of you are interested in nonphotorealistic rendering? Oh, that makes me so happy. I know our art style is not the most conventional in the west. So I was just curious to know what kind of people were interested in this topic. Now let's get started. First let me do a super fast introduction. I am Junior Christopher Motoa, a technical artist and character modeler working at Arc System Works. I've been working at the company for 13 years, mostly as a third 3D artist, but in many many other positions such as game designer, game director, story script, localization, voice acting, and even some singing, which I personally don't want to touch. My role in Guilty Gear Exert were lead character modeler, character look
development that included writing shaders, rigging, and other bits and pieces. So basically I'm the guy behind how the three catal characters look on the screen. Guilty Gear Exard is the latest installment of the Guilty Gear franchise, a long-running series of 2D fighting games. Previously, most games in the series used 2D sprites. This title is a reboot from a longtime halt on the series and has some drastic change in art style. We chose to do it in 3D instead of 2D sprites while maintaining the charm of the sprites it had. This was a great leap of faith and we're thankful it paid out. To get a better idea of what we're talking about, let's see another video mainly showing how the game play looks.
In Guilty Gear Exod, our goal was to keep the look and feel of the old titles and represent them in a new form, 3D. The visuals needed to resemble those of the sprites we had used for so many years and look even better with higher resolution in mind. Although it utilizes 3D a lot, the game itself is still played in a 2D plane, being true to its nature. As you may see, the art style is strictly based on Japanese anime, which is also a tradition brought over from the 2D sprites back in the days. This was done by combining custom cell shaders and 3D models made especially for these shaders. Turning 3D meant that we were no longer limited by the resolution. The screen is now 1080p for PS4, 720p for PS3. So that was a great boost in resolution from the
old 480p sprites. The shift to 3D graphics gave us much more benefit than just high resolution. It's the freedom we achieved on the camera. The cell-shaded 3D graphics work well in the battle screen. But the real real shine is when the camera swings, being able to move the camera at will, dynamic camera angles are now viable in the game. for special attacks and final and finished scenes. The camera moves around the 3D space and shows the action from a more dramatic perspective. We're happy with the result and the feedback we got from our audience. Thanks to that, I'm standing here today at GDC. Thank you. Thanks. So, we got a new art style, but where did the idea come from? Why did we
choose this path? Why didn't we stick to 2D sprites? Well, there's a simple answer. We already had Blaze Blue. Blaze Blueue is our other 2D fighting game franchise that utilizes high-res sprites. And it does it so well, we didn't see much room for improvement. We didn't want to compete with ourselves. So for Guilty Gear Exod, we needed something different and that's when we decided to use cell-shaded 3D. Well, we considered many other options such as vector art, ultra hybrid sprites, and others. But what merged most promising was self-shaded 3D, which I at the time happened to be experimenting with. This here is a piece from a canceled project that I was working on. The project didn't work out, but art style showed a lot of potential. So, when Guilty Gear Exod finally started to take form, we decided to take
this art style even further. If done right, we could maintain our anime style while gaining the various benefits of 3D. Dynamic camera angles and animated cutscenes were things we were craving for back in the days. We also find potential in it because the technique was not well explored and had lots of space for improvement. By advancing the state-of-the-art, there was a great chance to stand out in the crowded market. So, we decided which way to go. Now, we needed to actually start moving. Let's have a look at how we faced the challenge. Getting 3D to look 2D was going to be a tough challenge and we knew it. It was seldom accomplished. So, we had to find our own way and pave our own path. A lot of study went into both 2D art and 3D technology because knowing both sides was essential to tackle this task.
Elements that were not translated well enough from 2D to 3D were picked out and solved one by one. We broke a lot of conventions on the way because they just didn't suit this style. As a result, we came up with a new unique workflow mostly built from scratch. At the same time, we introduced ourselves to new tools in order to face this huge challenge. First, Unreal Engine 3. We considered multiple engines and Unreal Engine 3 was chosen because of multiple reasons. We needed a new engine that could handle multiple multiple platforms. Our deadline was strict and building an engine from scratch was not an option. We had a team mostly consisting of artists and the artist friendly design of Unreal 3 matched our needs. The fact that Unreal 4 was on its way and Unreal 3 was around the end of its life cycle also benefited us. The engine was well
debugged and stable and we had a lot of freedom customizing it with the full source code. The other tool that helped us a lot was Autoesk soft emarge. The flexibility in modeling and animation let us focus on quality. A built-in shader editor made possible to experiment with cell shading a lot because of non because of it non-destructive workflow. We were able to improve our assets continuously throughout the whole production right till the last minute without this tool. I believe it just wouldn't have happened. Now let's take dive into the details of how we did it. Starting with the look of the characters. The most important asset of our game were the characters. Without getting them right, there was just no way we were going to get the game right. First, the characters needed to represent the 2D design well enough to appeal to the
audience. The models had to be as good as the designs or even better. And they had to look 2D as much as possible. To do this, our principle was simple. Kill everything 3D. If you find something that looks 3D, you just have to find a way to avoid it. This often boiled down to handcrafting by the artists. Because while the math within the shaders are always correct, correct is just not good enough. To get a convincing 2D look, everything on screen has to be an intentional choice, not just a result of a calculation. To achieve all this, instant feedback was key. We were fortunate to have a real-time shader preview on our modeling software that gave us trustworthy representations of the actual game. I would like to show you a demonstration of this.
Oops. It's not coming on. Just a second. Things happen. No, that's not that's the presentation. I need that one. This should be one. Oh, there we go. Okay, great. Sorry for
that. Okay. Um, here is a model of one of our characters. As you can see, real-time shading is taking place, and it completely resembles the look in the actual game. The models and animation were created in this environment, so the artist would know exactly how the end result will look even without exporting to the game. For example, the modeler will know exactly how it will look how it will look in game if some vertices were modified. Well, you wouldn't really do that, but you'll see how it looks in the real game
if you do that. So, let me just undo that. Okay. Okay. So, let's go on. So, let me turn Okay, there we go. Okay. The models have a highly fairly high polygon around 40,000 triangles in average. We knew we were going to do extra close-ups in cutscenes, so the models had to hold up even at extremely close distance. Details were directly modeled in with geometry. What made this special about the character models in Guilty Gear Exod are that they are very texture independent. For example, unlike average 3D games, we do not use textures such as normal maps for our characters. Instead, we use vertx properties such as vertx normals, vertx colors, and UV coordinates a lot to store data in. The reason for this is
again the extra close-ups. The problem with texture data is that they're very resolution dependent. Pixel data easily can get jaggy at super close-ups and that cannot be helped unless you have ultra high resolution. On the other hand, vertx properties are linearly interpolated between vertices which is completely resolution independent. Now let's go into the actual shading. In cell shading, the surface is either lit or not and no value in between. This is one of the reasons cell shading is so hard to get right. In a drawing, the artist will choose the most the most convincing distribution of light and darkness. But in a shader, it's all math where unforgiving thresholds mercilessly split between light and dark. In cell shading, every little noise on the surface will become extremely distracting. The slightest difference in the surface normal may end up as a huge
blotch. A convincing 2D look can only be achieved with precise control over the distribution of shades. The code for our cell shader is actually pretty simple. In the main part of the calculation, a generic step function is used to decide if the pixel is lit or not. To put it simple for artists, this code works like this. If the surface normal is facing the light source, it's lit. If it's facing more than 90 degrees away from the light source, it's not. 90 degrees is the threshold here but it could be any other any other value. What matters here are the following the threshold the light vector and the normal vector and that's all only these three components matter in this shading code. So what we have to do is simple take full control over those three. First let's look let's have a look at
the threshold. We used a channel from vertx color as an offset to the threshold. This made it possible for artists to make certain areas on the model get darker more easily. This could be used to represent the occlusion of the vertex. Areas more occluded from the light have less chance to be lit. The artist will go around the mesh setting values defining the areas most likely to be shaded. The artist may even set the value to zero, making the area always shaded no matter what. We use texture data in the same way in places, but vertx colors served us better in many cases. Again, texture is dependent on resolution, but vertx properties are not. The linear interpolation between vertices gave us a very clean result without any without any pixelation. Adding to that, it was much easier to adjust with adjust the vertex colors because the because you can just get
instant feedback from the preview even while fiddling with the values. Next to lighting. Unlike normal 3D games, Guilty Gear Exodar does not have a global lighting system affecting the characters. Each character has his or her own dedicated light vector that lights their idle pose in the best way. The lighting doesn't change frame by frame in the battle scene, but in cutscenes, it animates along with the character to get the best result each and every frame. And finally, the normals. Surface normals are one of the main reasons cell shading is so hard to get right. The smallest inconsistency in normals results in a super evident artifact under cell shading. The problem with the normals are that they are automatically calculated and the result of this calculation is often not what the artist intended. On the other hand, shading in 2D art is
very intentional. To close this gap, there was only one thing we had to do. Control the normals with intention. Fortunately, soft emarge had powerful tools built in for this purpose. Although editing normals is nothing new to game graphics, we took it even further. To get rid of unintentional shading, we modified the normals on every major feature of the character. The faces of the characters especially needed to be handcrafted to get clean anime look. Here I would like to show you the comparison. This character model has his face normals edited. It looks clean from any light angle. And here is what here it was how it going to look if I delete the delete
delete the normals. Yeah. pretty ugly. Practically unusable. So, let me undo that. And there we go. Clean again. Okay. Something in common with these three components I just talked about is intention. Being able to reflect the artist's intention on the final result is the key when it comes to stylized art. Okay, now we sorted the lighting out. We we have to think what the color to paint the lit and shaded colors. Color selection and in anime is vital. Every color is carefully chosen to express not just the material but the
character itself. It is not as simple as just multiplying the shaded area with an ambient color. The coloring coloring style in anime can vary from title to title. But one thing is in common. This too is very intentional. The combination of lit and shaded colors can express a vast amount of characteristics. Not just the material, but the atmosphere the character wields. It's an art in its own sense, and it's a task usually given to professional color designers. To get the anime look right in 3D, we took this by heart and worked on a way to replicate this process. By studying anime art style extensively, we found that shaded colors often express how solid the material is. A less solid material will pass more light through it, getting a lighter color for the shades. The light passing through the material will get tinted depending on the material's composition.
For example, shades on human skin get a red tint because of the flesh under it. In order to implement this in the shader, we use two textures. The base texture defines the color of the surface when it's lit, while the tint texture defines how dark it gets when shaded. Multiplying the two textures, we get the shaded color. This way the ch the choice of color is completely up to the artist. The artist can choose whatever color he or she may see fit for the lit area and the shaded area of the material. On a side note, as you can see, both these textures are just square areas consisting of single colors. This is because we simply use them as colored lookups and do not draw in any details to the textures as images. As stated before, most meaningful information is stored in the mesh itself rather than in textures.
Along with colors and shading, lines play a huge role in cell shading. In fact, if you think in black and white manga style, lines would be the most important aspect of the visual. In Guilty Exod, we use a traditional inverted hull method as outlines for the characters. A second set of darker polygons are generated in the shader and are expanded in the normal direction to create the hull which shapes the outline. We added some new tricks to this longestablished method to achieve even more control over the results. It's common these days to use post effect for the outlines, but we found this method suited our needs better. First of all, we could preview the result right in the modeling viewboard, letting us know exactly how it's going to look in the game. We had more control over the lines through the vertex shader, giving
precise control over the whole model. With this, we were able to give the outline variable width in places we saw fit, even erasing it completely at times. Again, vertice colors was used to control these line properties. We got our out outlines solved, but there's another set of lines that need to be discussed. The inner lines or the lines on the surface. We needed a different approach for the inner lines because the inverted hole method used for the outlines do not work for these kinds of lines. These lines play a huge role in 2D art. conducting where one surface ends and another starts. In order to get a 2D look, we just needed to find a way to get this right. The easiest way would be would have been to simply draw the lines on the texture. But we knew that was that was a there
was a major limitation to this. The challenge here was again resolution. We needed the characters to be able to hold up at extra close-ups without any jaggies or pixelations to be found. To avoid pixelation, you would need an infinitely high resolution for the textures, which is simply impractical. So, we had to find a better way. We came up with a technique using special UV assignments to get jaggy-free super clean lines even at close-ups. Here is how this technique goes. All the lines are drawn on all the lines as draw are drawn as axis line beams on the texture and the UV is lined up alongside them. How much the UV overlaps these beams defines how thick the line becomes. As long as the pixels are lined to an act to to an axis, they don't get any jaggy. So, we figured we could use this to our advantage. The downside is that you get a very
distorted UV for the for the surface. But that was not a problem for us because we do not put any details on the texture. It may be difficult to imagine. So let me demonstrate it to you. Okay, this would be how a freehand line on a texture would look like. Pretty bad. It may look okay from distance, but it clearly does not hold up at close-ups.
Let me get rid of that and show you the UV. As you can see, all lines align to the X and Y axis. This is the area of the shoulder. Here's the shoulder. Okay. By nudging the UV onto the black area, you can control how wide the line is. I'll show you. You can precisely define the width of the line at each UV point and get super sharp edges at places you see fit.
with the same texture resolution. You get a super clean line without any noticeable pixelation going on. I zoom up and still no pixelation. And zoom out, still clean. These lines look great close by, but because texture filtering is in play, it also looks very good from a distance. Okay,
with that, we have a pretty good model with many features representing a 2D field. Now let's move on to animation. Animation is where the merits of the models and the shaders truly come to play. As with the models and the shaders, our goal was to make it look as 2D as possible. To do this, we took a style called limited animation. This is a term often used in Japanese animation industry in in comparison with full animation. Unlike western animations such as Disney, it focuses more on tricking the eye with less frames. This was the way the old Guilty Gear titles were animated. And to replicate that, we decided to use the same principle, but this time in 3D. We did try the full animation path in early development, but it simply didn't convey the sense that it was 2D. Having
the poses interpolate between key frames makes it look smoother, but at the same time makes it look more 3D. So we just stopped using interpolations between key frames. Every frame now is a key frame and the animator poses the character in the best way possible. You could imagine stop motion animation where dolls oppose each frame. Basically, that is exactly what we're doing. This looked more true to our old sprites and also made the cutscenes look way more 2Dish. In order to use limited animation as our style, we needed to build a rig to match this method. Because we were going to have less frames per animation, we knew we had to add more information to each frame. This was done by having a lot of bones, so the animator can move every feature on the model at a frame by frame basis.
The bone count is about 500 per character in average. No simulation was used because again, it just doesn't look 2D. There's just no way to capture the anime style movement with simulation. Scale animation was used a lot because it lets us do many sorts of tricks. Exaggerations of actions let things hide or appear. Traditional squash and stretch and more. We knew we needed it, but the engine didn't support it. So, we had to implement the scale system by ourselves. It was a difficult task, but thanks to our talented programmers, it was done. And it was totally worth it. Turning off interpolations between key frames is essential. But that alone is not enough. You need another trick to mimic 2D animation. The secret is to deform the mesh every
key frame to add imperfection. The human eyes and brains are very sensitive when it comes to perspectives. A part of a 3D model moves through the perspective perfectly maintaining its shape. The human brain instantly recognizes it as a rigid 3D object. To avoid this, adding imperfection was the only way. Nature isn't perfect. The artist is imperfect. Therefore, perfection looks too artificial. As an example, let me show you how the animation actually looks like in soft emage. Every key frame, every bone on screen is adjusted by the animator to break the perfect transition. This this makes each key frame more distinctive, adding even
more information to a single frame. You need to think in 2D is a word used a lot while animating in our team. 3D accuracy is not priority in this workflow. We often sacrifice it in order to get more dynamic composition. Limbs, hands, and feet get a lot of scale animation to exaggerate the perspective and facial parts do not maintain natural positions. This is exactly the same as 2D animation, expressiveness over accuracy. And what we did was simply bring the same principle to 3D. And here is how the final cutscene looks like. For those curious, here's a comparison between full animation and limited
animation. Let's have a look. This is how a full animation with interpolation would look like. And here is how limited animation would look. Simply having more frames, it's obvious that the full animation looks a lot smoother. However, it's more apparent that it's actually 3D compared to the limited animation version. The limited animation version may look less smooth, but has more distinctive poses, easier to recognize. It's up to you which to prefer, but we chose limited animation for the clarity it holds. Oops. So, that was some short explanations of the major aspects on how we built the assets for the art style. Of course, there's much more, but there's no way I could have covered it all within time.
If you have anything specific, you want to know how it was done, you may question me in a few minutes. In the meanwhile, let me talk a bit about the reason why we're able to get this done. What made the difference? In my opinion, it was figuring out this one thing. The X factor is the artist's intention. All the techniques we used, all the techniqu all the techniques we used are actually nothing new. No new hardware or software innovation was involved. Technically, the art style could have been done years ago. What made the difference was the notion that the artist's intention was the X factor. A workflow which lets the artist intention carry through right till the final result was the core of our accomplishment. But why was it us and not anyone else? One simple answer would be that we were
lucky. Thinking about it now, we were in a very fortunate situation to get this done. We were a 2D oriented studio that had a lot of 2D experience. Many artists who knew 2D inside out. We were not new to 3D but not heavily invested in photo realism either. We were in a need for new art style to differentiate from the best of our own Blaze Blue. The project was a reboot of a very wellestablished game, so we knew exactly what we're working on. And the team, the team was a dream team. We had exactly the right people with the exact skill set needed for this challenge. Of course, Fortune wasn't all. The dedication and the hard work of the people involved in the project and the strong support from our fan base was what made all this possible. Now to wrap up, here's my final proposition. I want to see more studios explore
non-photoreistic rendering. I feel that not enough research has been put into this area and there's much more room to explore and improve. Photo realism is great, but it's not the only route. It's a crowded one, too. If you look in different directions, there's a whole new horizon. You could be the pioneer that gets there first. The frontier is there, waiting to be discovered. Thank you. [Applause] It seems we have a couple more minutes. How many more minutes? I don't I'm not really I don't have a I'm not really on track. Um so if you have any questions, please go up to the mic. I'll try to answer them as much as possible.
Okay. Um, how does this go? Please, go ahead. Hi. Uh, my first question is how many people does it take to create each character and how long does it take? Um, the character model and texture the rig is basically done by the same p by the same person. We had about three or four modelers altogether. Mhm. Um so and it takes about two months altogether for one character. That's only for modeling and then another two months I guess for animation. I see. So it's quite int intensive. Okay. The second question is uh you have the very unique UV layout. So for each character each character design is very unique as well. Yeah. So, do you just look at the 2D concept art and figure out how many specific patch of UV you need to create and then
figure out the final layout for each individual character texture? Um, so so your question is about the UV layout. Yes. Um, yeah, basically we just um the first stage of UV layouting I think is not that different from any other project. um we just um lay out the UV depending on how um big the area is. Mhm. But um after that we kind of line them up into straight lines. Um and after that once we get straight line UVs you draw we draw lines on the textures and then nudge the UV back onto the textures. I see. Thank you very much. Thank you very much. Okay. Um, please um I I totally understand not wanting to do the uh the interpolation between key frames. Did you because it does end up looking more 3D and more artificial. Did you guys ever consider doubling the key
frames themselves by hand? Obviously that doubles the amount of animation work, but was that ever a consideration or um having more key frames in the animation is one thing we wanted to do. Um but doing it too much also um kind of cost costs a lot. So keeping it down and also um keeping it down makes it more 2D. So kind of we we were looking for the best balance there. Very cool. Thank you. Thank you. Okay. Please. Yeah. So you mentioned that each character takes about uh uh two months or so to model and animate about correct um two well not anymore maybe the first the first stage um while we were trying to um figure out how to do it I think it took more. It's getting shorter right and know what to do. Well, I the main thrust of my question is is uh it
it seems like the models for Exert might be substantially more uh labor intensive than a spritebased game like uh Blaze Blueue. But then I'm also not sure about that because I believe the Blaze Blueue sprites start out as 3D models, don't they? And then they just get uh uh you know uh sort of sprite uh captured Yes. by frame. Yes. Um, Blaze Blueue also uses 3D models to make um, 2D sprites. They basically are used as lotocopes. The models for Blaze Blueue are a bit simpler than the Guild Gear ones. Um, because the hand the facial expressions are drawn in afterwards. So, they don't have facial expressions in the models. Okay. Um, yeah. And basically, they they're not designed for close-ups to place blue models. So, so is it a lot more labor intensive to to do uh uh the exert
models and uh does that make it hard to add in more characters because you know I uh obviously Arc System Works likes to, you know, put out some updates to its games and whatnot? Yes. Um we would totally love to add more characters more quickly. Um yeah, but it to stand out we just needed to pursue quality. So it takes a lot of time. All right. Um, yeah, dizzy win is basically what I'm asking here. Um, yeah, I was sort of sort of expecting that. I wouldn't be able to answer that. Sorry. A All right. Thank you. Sometime sometime. Okay. Thank you. Okay. Um so for your um inverse hole outline system, did you expand that along the generated normals or the normals that you handcrafted or a separate set of normals? Okay, that's a good that's a good question. I didn't really um go too deep into it, but the um normals for the
extraction of the um hull polygons are actually separate from the shading normals. So we have another set of normals um that are automatically calculated for that purpose. Yes. All right. Thank you. Thank you. Um I wanted to ask uh so you went with limited animations for the character, you know, um animations and you know their finishes and stuff. I was wondering what was the reasoning behind not also doing limited animation for the camera rotation as like it goes around the uh the character. Okay. Uh that's a good question. um camera rotation is it looks ugly with um less frames. And in anime um although in limited animation although the frame per second is like low um eight or 12 but the um the actual how the background moves is 24 frames per
second. So it it defers from character to background. And when the camera rotates, the background moves with it. So it kind of it if you turn down the camera too much, it gets really um snappy. If that answers the question. Yeah. I just um I have a friend of mine who who felt as though it was very kind of for him at least it was very disjointed, you know, the the limited animation of characters versus the very smooth animations of the backgrounds. Yeah. Um, we tried to um we we tried lower frame camera movement, but it just didn't feel good. Okay, cool. Thank you very much. Thank you. Okay. Uh, did you have to swap out models and stuff for things like Millia's hair? Uh, yes. Um, I didn't touch that today um because it was uh it was going to take a lot of time, but um yes um lots of characters in Guilty Gear have really crazy animations. um shadows of Zato,
hairs of Millia, um they do a lot of morphing animation and that is um practically impossible to just do by a single mesh. So we just have to make um bunch of meshes to kind of switch in between shapes. Yes. Thank you. Um, I was just wondering with like these highly detailed models, these, you know, hundreds of bones per character, um, a lot of animations, like how how difficult was it to get a locked in solid performance out of the game and how scalable is this whole workflow? Um, the shader itself is not that um, performanceheavy. So, and we only having two characters on the screen, it it's much more forgiving. So, maintaining 60 fps was possible on PS4 easily. We had to um tone down the shader and the polygons for PS3 a bit,
but it still runs mainly in 60 fps. Yes. Awesome. And it seems like because of the way you're doing your textures, you can actually do them quite low resolution without losing that kind of quality. Yes. textures. Um some textures we have three textures per character. Um basically one is 20 uh one is 2k and two are 1k. Okay. All right. Thank you very much. Thank you very much. Please. Um first of all it's an honor to have you here. So thanks for giving this talk. Thank you. Um my question relates to specular highlights. I see. I I could be mistaken but for instance on Soul's deltoids Yes. Um there there was a bright lit area. Yes. Do you have a third texture for specular highlight tint? Um no. Uh we do speculars. Um I didn't touch on speculars either. Um yes. Um specular
basically uh no we don't have an extra texture for that. Um it's basically based off the base color and a tint color. So we kind of mix that to get the right speckle color. Okay. And and it uses the same normals that the shading uh calculations are used for. Yes, that's correct. Okay. Okay. Thank you. Thank you very much. Okay. I lost track. Um please. Thank you also um again for speaking today. Um I have two questions if that's okay. I was curious if the effects are hand animated um the same way or if they are particles. Okay. Um effects some some Okay, that's a good question. I couldn't really go into effects today. Um sorry about that. Um most of the effect most of the effects are um particles, but not just particles flying around, but animated particles. So um the hit effects and everything like that are actually 2D but
have um a set of pictures switching every frame to get the animation. Um some particles or effects such as this uh such as the smoke from the character's feet when they jump. Um they are actually done in a pretty um kind of a brute force way. They modeled each frame and swapped um each frame. So we have a bunch of meshes um swapping every frame as a smoke. Thank you. Well, that it actually isn't that hard to do. And we were kind of joking about it how how we're going to do smokes in this game. And we were like one of the one of the jokes was we're going to model them each frame. and it turned out to be the best way actually. And then my last question was just um were there some key features of XSI um that you could only do in XSI for this
game? Um I think it'll be pretty I wouldn't want to do it in any other software. Um that is simply because um you can just go back to any state and continue fiddling with the model without any um redoing the skins or redoing the UVs. It just keeps there and you can just keep working on it until the last minute as I said. Um and yeah, some the mo the normal editing is pretty good in soft emage. So, I'm not really sure how Maya and 3D Studio Max do it. Um, but I as long as as much as I know, um, 3D Studio Max has some problems with the normal mapping. I mean, I mean, the normal editing. Yeah. Thank you. So, that's about it. Thank you. Thank you very much. Please. So, the effects question was actually what I was going to ask, but um, okay.
to expand on that. The parts like if they're swinging swords and there's some drag on the shape, is that just the mesh of the sword being like the verts being dragged? Um yes. Um that is a combination with um switching meshes um in question. Um, some characters swords are switched when they are kind of expanded and other times we just add an extra um, mesh of that shape because it only lasts for like a frame on the screen. So, it's no point um, putting the mesh into the actual mesh. Um, so we just add it as an effect. Okay, cool. Thank you. Thank you. Please. Uh, hi. Um, I actually had a question about the normals editing. Uh, it seemed like you had some really specific control over the normals on the models and I was wondering uh what tools you were using to do that. Was that just um the XSI modeling tools or were did you build your own? Um, yes. Um, basically what we know uh
use a lot is Gator. It's a um it's a tool in soft emage that lets you copy a norm set of normals from a simpler mesh to a more complicated mesh. Um this gives you a more smoother mesh, smooth the normal and everything else basically we just um hand tweak by the normal editing tool. Thanks. It looks really awesome. Thank you. Thanks a lot. Um T. Yeah, I actually did have a second much more serious question about uh your lighting uh uh solution. Okay. Um so you have each character lit individually separate from like a global lighting solution like you you you've got the lighting for the stage and then lighting for each character. Uh but first of all, does the lighting per character change a little bit depending on uh the stage they're in uh uh to to
make them sort of match the feel of the stage better or Okay. Um first of all, the background isn't lit. It's all the shadows in the backgrounds are pre-baked. Yeah. Yes. Um so there's no global lighting. Um one thing that has global lighting is the character's shadows on the ground. Mhm. So, the shadow maps have one global lighting and that's independent from the character's um own light set. Um the light set doesn't move and that is an intentional choice. Um we have the same light set in every every stage because um we didn't want to change the impression of an action. If the sha if the shape of the shadow changes um from stage to stage, it will give a different impression in each action. Okay? And that is not a good idea for fighting games, right? Which which sort of gets to my bigger question. It sounds like because of the way you have the lighting sort of customized per character and like no
global lighting, it would be extraordinarily difficult to use your uh specific sort of solution for a game that would require somewhat more open movement through a stage like an RPG for example. um like you know where you there's just sort of this requirement for global lighting or local lighting and the character has no choice but to interact with that somehow or else it'll look really That's true. Yes. Um basically we knew it was going to be a fighting game with a fixed camera. Yeah. So it was a choice with that in mind. Okay. If we were going to do a RPG or action game, we would take a different route obviously. Okay. So yeah. So that just your leting solution just can't really apply to sort of wider games. Well, probably not. Probably. Yeah. Okay. Thank you. Okay. Thank you. You're welcome. Thank you. Sorry. Please. Hi. Thank you. Uh first of all, I'd like
to say it's great seeing uh Japanese companies kind of embracing NPR rendering or NPR rather. Um, we don't have a lot of companies here in the west that are doing that and like stuff that your company and Cyber Connect 2 with the Ultimate Ninja store games is just really inspiring. Uh, my actual question is I noticed that you're using uh a lot of the vertex color information for the outlines. Um, but you're also using some for to define the lighting on the character. Um, yes. Are you managed to fitting that all that information in the RGB channels or do you have to store it some other way? Um yes um we are using all the four channels RGBA for um the lighting or the threshold of the lighting and the other three are basically uh dedicated for the uh outline. Okay, great. Thanks. Thank you. Okay, please go. I had another question about the editing of the normals. Do you
allow non-unit normals when you are editing them? So in the case of the front of the face that you would actually scale them down so when you do the normal dotted with the light it would you know more easily bias into shadow or highlight. Um yes uh we considered that. Um but uh we we at at the moment we keep it at unit um normals. Okay. Because it kind of it kind of gets unpredictable in places. So we just keep it to that state. Yes. And one more quick question with the textures that you fetch. Yes. Um do you just point sample those only? And I assume you don't use MI maps because you would worry about at far views they would well um sort of blur and give you non-controllable issues. No. Um although I said we don't really treat them as images. Um we do sample them as textures. Um without that we wouldn't get the um
inner lines like that. So it's it's basically the same um texture sampling but with a special UV set. Okay. But the sampling mode like for the line control and the extrusion, is that in like a point sampled mode where it's actually is or is it linear? So when you you zoom out into the distance, it's it's smoothly adjusting. Okay. Um I assume you're talking about texture filtering. Yes. Okay. Texture filtering in the shader when you're looking up those textures and texture having them Yeah. drive the extrusion. Yeah. Texture filtering is in use. Um therefore the texture blurs at far away. Yes. And that blurring area kind of acts as a fill in to the um so you so you allow it to center it then. Okay. Thank you. Thank you very much. Um, please. Uh, for characters that cast shadows on themselves, do you kind of author the
self-shadowed areas manually or do you do something um for like um something special with lighting to deal with those? Okay. Uh so this question is about self shadowing. Yeah. Okay. Um self shadowing is one thing we wanted to do but um we didn't do. So basically uh we we um we use the threshold mechanic instead. The problem with uh self shadowing is that it's very um uncontrollable. Um in anime you get like characters with big hairs and big hairs drop big shadows on the faces and there's just no way to control that. um you either have to turn turn it off and kind of deal with it. So we just decided not to deal with the self shadowing and do kind of a manually set the sort of self sort of self shadows by
hand. So for all the characters with like coats all of this like shadowed regions were just the threshold um vertex paint manually edited and Wow. Thanks. Okay. Thank you. Please. Yeah. Uh, I think that the game looks really amazing. Excuse me. Sorry. Um, so we don't have much time, so this will be the end of the questioners. So, please go on. Yeah. Uh, I just wondering if you have any further thoughts on what to do to improve even more on the 2D look in the future. Okay. Um, yeah, we have various ideas. Um, I can't really talk about them yet. it will kind of ruin the surprise. So, I hope you just stick around and see how it goes. Yeah, that sounds interesting enough. Thanks. Okay. Thank you. Thank you very much.
Auto-generated captions from YouTube — names and numbers may be misheard.
Distilling the key insights…
Game Developers Conference · 2026
Comments