No video

Customizing Normals - 9: How Tangent Normal Mapping works

  Рет қаралды 13,544

aVersionOfReality

aVersionOfReality

Күн бұрын

Пікірлер: 33
@goodnightdood
@goodnightdood 8 ай бұрын
I hate to say this but Blender's baking system is actually working as intended for me. I have made 3 normal maps from this. I previously used your tangent space difference node group to bake as emit to get normal maps. But then I found out with just your face mesh, you can actually just plug your clean normals(assuming baked from clean mesh) to object space normal map then plug it to diffuse bsdf normal then plug to material output and then bake your tangent normals. But before baking you have to set to shade smooth not auto smooth. Otherwise it will bake as shade flat tangets. Thank you very much aVersionofReality for making these contents. Finally I can rest and continue my animations
@aVersionOfReality
@aVersionOfReality 8 ай бұрын
Yes, going through object space Normal map like that does work. But other more complex setups, or mixing in other Normals sources in different stages doesn't necessarily.
@WiseAX88
@WiseAX88 Жыл бұрын
This video filled some major knowledge gaps I had. Thank you for taking time to explore different aspects of each topic; it really helped to let the concepts sink in.
@pn4960
@pn4960 8 ай бұрын
Excellent masterclass, thank you for making it free
@AlexBlackfrost
@AlexBlackfrost Жыл бұрын
I wish I had watched this video 4 months ago. I was using 2 sets of normals in Unity (one for shadows and another one to extrude outlines using inverted hull) and I didn't understand why my custom normals weren't working with animations. It took a long time to realise it was because those custom normals weren't being updated and that I needed to store the custom normals in tangent space because tangents do get updated when a mesh is deformed/animated. Thank you so much for these videos!
@nvdss9599
@nvdss9599 Жыл бұрын
Thank you so much for these videos! Not only they provide practical soloutions they're incredibly educational too. I've went from literaly knowing nothing about 3d normals to actually being able to follow along the concepts in each video. If i had the ability to i would support you on patreon but for now these words of gratitude will have to do. Looking forward to the next video.
@aVersionOfReality
@aVersionOfReality Жыл бұрын
Thank you!
@archivosdeaunn
@archivosdeaunn Жыл бұрын
Umm, in Unity I was thinking about treating the face as a plane with a tanget normal texture and using a bone child of the head bone pointing forward as a source to get the tangent, bitangent and normal directions so it reacts to movement. But probably there will be some issues with the shapekey's deformations as in your method. I have to thank you the incredible amount of time you must spend researching this topic and explaining to us. You are one of the first people I have to support if I can make any money from 3D modeling some day. Have a nice day, thanks!
@aVersionOfReality
@aVersionOfReality Жыл бұрын
Something like that should work. But yes, you may run into issues with deforms. But it should be possible to solve. And thank you!
@davebulow2
@davebulow2 Жыл бұрын
Brilliant explanation, thank you, especially the difference between object, world and tangent normal maps. Also, having worked with game engines I'm well aware of how easy it is to accidentally use normal maps with one of the channels flipped, too, which makes the light feel like it's coming from a different direction. I've also often been surprised just how low a resolution mesh you can get away with when using a good baked normal map. Thanks for your hard work on these videos.
@aVersionOfReality
@aVersionOfReality Жыл бұрын
Thank you!
@pn4960
@pn4960 8 ай бұрын
Are you alright man, it’s been 11 months
@aVersionOfReality
@aVersionOfReality 8 ай бұрын
I am great, I just got hired back in Jan 2023😄I work for a startup and its been very hectic. There is still a video missing from this series that puts it all together. I have it half made but need more than a weekend to record it. Hopefully over the winter holidays. I also have plans to put all this info together into a better format, like an ebook or blogpost series as the videos are very long and hard to get into.
@pn4960
@pn4960 8 ай бұрын
@@aVersionOfReality good to hear ! I can imagine how startup work can be demanding. Take your time for the video, you already did so much. Best of luck and I’ll be watching it when it comes out :)
@mattestela
@mattestela 2 ай бұрын
Thanks!
@aVersionOfReality
@aVersionOfReality 2 ай бұрын
Oh, thank you :)
@mattestela
@mattestela 2 ай бұрын
@@aVersionOfReality noo, thank YOU! Fantastic tutorial, as you imply in the video, you packed months of RnD into a tidy 90 min lesson. :)
@reimog3072
@reimog3072 Жыл бұрын
Thank you! These are educational af
@100drips
@100drips Жыл бұрын
thank you
@yaterjebaiter3977
@yaterjebaiter3977 2 ай бұрын
Is there a more efficient way of getting the UV tangent in geometry nodes now? I saw a pretty decent setup using topology nodes but it’s not interpolated between points properly.
@aVersionOfReality
@aVersionOfReality 2 ай бұрын
I'm not sure. I imagine there is with the new topo nodes, yes, but I haven't explored it. And you can get a UV tangent from a UV space mesh more easily than this, but it won't match Mikktspace (aka the standard used in shader nodes.) I'll hopefully be coming back around to this issue soon and will see if I can improve both the performance and better match MikkTSpace.
@yaterjebaiter3977
@yaterjebaiter3977 Ай бұрын
So I did a little looking in Blender’s source code and found the mikktspace.hh file. From what I can tell, Blender uses shortest diagonal rather than beauty when triangulating. It also says something about floating point causing slight differences which creates splits later on.
@yaterjebaiter3977
@yaterjebaiter3977 Ай бұрын
I tried commenting this earlier but it didn’t go through. So I did a little digging and found the mikktspace.hh file in Blender’s source code and found out a few things. Blender uses shortest diagonal rather than beauty when triangulating and it seems floating point errors can cause splits in the tangent or that’s how I understood it. Also, if you triangulate the mesh, the setup I mentioned earlier actually gives the same result that the tangent calculation node in the video gives, so I’m pretty sure then it can be interpolated properly.
@user-oe9yh3or4u
@user-oe9yh3or4u Жыл бұрын
Sorry if question not exactly on a topic. It is possible to store mesh (in my case head) normals before deformation with Geo Nodes and then reapplying normals after head deform (with armature) with another Geo Nodes group? Tbh sound simple, but i can't make it happen. Yeah, this setup is exactly like duplicating original head, delete all weights that deform face and then applying normals from copy head to original with DataTransfer modif (Topology method). But i really want to do this with GeoNodes without needing to copy every part of character that need "clean" normals. In my head this setup supposed to look like this: GeoNodes (capture normals) Armature Modif GeoNodes (transfer captured normals) It sort of was in some video of the series, but can't find it. 🙁 I'm on Blender 3.2 version.
@aVersionOfReality
@aVersionOfReality Жыл бұрын
Yes and no. Its easy to put a GN modifier before the armature and Store the current Normals with Store Attribute. The problem is that GN can only access the mesh Normals, not any Custom Normals. So this only works if you are doing your Normals entirely in GN.
@llYuki0okami
@llYuki0okami Жыл бұрын
I have problem with bordering comic characters. The Outliner tool curves the mesh, and the LineArt modifier and Freestyle methods do not work with depth of field. Any advice?
@aVersionOfReality
@aVersionOfReality Жыл бұрын
You can try fake DoF on the lines in post. Or Shader based lines, but those require Cycles OSL or Malt. Usually comic workflows don't use DoF so there's not much support.
@champi2441
@champi2441 Жыл бұрын
I learned a lot from your video ! Do you have any idea for when you bake a normals maps for a mirrored object, a seams is showing at the middle ? (like baking only half the face to save on ressource...) I tried having clean perpendicular UV. I tried putting the mirrored part -1 on the UV. I tried painting on the seams with the universal blue color in texture paint. I also noticed that some triple AAA game does have that problem too (and they just hide it on part where it's less noticable)... is there no way to fix it ? do i have to live with this ?
@aVersionOfReality
@aVersionOfReality Жыл бұрын
Thanks! Have you tried changing the margin on the bake to 0?
@champi2441
@champi2441 Жыл бұрын
​​ @aVersionOfReality I just tried yes, it is unfortunatly still there. it does disapear when the object receive light from the front where the seams is (sun pointing to y- to y+ for me) it become less noticeable under an hdri in the material preview windows (exept when the object is rotated at certain angle) there are no seams visible in the baked normal texture but if i go under the solid view->matcap->texture, when i move around the camera some angle show the seams and some angles other do not... my guess would be that the x- to x+ color are wrong and need some tweaking (in photoshop i guess ?) i found an obscure tutorial that say they solves this problem by going into photoshop, separating the red channel and recreating it by using a grey scale gradient and then turning it red. maybe the seams appear because the red channel, at the mirrored part are missing some value that prevent it to be smoother, and by redoing it manually in photoshop via a perfect gradient on the red part of the texture would solve that issue... i'm so tired of fighting normals but normals make stuff 100% better i can't avoid it. i'll try the photoshop solution in hope it solve this problem.
@champi2441
@champi2441 Жыл бұрын
ok so i fixed it ! i had to pixel perfect select the area in photoshop, and apply a grey scale of 128/128/128 to transparent under the red channel of the image. and not selectioning perfectly the area make the seam look way worse. but it also does look bland in the middle (the folds of the dress are smoothly ending toward the middle instead of being joined naturaly... but i think i can fix it by tweaking the grey scale gradient value again in photoshop, that still 10 times better that an ugly seam that cut it in half.) Now i understand why some game don't bother with that, it take so much times and manual tweaking to get it right ! i'll only do this to the important part such as the characters and clothes.
@aVersionOfReality
@aVersionOfReality Жыл бұрын
@@champi2441 Yeah I'm pretty sure there are other solutions. I know that rendering the normal map instead will avoid this issue. I'll be showing that more in the next video. You set the face to its UV position like in previous videos, transfer the normal, and then just render it. That avoids pretty much all problems like this.
@champi2441
@champi2441 Жыл бұрын
@@aVersionOfReality noted ! can't wait for the next one !
What the heck are HARDENED NORMALS? And when do I use them?
13:55
Christopher 3D
Рет қаралды 9 М.
[Short] What tangents and normals are, and how they affect normal maps
7:47
3D ART PRODUCTION & APPRECIATION CHANNEL
Рет қаралды 6 М.
Happy birthday to you by Tsuriki Show
00:12
Tsuriki Show
Рет қаралды 10 МЛН
If Barbie came to life! 💝
00:37
Meow-some! Reacts
Рет қаралды 66 МЛН
Вы чего бл….🤣🤣🙏🏽🙏🏽🙏🏽
00:18
Blender | Normals, Normal Maps, and Bump Maps Explained
12:29
Normal Vectors and Their Applications in Computer Graphics
12:36
Manifolds in Maryland
Рет қаралды 2,3 М.
The ONLY Normal Map Baking Tutorial You Need to Watch
28:16
How to Setup and Use Texture Maps for Beginners (Blender Tutorial)
37:07
Transfer HIGH POLY details to LOW POLY object in Blender
13:45
What Is A Color Space?
7:57
Cullen Kelly
Рет қаралды 10 М.
Clean Toon Face Shading with Object Normals in Blender
48:13
aVersionOfReality
Рет қаралды 42 М.
Happy birthday to you by Tsuriki Show
00:12
Tsuriki Show
Рет қаралды 10 МЛН