@@taranjk1 I do not like normal editing if you see how the shadows is working it breaking the functionally. For Example if they put a cube in from on the face here to see how it handles the casted shadow off it will not function correctly.
I remember the GDC talk about GuiltyGear Xrd doing this and how it was done, and I've been searching for a way to do this fast enough to be good to iterate on, and it's glad to see more people show ways to achieve it.
Wow, I finally got it. I started to think that good anime shading is one of the top secrets that no one wants to share their knowledge about so that they remain superior. Thank you a lot. I really appreciate that you weren't selfish.
so true when I was learning there was no resources, this video is so great and understandable for not only me and new people wanting to learn about anime modeling.
At 05:5 the video uses a mirror modifier, but when i use it, it will duplicate my model, is there a way to edit simultaneously the vertex without duplicating the model?
Pretty informative video, and you cover quite a bit of subjects too, but I'd highly discourage againts using the mark as sharp or spliting/seprating your mesh as you'd just be spliting the normals and causing posible issues down the line on the shading on the outlines generated from that mesh. If you wanna have an easy way to select the shadows you can simply mark as seam, asuming you are not currently on the UV Unwraping stage of course, it won't affect the look of the shading and won't change the actual UV Mapping unless you Unwrap yourself. If you don't wanna do that, another easy method is to create a temporary vertex group simply for quick selection of specific vertices, it should not affect rigging as long as the name isn't the name of a bone or parented object used to animate the character. Another thing is that you didn't add support loops to the shadows, that will help with the shading transition and shape. And for those who find Abnormal bothersome you can also simply edit normals by pressing Alt+N, and should be plenty options to change the direction of the vertex normals. Also, here's a translated slide of how Arc System Works aproaches modeling and a bit on custom normals, at the end of the slide theres links to the other translated articles (Erase spaces within periods, hopefuly this comment wont be marked as spam lol) docs. google .com/presentation/d/1WUvd9s8d_5ENBnbSpXo6ajdeTGODPr6S/
Im happy theres more tutorials on how to do this. I've gone with the SDF face shadows instead personally, because it makes transitions really easy and it works well in vrchat.
@@TheWiseChickens signal-distance field or something. Basically in our case it uses a texture that goes from white the back as a gradient. It then compares the light and face vectors to determine where to use the shadow.
It's been a few years since I studied 3D, but I'm still a beginner. Still, I had a lot of questions, so I was always looking for them, and thank you for making a good video that answered what I was really curious about. I really have a question! If you duplicate the original like that and give perfect toon shading through the vertex information value, To create that effect, 'one flattened duplicate face and a sphere (for natural shading)' are these two objects kept in the 'hidden' state and continued to be used together with the original??? Sorry I'm a 3D beginner Or bake? Would it be possible to use the same technique to permanently reflect that shading in the original and delete those two unnecessary ones?
I remember attempting something like this years ago, but back then I lacked the general expertise to get anywhere with it. Might give it another go now!
please someone help, i have error when I rotate normal direction from third mesh, referance(second) mesh's data tranfer modifier write that their topology do not match. But i changed only normal rotation and nothing else. How can i fix it?
Any idea how to use this method with shape keys?. When i deform the face of my character the custom normals gets distorted. I tried some data transfer to keep the custom normals on the shape key and it does transfer properly but when i go back to original shape the custom normals that previously were working fine now are broken. EDIT - seems it works fine for you when u data transfer from the B face to A face. But for some reason when i do and i turn the value of the shape key to 1 the normals still break >_
I have seen a lot of toon shading videos with custom normals in blender, but this has to be the best. You explained everything very well and even for a beginner its very easy to understand. Very nice!
Great video. I knew about this concept from analyzing the shadows in Genshin Impact and the like but this is the first video I've seen break down the method.
can you export these custom normals as a image so you can play with it on external software ?? i feel like that someone could make the transitions better than just fiddling with it on blender
15:55 Is there other solution for fixing the normals when animating? Because that is great inside blender but it doesnt work if you need to export to a game engine like Unity or Unreal :c
HOLY SHIT, AFTER LITERALLY YEARS AND YEARS AND YEARS. FINALLY A VIDEO THAT EXPLAIN HOW THIS WORKS! I always got some bits and pieces here and there and already had an idea how it worked, but it's nice to finally see it in detail.
Awesome tutorial! Thanks! It's interesting that despite the advancements in technology, 3D programs still struggle to execute cel shading the way we want. Even with the cutting-edge tech available today (such as NVidia Omniverse AI, a powerful UE5 material system, many great addons, etc), achieving cel-shading that truly resembles 2D artwork remains challenging. I mean, c'mon! With all this technology available, we still don't have a ready-to-go addon or similar?
I think it's because most graphics actively strive for photo-realism compared to hand drawn which requires a very different technical workflow. The normals for instance is due to the lighting not having cel rendering in mind. I've done some NPR work, I need to try this videos workflow when it comes to character modelling before I can say more on the subject.
@@Gear_Snack Agreed. All tech is aiming for realism. Creating cel-shaded normals with Data Transfer works like a charm (smooth hi to low poly), but it's the animation stage where I go all-in, squeezing and warping body parts to bring that organic expressiveness to life. But wow, does it ever take it out of me (And it's boring -___- )
@@Amelia_PC True, because of the way rigging is set up, using squash and stretch is difficult which is a problem as it's a key principle in 2D animation.
I think it’s because a lot of time folks are going about things in the “wrong” or more difficult way. I think the easiest way to get cel shaded normals is to use either a tangent normal map or a height/bump map. That way you can intuitively control the shapes and you can achieve a higher resolution without a lot of geometry
@@chidorirasenganz I think the animation is the hardest part of recreating a 2D look. Even Arc System Works's animations, with their great work, still look 3D. (I was trying to replicate the 90s cartoon flat color style, so I'm not dealing with shading now. Phew, one less headache )
what about if u animate it, the transition doesnt look that right, or is there a way? ill go wih more simplistic normals and the rest is texture or light maps
An amazing art master that creates a game changer method. Thanks a lot for share your knowledge with all the people, you are too nice to us :) Have an amazing day, and hope all your dreams come true in this life!
Well what you could do is isolate the face of a League model and then just do the mirror modifier on that instead of the whole body. Obviously it would depend on the character, but I'm sure most of them are symmetrical
My friend, reaching your channel today was a miracle, it's the first time I've seen someone willing to share knowledge about this topic to help people, in general, to create better character shadows. I hope your channel grows to a million and your life will be full of happiness Thanks again for sharing this.💯
Yes, you could technically use an Object Space Normal map to force the different parts of the face to point in different directions, but that method would only apply to Blender because it happens in the shader. You would then have to set up a special shader in any other software/game engine to get it work. This method changes the normals for the faces so you can use it any software and the normals will stay this way
Also another question. That add on of yours. Does it automatically apply the lines on the mesh or would I still have to do it manually and it’s just only for the normals?
I'm wondering why not adjust the lighting per scene and bake onto the surface, shadow and all. Or just don't use lighting at all but model for the effect and simply use vectored zones. Either way works well.
I think an easier way to control normals is through normal maps. Tangent maps for animated characters, object normal maps for movable objects and maybe world space for environments. Height/Bump maps could be used as well for a more low fi method
You guys check a project called division of existence, it was done by blender. And the Shader was fully done in blender and seems to me they have the most advance knowledge on anime blender.. Considering the project was almost 6 years ago and the shading still is top.
Okay, but if the model is being used for something like a game and is viewed from the side wont the faces be really flat? Like it looks great from the front but if you are looking at the same model from the side wont it look flat and weird?
No because changing the normals only changes the way shadows behave, it doesn't change the shape of the model. See the model at an angle at 14:00, it retains its shape at any angle while only the shadows change
@@EmiliyaS-fh1zj okay, because when he first flattened it all it looked like it made the model flat. Sorry, I'm a newb when it comes to modeling so I appreciate the explanation
thank you very much. In Chinese internet I am hard to find anything to create good anime stylized shadow like this. this video help me a lot! Thank you again❤❤
Really interesting video. I can definitely see it being feasible for a small scale project but anything bigger would be dragged down by how repetitive and time consuming this is. Unless you're really dedicated to having the perfect anime aesthetic or you work in a big team I wouldn't bother. I still saved the video as this could perhaps be used for more than just faces, like helping direct the lighting on specific static props in the background for example.
Yeah it is somewhat time consuming but I've made so many of them now that I can probably finish one in about an hour or so, from start to finish. And you would only really do this style of custom normals for your main characters
Dude, you just broke my brain! I just finished a character project in UE5 that is rendered in a BotW-styled cell shader and I kinda wish I had this tutorial when I was working on it. I got around it by animating the lights positions and intensity in UE5 but it's not fool-proof. How would you transfer something like this in a game engine? Is this process software agnostic enough to do that?
Well hopefully for your next project this will be helpful! Yeah, these normals will transfer over to Game Engines but if you animate the face using Shape Keys you'll need to disable the Recalculation of Normals, and for armature face animation you'll need to do some research because I'm not sure how to do that
Nothing important, that just has some textures in it, but I made it into a Node Group so that the Shader Editor wouldn't be messy with all of the Texture Coordinate and Mapping nodes
Amazing work ! Thank you very much ! Have you tried to export your model in an other software to see if the normal work the same way ? Specially a game engine like unity or UE5?
Yeah, they definitely work in Unity, you just need to disable Normal Recalculation in the Mesh import settings. I haven't tried it in Unreal, but I'm sure the setting is somewhere
I'm curious. Some say don't use face data to a mesh that isn't it's exact same, but I want to use the normals aspect on a model that cannot have it's face edited (rigged) (otherwise I would have to import/export vertex and open close the bone to have the hundreds of shapekeys and vertex groups it has to still work). Is there a data transfer modifier setup that allows me to just transfer the data from edited normals face to a mesh with no normals edited?
What you could do is duplicate the model and apply the armature so that it isn't rigged anymore. You can then edit the normals for this mesh, and because it's exactly the same as the rigged mesh you can copy the normals like I showed in the video
This is awesome! Thank you for sharing! I would like to put this into Unity, so in the "Fixing bad shading while animating" section, it looks like we need that other head as a reference for shading, would I need to hide that head somehow while having it in unity?
In Unity you can choose to disable the Recalculation of Normals in the model import settings! There should be a checkbox to disable normal recalculation, it's been a while since I've used Unity but the setting is there somewhere! Just had a quick look and you need to change Blend Shape Normals from Calculate to None. I'm not sure how it would work with a rig with face bones, but you can definitely disable the shape key normal recalculation
@@VertexArcade thank you again for an amazing video! Really terrific explanations. Would this same idea apply in Unreal as it does in unity? (keeping the blender normal directions by telling it not to recalculate, normals, etc.)
I was literally studying this type of shading on my own , mostly taking inspiration from guilty gear , and i was really struggling .. watching multiple videos , all different , and trying to put all the pieces together, and then this gem comes out , you have no idea how helpful this was :3 , none talked about the snappy normals , which was exactly what i wanted to achieve.
bro i got used to blender 3.6 and mostly some rigging addons that i use there that wont work in 4.0. It is posible to apply this technology on blender 3.6? or im forced to update version.
You could, but then you start introducing those ugly shadows again. You could play around with it and try using different meshes, that's the beauty of the Data Transfer method, it allows you to mess with it without manually editing normals