And here's an other test i'm working on from a concept by Disney for "Up" :
I love it, it is the effect I want to recreate on the Unreal Eninge 4 but for now I have not succeeded. I downloaded this model to use as example http://www.blendswap.com/blends/view/50358 and these are my results:
Zero Effect
with Post Process Effect
Now Guilty Gear Xrd use the UE3 and I think the materials is connected to CustomLighting like in this Tutorial http://media.moddb.com/images/articles/1/29/28341/auto/shader.jpg But I'm not 100% sure, now in the new UE this option no longer exists.
My question is that, is possible to have the same effect on the UE4??
In these cases it would be a nice plugin that carry materials directly into the game engine :poly136:
Thx and sorry for my English.
This thread is awesome, so much good info here. I think these techniques have a broad use in many types of rendering styles. I personally love the high-contrast comic style of Marvel vs Capcom 3.
They have a different shading style for the gameplay and their trailers like this one, but both look amazing I think. One of the things I like is how they have a hatching texture. I'm not sure if their look is done with a simple ramp or if they're using some of the normal manipulation and other shader techniques.
Unity yes. We've already written a shader to emulate the GG:Xrd techniques. We're actually working on ways to improve it as well.
The biggest thing that attributes to the look is the stretchy bones they use in animation. This isn't supported in Unity to my knowledge.
Wow that's awesome, I'd love to see it. I'm not as interested in animating the same way as Xrd, but I really like the render style and would love to do something similar.
What 3D package are you using? I'd love to hear about your process.
We're using Normal Thief to project normals based on a reference object.
The Unity shader thickens and thins the outline based on vertex color.
We can define shadow and specular colors on a per pixel basis.
Where we're improving:
We're using Distance Field Rendering for sharp, inner outlines.
We're using a reference model as a reference for pushing our cartoon outlines. This eliminates breaking along uv seams.
We're doing a real-time gradient along the models length.
We're experimenting with some halftone techniques for shading.
We don't have anything to show yet but we're working on a demo for it which will hopefully be ready by GDC next year.
Is there anyone who could help me understand how they got the outlines on the hair to work? Hopefully you can dumb it down for me because, as an animatior, its kind of beyond me.
At its core it's a simple trick. But an awesome one!
It's really easy to explain when you remove perspective from the process:
Here's an anime hair substitute, ie spikes. It's been duplicated, expanded, its normals flipped and its color set to black, and backface culling is enabled, which gives us the standard polygonal inking effect. It's pretty nice in itself but you can see intersections.
The perspective view on the left is there to give you an idea of the scene layout, the orthonormal view on the right is the visual end result.
Now let's move the outlines behind the original object.
See how stupidly well it works? All the intersections have been removed.
With a perspective view it's the exact same idea, except you move or scale the vertices away from the origin of the camera:
In-game you do it with a vertex shader, and you use one of the vertex colors as a weight for the scaling so you can decide how far you should go per-vertex. And since it's done in a custom shader, you can ensure the offset doesn't factor into the lighting calculations.
Note it's the same idea that prevents two characters from intersecting when they are close: the character on the layer that's "behind" is entirely pushed back, outlines and all. That probably mean a similar offset is applied to the background, too, otherwise the characters and outlines would clip into it.
Speaking of which, a sequel came out in arcades earlier this week. The main technical change in respect to the visuals is they support several lights per character, so you get things like rim lighting or light emitting projectiles. They've also got an extra decal layer to show battle damage.
Thanks for the response Chev. I still have a couple more questions though. So is there any way in blender to set this up so that the outline will follow the camera? I understand the bits about the duplicated mesh and moving it behind the object instead of on top of it but once I move my camera around the effect breaks because the outline doesnt move too. Also, if you have time, Im still confused to how the get the outlines to vary in width.
@Funtimes: I think you are misunderstanding how the outline is made.
You create a copy of the entire 3D model, scale it up a bit (in edit mode using blender terms, so that you are leaving the object origin the same as the original model), and then invert the normals. (This makes the faces "point" inside the object.) With back face culling enabled faces are only visible from the direction the normal points, so you can then see through the object to what is inside of it.
The areas that are scaled up outside the original model are not blocked by its geometry, so they look like an outline. By changing the amount of scaling you can control the thickness of a given outline.
Perhaps the above illustrations confused you, since Chev moved the object to try to demonstrate how it was made. The effect should work from any camera angle so long as you are properly scaling the object. The outline object is not moved from the position of the original. For a simple object like a cube, you would just parent the outline object to the original and then animate the original.
For something more complex like a character, you would create the outline object at the last stage of the project after you have the original object rigged. The copy should retain all the rigging information of the original and just follow along naturally.
Perhaps the above illustrations confused you, since Chev moved the object to try to demonstrate how it was made.
Nonono, I moved it not to show the general outline principle but specifically how to do the following, which I assumed was what the question was about since it mentioned hair specifically:
the green channel controls how much it scales with distance from the camera, and the blue channel is a Z-offset. This offset will push the vertex "back" into the z-buffer, effectively making the outline invisible when in front of close objects. It's used to simplify the outlines of hair and small features, see Chipp's hair without z-offset and with it.
@funtimes: you can probably use a driver to make the outline mesh scaled relative to a camera (though it'll only work for that specific camera). Scaling each vertex to vary outline width is basically as if you were using a displacement map (though Xrd uses vertex colors), or you can move them manually by scaling along normals (alt-s I think?). To really do it the xrd way you'd need custom GLSL shaders, which Blender doesn't support outside of its game engine.
Anyone have any luck getting this effect in Maya? It may be possible with a ramp if you could somehow make the vertex normals paintable so you wouldn't have to edit them one by one. Also is animated vertex normals possible?
I played around with this in Maya a while back. Never really finished that project... yet.
The face on the left has tweaked normals (transfered from a sphere if I'm not mistaken) and uses vCol.r to deliberately make areas dark/lit, such as under the nose. The face on the right has none of those features, regular lambertian lighting.
jMonkeyEngine has a shader that does image-based outlines -- it's the alternative technique to using that black expanded clone of the mesh, it's done with edge detection based on a normal and depth rendering of the scene rather than with geometry. It doesn't do anything out of the ordinary but I think it's useful for reference:
Hello there guys, gals. long time lurker of this forum topic (I'm not sure if its dead). i tried implementing my own toon shader a while back but failed on the whole vertex manipulation to achieve the linework in maya. i recently stumbled upon this masterpiece https://www.youtube.com/watch?v=hVQ_gTZbiIw and in my opinion it is on par or surpasses some of the best works I've seen. does anyone know much about the studio or the technique being used here, particular in regards to shadow biasing. thank you for your time.
This is a great thread. That Blender character looks amazing. Seems like every program other than Maya has better toon shader options these days. Unfortunately I'm using Maya for my experiments. Altering the normal direction is pretty easy, but I still don't understand the other part, where you create a map for shadow shapes using RGB values? Or something? If someone has a tutorial on that, even if it's for another program, that would be be great. As long as it explains what's happening with the map and the shader.
i recently stumbled upon this masterpiece https://www.youtube.com/watch?v=hVQ_gTZbiIw and in my opinion it is on par or surpasses some of the best works I've seen. does anyone know much about the studio or the technique being used here, particular in regards to shadow biasing. thank you for your time.
I believe this is from Studio Khara, a Japanese studio that also
does the evangelion films. They use Pencil+ plugin for 3dsMax for their
toon shading. It's a really great plugin that's used almost exclusively
in anime production. Unfortunately it's not available for Maya...
In an effort to revive this thread I'm going to post a bunch of cool stuff I've found about this subject: A tutorial on how to do the Guilty Gear-style cell shading: https://www.dropbox.com/s/65cwf6kjuezhwdl/GuilltyGearXrd_shader.pdf?dl=0 If someone can use this information as a guide and make a tutorial for how to use it in Maya, that would be amazing.
An closer demo of the Guilty Gear topology and how to get the nice shadow shape under the eye (probably also requires using the guide above and plugging in those vertex color maps, but I'm not completely sure): https://www.youtube.com/watch?v=6BdzaK2z43s
A demo of Houseki no Kuni character turnarounds, showing the eyes as separate geometry that can be slide around the model based on camera angle to allow for art directed looks: https://www.youtube.com/watch?v=n6q3Zi22IXs
Can anybody tell me how these are being done? The shadows move on the characters in the animations. I suspect they're using Pencil or Blenders NPR but I'm not sure. If anybody wants to help I can equally exchange professional music production information/theory. I am still new but have been doing beginner max tutorials and blender is a bit hard to use but I've been playing with the shader a bit.
So Dragonball Fighter Z has released and Arc Sys has worked more of their magic.
What I'm really curious is how they managed to get those extra darker shadows going on near the nose and eyebrows. Those mouth and forehead outlines also seem like extra work compared to just the tiny polygons they modeled for the noses in Guilty Gear. It seems they simplified a bit of stuff by moving more work into simply textures, but boy did they still work a lot of magic!
It sure looks fantastic. And ironically ... one could probably argue that the visuals of this game must have a been a lot easier for them to work on than Xrd, because the art direction/visual target was extremely well defined in advance (and of course all the technical groundwork was done too, besides the engine switch maybe).
So yeah, ArcSys + DB really is a perfect match. And the game feels great too ! Awesome work.
@Alemja that's cool! I think those faces around the mouth were flipped on their normals. It seems like a nice way to make the "anime side-mouth" look. I think it will only work with absolute flat-shading, though. The moment you add some soft shading the illusion would be broken because you would see that the mouth is concave.
@pior : i think you're both right and not. While the tech and overall workflow has been set up by xrd, I think the difficulty was to actually match up Toriyama art and direct in term of character, while in Guilty gear they might have felt more free to experiment both in tech and overall character direction.
Needless to say I feel DB is a clear improvement above guilty gear and I'm super happy to see they are sticking to it. So far with Ni no kuni 2 and my little witch academy, it's the best of what we have in term of 3d-2d and uooer cel shading. I wish to see more Jrpg with this direction :O
They model the eyes and mouth on separate geo that is flush with the original geometry, but can be moved around depending on camera angle. And because of the cell-shading, you don't get weird self-shadows. I don't know if they use normal-tweaking to control the shadows or if Pencil+ plugin uses another method to get clean shadow shapes. I contacted Pencil+ to ask but they just sent back a form letter with a bunch of useless info.
Also here's a blender tutorial about cell shading in the Guilty Gear style. Does anyone know how to use this technique in Maya? Specifically where to plug vertex color maps into the ramp shader to control the shadows? https://www.dropbox.com/s/65cwf6kjuezhwdl/GuilltyGearXrd_shader.pdf?dl=0
This game is 5 years old. It was produced with Softimage, which is a dead software. They used a plugin called User Normal Translator to modify quickly the vertex normal directionsm and a code for dot-producting the light ray with the object's normals to produce this amazing cel-shading fx. Apart from that, there are also tons of other stuff they did to max out the 2D look. I've been studying it for almost 2 years from now.
While stylistically I lean towards their ridiculous, over the top character designs in GGxrd than their latest endeavors with Granblue and FighterZ's toriyama style, there's no denying all of those look excellent in their own way and replicate the charm of limited animation in ways no one else has done. I'm also super interested to get some personal art done in this style with an animator - I just think this level of technical art direction holds so many unexplored possibilities nowadays.
I just think this level of technical art direction holds so many unexplored possibilities nowadays.
I think exactly the same thing! It's not just to offer same old 2D anime style, but to improve, and people don't experiment on that well enough as a philosophy, just as a shader. Although its indeniable beauty, it's not difficult to achieve those results, it's just hard working, that's it.
WOAAAHH!! I'm so glad this thread is still alive!! Walking down memory lane in preparation to create a tutorial series in blender to emulate these non-photorealistic rendering techniques along with some stuff I learned in the intervening years. Here's an example of what I did a few years back using these techniques combined with 2d editing: https://www.youtube.com/watch?v=IfCEsJXqoj8
I was playing with this type of shading in UE4, have had a break as recent projects have required more realistic rendering but I hope to go back to it soon. You can find a load of collected studies/experiments here https://bit.ly/2kFftKs
If only this could somehow be converted to normal geo, be exported and be able to instantly swap with other outlines mid-animation, I bet that would yield very cool-looking results...
Thank you @Justo ! I did that tutorial as a proof of concepts (I do a lot of proofs on my channel). And at that time it was blender grease pencil beta. You can NOW export the meshes that you trace from grease pencil. May you expand on the idea you mentioned? I believe it is possible to do it now, but I´d like more details. Meanwhile, for everyone else: I´ve been doing extensive (years-long) research for the Guilty Gear shader look. I'm putting together a series of videos to recreate this look in Blender's EEVEE realtime viewport. Results have been impressive so far.
We do agree the GGX shader is kind of an "old school" technique like Motomura mentions in his 2015 GDC presentation sliders. But they have past beyond to the amazing technique of directing the lights through masks (threshold factor), and that´s what I'm showing in the videos I´m doing with Blender:
Slapping this thread alive, GGXrd SIGN lead modeler provided some more insight into their modeling process! I don't translate because my Japanese is sketchy but you can look through the slides here:
Guilty Gear Strive's beta is out and with it a truck full of stylized 3D goodness. Their style is noticeably different than Xrd's, and it looks just as striking. There is an attention to smaller details too, showing just how much they've grown since then.
Character intro animations. Take a look in particular at the character Millia's hair (4:52) - it's just so so fabulous:
It's so funny and stupid watching him drive against the shin again and again. X) But seriously this is really great 3d-2d. Would love to see a complete tech breakdown on these.
Replies
This sword animation. The trails are using separate mesh for each frame, idea borrowed from from Guilty Gear Xrd. Thank you Chev for your translation!
Same as this one.
We have no advance shader really, just plain ol' Maya ramp+Sampler Luminance, rendered mainly with Hardware 2.0 plus a few mask for fine tuning.
I love it, it is the effect I want to recreate on the Unreal Eninge 4 but for now I have not succeeded. I downloaded this model to use as example http://www.blendswap.com/blends/view/50358 and these are my results:
Zero Effect
with Post Process Effect
Now Guilty Gear Xrd use the UE3 and I think the materials is connected to CustomLighting like in this Tutorial http://media.moddb.com/images/articles/1/29/28341/auto/shader.jpg But I'm not 100% sure, now in the new UE this option no longer exists.
My question is that, is possible to have the same effect on the UE4??
In these cases it would be a nice plugin that carry materials directly into the game engine :poly136:
Thx and sorry for my English.
[ame="https://www.youtube.com/watch?v=yhGjCzxJV3E"]https://www.youtube.com/watch?v=yhGjCzxJV3E[/ame]
They have a different shading style for the gameplay and their trailers like this one, but both look amazing I think. One of the things I like is how they have a hatching texture. I'm not sure if their look is done with a simple ramp or if they're using some of the normal manipulation and other shader techniques.
[ame="https://www.youtube.com/watch?v=MCxjuXre3Dw"]https://www.youtube.com/watch?v=MCxjuXre3Dw[/ame]
[ame="https://www.youtube.com/watch?v=nauJXWNy7J0"]https://www.youtube.com/watch?v=nauJXWNy7J0[/ame]
Do you think it is possible to imitate GG Xrd's techniques in Maya and Unity? I've never used Softimage or Unreal.
Unity yes. We've already written a shader to emulate the GG:Xrd techniques. We're actually working on ways to improve it as well.
The biggest thing that attributes to the look is the stretchy bones they use in animation. This isn't supported in Unity to my knowledge.
Wow that's awesome, I'd love to see it. I'm not as interested in animating the same way as Xrd, but I really like the render style and would love to do something similar.
What 3D package are you using? I'd love to hear about your process.
We're using Normal Thief to project normals based on a reference object.
The Unity shader thickens and thins the outline based on vertex color.
We can define shadow and specular colors on a per pixel basis.
Where we're improving:
We're using Distance Field Rendering for sharp, inner outlines.
We're using a reference model as a reference for pushing our cartoon outlines. This eliminates breaking along uv seams.
We're doing a real-time gradient along the models length.
We're experimenting with some halftone techniques for shading.
We don't have anything to show yet but we're working on a demo for it which will hopefully be ready by GDC next year.
It's really easy to explain when you remove perspective from the process:
Here's an anime hair substitute, ie spikes. It's been duplicated, expanded, its normals flipped and its color set to black, and backface culling is enabled, which gives us the standard polygonal inking effect. It's pretty nice in itself but you can see intersections.
The perspective view on the left is there to give you an idea of the scene layout, the orthonormal view on the right is the visual end result.
Now let's move the outlines behind the original object.
See how stupidly well it works? All the intersections have been removed.
With a perspective view it's the exact same idea, except you move or scale the vertices away from the origin of the camera:
In-game you do it with a vertex shader, and you use one of the vertex colors as a weight for the scaling so you can decide how far you should go per-vertex. And since it's done in a custom shader, you can ensure the offset doesn't factor into the lighting calculations.
Note it's the same idea that prevents two characters from intersecting when they are close: the character on the layer that's "behind" is entirely pushed back, outlines and all. That probably mean a similar offset is applied to the background, too, otherwise the characters and outlines would clip into it.
Speaking of which, a sequel came out in arcades earlier this week. The main technical change in respect to the visuals is they support several lights per character, so you get things like rim lighting or light emitting projectiles. They've also got an extra decal layer to show battle damage.
[ame]https://www.youtube.com/watch?v=pMlOouloZoc[/ame]
[ame]https://www.youtube.com/watch?v=OGnaA8cMy2k[/ame]
Also interesting is that interview about Battle Fantasia, which originated the perspective and animation tricks used by Xrd (but not the cel shading): http://www.siliconera.com/2015/08/26/origins-of-battle-fantasia-and-the-art-of-making-a-2-5d-fighting-game/
You create a copy of the entire 3D model, scale it up a bit (in edit mode using blender terms, so that you are leaving the object origin the same as the original model), and then invert the normals. (This makes the faces "point" inside the object.) With back face culling enabled faces are only visible from the direction the normal points, so you can then see through the object to what is inside of it.
The areas that are scaled up outside the original model are not blocked by its geometry, so they look like an outline. By changing the amount of scaling you can control the thickness of a given outline.
Perhaps the above illustrations confused you, since Chev moved the object to try to demonstrate how it was made. The effect should work from any camera angle so long as you are properly scaling the object. The outline object is not moved from the position of the original. For a simple object like a cube, you would just parent the outline object to the original and then animate the original.
For something more complex like a character, you would create the outline object at the last stage of the project after you have the original object rigged. The copy should retain all the rigging information of the original and just follow along naturally.
@funtimes: you can probably use a driver to make the outline mesh scaled relative to a camera (though it'll only work for that specific camera). Scaling each vertex to vary outline width is basically as if you were using a displacement map (though Xrd uses vertex colors), or you can move them manually by scaling along normals (alt-s I think?). To really do it the xrd way you'd need custom GLSL shaders, which Blender doesn't support outside of its game engine.
http://www.blender.org/manual/render/freestyle/introduction.html
The face on the left has tweaked normals (transfered from a sphere if I'm not mistaken) and uses vCol.r to deliberately make areas dark/lit, such as under the nose. The face on the right has none of those features, regular lambertian lighting.
The model is not mine by the way. I'ts Joakims.
diffuse = step(0, dot(normal, lightVec) + (vCol.r-0.5)*2.0);
The step node is just for the two-tone lighting. I think I then used the diffuse data to lerp between a user defined light and dark color.
It doesn't do anything out of the ordinary but I think it's useful for reference:
https://github.com/empirephoenix/JME3D/blob/master/jme3/src/core-effects/Common/MatDefs/Post/CartoonEdge.frag
Here's the 3D walk cycle link:
https://youtu.be/26hFCYv-8gg
Link to tutorial:
https://youtu.be/6Tm3yQHrqbE
Link to download the Blend file - can be found in the description below the Youtube video:
https://youtu.be/tMIBUmoreX4
That Blender character looks amazing. Seems like every program other than Maya has better toon shader options these days. Unfortunately I'm using Maya for my experiments. Altering the normal direction is pretty easy, but I still don't understand the other part, where you create a map for shadow shapes using RGB values? Or something? If someone has a tutorial on that, even if it's for another program, that would be be great. As long as it explains what's happening with the map and the shader.
I believe this is from Studio Khara, a Japanese studio that also does the evangelion films. They use Pencil+ plugin for 3dsMax for their toon shading. It's a really great plugin that's used almost exclusively in anime production. Unfortunately it's not available for Maya...
A tutorial on how to do the Guilty Gear-style cell shading: https://www.dropbox.com/s/65cwf6kjuezhwdl/GuilltyGearXrd_shader.pdf?dl=0
If someone can use this information as a guide and make a tutorial for how to use it in Maya, that would be amazing.
An closer demo of the Guilty Gear topology and how to get the nice shadow shape under the eye (probably also requires using the guide above and plugging in those vertex color maps, but I'm not completely sure): https://www.youtube.com/watch?v=6BdzaK2z43s
A demo of Houseki no Kuni character turnarounds, showing the eyes as separate geometry that can be slide around the model based on camera angle to allow for art directed looks: https://www.youtube.com/watch?v=n6q3Zi22IXs
I am getting into 3DCG just to create this type of style, I'm currently using blender and MAX and purchasing Pencil+4 soon
I believe technology, or peoples skill, have advanced recently allowing almost perfect 2D like 3D
Here are some examples of the style I'm going for:
https://keiichiisozaki.deviantart.com/art/untitled-516388369
Can anybody tell me how these are being done? The shadows move on the characters in the animations. I suspect they're using Pencil or Blenders NPR but I'm not sure. If anybody wants to help I can equally exchange professional music production information/theory. I am still new but have been doing beginner max tutorials and blender is a bit hard to use but I've been playing with the shader a bit.
What I'm really curious is how they managed to get those extra darker shadows going on near the nose and eyebrows. Those mouth and forehead outlines also seem like extra work compared to just the tiny polygons they modeled for the noses in Guilty Gear. It seems they simplified a bit of stuff by moving more work into simply textures, but boy did they still work a lot of magic!
So yeah, ArcSys + DB really is a perfect match. And the game feels great too ! Awesome work.
So I guess kind of on this topic, I saw this on twitter as an interesting way to handle anime's wonky perspectives:
I think it will only work with absolute flat-shading, though. The moment you add some soft shading the illusion would be broken because you would see that the mouth is concave.
Something similar can be used for eyes:
https://simonschreibt.de/gat/rei-ayanami-inner-eyes/
Needless to say I feel DB is a clear improvement above guilty gear and I'm super happy to see they are sticking to it. So far with Ni no kuni 2 and my little witch academy, it's the best of what we have in term of 3d-2d and uooer cel shading. I wish to see more Jrpg with this direction :O
[url=https://imgur.com/bcDD3SW][img]http://i.imgur.com/bcDD3SW.jpg[/img][/url]
They model the eyes and mouth on separate geo that is flush with the original geometry, but can be moved around depending on camera angle. And because of the cell-shading, you don't get weird self-shadows. I don't know if they use normal-tweaking to control the shadows or if Pencil+ plugin uses another method to get clean shadow shapes. I contacted Pencil+ to ask but they just sent back a form letter with a bunch of useless info.
Here's a long talk in Japanese about using Maya for cell-shaded animation:
https://youtu.be/uispYq6nXzE?t=9m53s
Also here's a blender tutorial about cell shading in the Guilty Gear style. Does anyone know how to use this technique in Maya? Specifically where to plug vertex color maps into the ramp shader to control the shadows?
https://www.dropbox.com/s/65cwf6kjuezhwdl/GuilltyGearXrd_shader.pdf?dl=0
https://www.youtube.com/watch?v=eBc4P2rdUqs
God Bless Daisuke Iwatari, his art team and oh-my-god his music.
I've been studying it for almost 2 years from now.
https://www.youtube.com/watch?v=IfCEsJXqoj8
https://youtu.be/QD-BzUKLxUk
If only this could somehow be converted to normal geo, be exported and be able to instantly swap with other outlines mid-animation, I bet that would yield very cool-looking results...
Meanwhile, for everyone else: I´ve been doing extensive (years-long) research for the Guilty Gear shader look. I'm putting together a series of videos to recreate this look in Blender's EEVEE realtime viewport. Results have been impressive so far.
Character intro animations. Take a look in particular at the character Millia's hair (4:52) - it's just so so fabulous:
https://www.youtube.com/watch?v=yxs9febI084&ab_channel=LegacyOfKaiser
Some wacky faces showing just how flexible their rigs and blendshapes are:
https://www.youtube.com/watch?v=SrdCX7hcfGQ&ab_channel=GrowTubeTV
But seriously this is really great 3d-2d. Would love to see a complete tech breakdown on these.