Тёмный

Anatomy of a Normal Map : What's Inside and What It Means 

Warren Marshall
Подписаться 11 тыс.
Просмотров 8 тыс.
50% 1

Join the Discord server : / discord
Throw a buck in the tip jar : gum.co/MEaCQ
Enhanced MOP Boolean Assembly : gumroad.com/l/YuHJW
This is NOT a baking tutorial. This is a deep dive into what a normal map IS, what it's good for, what it's NOT good for, and what the internals look like.
I always find it valuable to have some idea what's going on under the hood with my daily work. It helps you debug problems and helps you get things done in a more efficient way because you know WHAT you're generating and, more importantly, WHY.
Let's talk about vertex normals, normal map textures, color channels, math, and flipping the green channel!
So come along - let's rip open a normal map and talk about what's in there...
---
Hi! I'm Warren Marshall!
I'm a freelance, hard surface 3D artist living in North Carolina. I specialize in hard surface work but I can do pretty much anything from environments to props.
I worked at Epic Games for over 15 years and started freelancing after that. Since then I've done prop and environment work for some fun projects, including We Happy Few from Compulsion Games and PlayerUnknown's Battlegrounds. I've also done a bunch of asset packs for the various marketplaces.
I have experience with Unreal Engine 4 and Unity and know how to put assets together quickly that look good in those engines.
Here's a link to my Art Station page where you can see a bunch of my latest work:
www.artstation.com/artist/war...
Visit my main web site here :
www.warrenmarshall.biz
You can email me directly if you'd like :
warren@warrenmarshall.biz
Questions, business inquiries, support - or just to say hi!
---
Motion Graphics : Skye Nelson, aka "SkyeShark" ( skyeshark.artstation.com )

Опубликовано:

 

7 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 82   
@mashonoid
@mashonoid 4 года назад
Dude you deserve an award. I didnt even realise that i just watched a 20 min video on normal maps. You literally cleared everything I was wondering about normal maps. Thank you soo much.
@WarrenMarshallBiz
@WarrenMarshallBiz 4 года назад
You're most welcome!
@alexliam9786
@alexliam9786 3 года назад
pro tip : watch movies on flixzone. Me and my gf have been using them for watching all kinds of movies recently.
@eloneverett4318
@eloneverett4318 3 года назад
@Alex Liam yup, I have been watching on flixzone for since december myself :)
@karanpratapsingh5022
@karanpratapsingh5022 4 года назад
This is easily the most practical explanation of Normal Mapping for game art! A similar tutorial covering Parallax Occlusion mapping and Tesselation from a game art perspective would be a great addition to your channel. Thanks for the great tutorials as always! P.S. Glad that you didn't go off on that Tangent and stayed in MikkTSpace at 3:09, ha ha
@atkaygee
@atkaygee 5 лет назад
These high-level overviews are brilliants, particularly for beginners. I wish there was more content out there that explained the "why" behind the environment art workflow instead of focusing on the "what" (the software) and the "how" (which buttons do I press). Awesome stuff Warren, thank you!
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
I really wish I had seen a video like this one when I was learning this stuff. I like knowing what's going on behind the curtain ...
@turkeywildman3871
@turkeywildman3871 Год назад
Been looking for this explaination of the normal map's color channels, thank you from the future!
5 лет назад
You can see Warren's dedication on teaching us when you realize he changed his Photoshop default document settings to show the channels in color. 🙃
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Hahaha, totally forgot that I even turned that on! I find it useful tho ...
@ackmaster8050
@ackmaster8050 2 года назад
OH SHIT BRO! i haven't seen your mug in a long time! glad your doing this still. i love this!
@hamyncheese
@hamyncheese 5 лет назад
Now I can't sleep not knowing what the Blue Channel does. Why are you doing this to us!?!?
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Haha ... Well, I don't think I'm knowledgeable enough to talk about it to be honest. I never use it for anything!
@Smoluck
@Smoluck 5 лет назад
Excellent video Warren. Well done humorously as well precise !
@re-i-fu
@re-i-fu 5 лет назад
Thank you very much for the video Warren, great stuff and very clear :)
@Mikeygrecordings
@Mikeygrecordings 3 года назад
Came from your video on texel density. Really really valuable stuff. Always learning and you're a great teacher. Looking forward to going through your back catalogue of videos. Hope to see you back sometime. Thanks man
@leatherandpoemscharmyman5774
@leatherandpoemscharmyman5774 5 лет назад
you gained a like button Warren as usual. thanks for knowledge I learned by the force some of the stuff you mentioned.
@tulextreme
@tulextreme 3 года назад
Sensacional. i knew most of this but having NM explained this way is soooo refreshing! thank you for the vid Marshall!
@rattenschwanz-filmundfotog693
@rattenschwanz-filmundfotog693 3 года назад
Very Nice Video. I can now understand so much more whats going on in the process of creating a normal.
@bennie.379
@bennie.379 2 года назад
FANTASTIC explanation on the topic!
@greggjohnson621
@greggjohnson621 5 лет назад
Great description! This is extremely helpful. Thanks so much.
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Thanks Gregg! :)
@KC-nf7ly
@KC-nf7ly 5 лет назад
Amazing stuff Warren! The finer details and the “why?” behind normals are really not talked about all that much, this clears up some of the mystery surrounding it all, I really appreciate your explanation! Cheers
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Glad it helped. :)
@Imissmaggie
@Imissmaggie 3 года назад
Brilliant, well done.
@SirAugie
@SirAugie 5 лет назад
This is really Great info! Thanks Warren!
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Thanks Ed! Good to see your name, it's been too long!
@patriotaRBC
@patriotaRBC Год назад
Amazing. Thank you very much for you time and dedication.
@Flavio_Mark
@Flavio_Mark 5 лет назад
This is the best piece of information I’ve ever got about normal maps! And I even didn’t knew I needed it.Thank you so much, Warren!
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
That's high praise, thanks man! :)
@Flavio_Mark
@Flavio_Mark 5 лет назад
@@WarrenMarshallBiz You're more than welcome! Keep the videos coming!
@DarrenLGoldsmith
@DarrenLGoldsmith 5 лет назад
Ah, this is great! Thanks, Warren!
@davidperyman
@davidperyman 5 лет назад
Love your videos!
@jimhinkle7245
@jimhinkle7245 3 года назад
DANG!!!! FINALLY I understand a normal!!! Thank You!!!
@WarrenMarshallBiz
@WarrenMarshallBiz 3 года назад
You're welcome! Have fun. :)
@Pegisus2501
@Pegisus2501 Год назад
This was very helpful! 😊 Thank you for doing this tutorial. 😀👍🏽🖥
@fouadhoblos3611
@fouadhoblos3611 Год назад
Great explanation!
@gadzooks12
@gadzooks12 5 лет назад
Thank you Warren! Very informative as always!
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Thanks Kenny!
@codewithdarsa
@codewithdarsa 5 лет назад
Really helpful information here, thanks for the video!
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Glad you liked it!
@user-he1ss4gz8v
@user-he1ss4gz8v 4 года назад
Subscribed! Lucky me! Thank you Warren!
@WarrenMarshallBiz
@WarrenMarshallBiz 4 года назад
Thanks for the sub! :)
@voytechj
@voytechj 5 лет назад
normal maps as a form of geometry compression is a great idea. People has two eyes and depth can be recognized up to a couple of meters (maybe more) but an eye has hundreds of millions of rods and cones so lighting has very important contribution for detecting depth of a surface. Normals are used for calculating lighting and every mesh have vertices composed with positions and normals together. We can flatten small surface that has a small dips and heights, and stereoscopic vision will not make much different, but when we change normals then change of luminosity of a surface will be detected very easy. So, we can remove a lots of positions (float XYZ->12bytes for each position) but need to keep normals. It can't be done in a geometry mesh because in graphics cards positions and normals are bind together, so we store normal vectors in a picture and we use texturing. That really is a form of a compression. Btw. flipping green channel has nothing to do with graphics library (OpenGL, Direct3d). Algorithm for calculation normal vector from a normal texture is implemented in pixel shader, some engines or 3d modelers have different implementation. From a mathematical point of view normal vectors in normal maps can be in right-handed or left-handed space. If something is wrong with lighting you can flip Green channel or change a pixel shader.
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Thanks for the detailed comment! "flipping green channel has nothing to do with graphics library" Literally, that's correct. But it's easier to understand for most artists to put it in OpenGL/Direct3D terms. They don't write shaders, they just bake maps. :)
@ZsoltVajda
@ZsoltVajda 5 лет назад
Now it all makes sense! Great video! Was confused how those linear gradients on the screws would translate into a dome-like shape (was still thinking in bump maps), but the demonstration with the angles made it all click, Thanks!
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Yeah, it's freaky but once you understand what the colors are doing it actually makes a lot of sense. Thanks for the comment!
@Wozner
@Wozner 5 лет назад
I`m glad, that you keep doing videos on RU-vid, I remember some months ago you said, that you stop making videos on tube.
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
No, I plan to make the YT channel a part of my "thing" for the foreseeable future. Look forward to more content!
@Kingstantin
@Kingstantin 3 года назад
Thank you man!
@egemen3d-tech89
@egemen3d-tech89 5 лет назад
Thank you Warren ! ;)
@PehsA
@PehsA 5 лет назад
Hey Warren! Great video as always. It's very informative so thank you :) As you mentioned you may make another video about normals, I'd like to give some topics. -Edge thickness -Sloped extrusions -Intersecting geometry -Hard edges, UVs -Waviness on cylindrical shapes. -Skewing I know some of the ways to work on them and avoid problems but as you say, 3d artist should know the working mechanism behind these, so I'd like to listen from you.
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Solid suggestions, thanks!
@avian980
@avian980 5 лет назад
It is really important to understand this, so thank you it is much appreciated
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
You're welcome! It took me awhile to learn this stuff so if I can speed things along for other people, I'm happy...
@avian980
@avian980 5 лет назад
@@WarrenMarshallBiz A true master , I am learning and enjoying at the same time. Thank you :)
@joaovitors.s9643
@joaovitors.s9643 2 года назад
Thank you so much
@Hotrood999
@Hotrood999 5 лет назад
18:16 As Jason Stokes from Futurepoly says: Green Grass grows from the bottom, Red light comes from the right Pretty catchy Great video!
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Haha, catchy. Thanks!
@repositorytutorial3d50
@repositorytutorial3d50 Год назад
great content! thanks! I have an additional technical question, is there any commercial software or free software that would allow us to split high frequency details from low frequency details, or renormalize a normal map that we might have modified manually on photohop?
@_MaZTeR_
@_MaZTeR_ 2 года назад
Is there a definitive way of telling if your normal is correct for which ever renderer you're using (say, for OpenGL on Blender?), like say when you press the green channel in Photoshop, there's a stat that says Y is up or down. Sometimes the textures are a mess that it's hard to tell just by looking at it where the texture is attempting to create a shadow and which side is lit up.
@kloworks
@kloworks 5 лет назад
I watch your video about "Anatomy of a Normal Map" even I already know about normal map its nice to have more info about it. I wish you continue with part 2 . like what it mean by Sync, and what is MikktSpace. common mistake between unreal and unity. unreal use pixel shader and unity use vertex shader. so in substance painter u need to check compute tangent for unreal uncheck for unity, why ? so these may help alot of artist to solve alot of problems. like another think that until now I don't get it why when you export fbx you need to unchecked the tangents and binormals . these if got explained in next video I will be really happy and that mean I understand all about Normal map . cheer
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Good suggestions but to be honest, those topics aren't really my area of expertise. I get the job done but I can't really explain what sync is what tangent/binormal/bbq stuff does. I'm just a simple artist. :)
@serefatilla
@serefatilla 5 лет назад
So if the blue channel on normal map is always 255 (in most of the cases at least), is there a way that we can store some other info in it such as transparency? Then in the render engine we can just take R and G channels and mix them with solid blue and use it as a normal value. We usually do similar thing by combining roughness metallic and occlusion in a single texture. All for reducing the memory by using less maps.
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
That's usually the first thing most artists think of but your graphics programmers will strike you down because apparently it messes up compression and makes things more inefficient in the end. :)
@serefatilla
@serefatilla 5 лет назад
@@WarrenMarshallBiz Oh, I guess we, artists, should not jump in and try to add our masks everywhere :) Thank you for the insight. The video was very helpful indeed.
@cinematicfilm6559
@cinematicfilm6559 5 лет назад
wow nice channel from guy who actually worked at Epic. Great.
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
:) Hope you like it!
@mariomanganelli2607
@mariomanganelli2607 5 лет назад
Very informative. Thanks Warren! ...isn’t the blue channel pretty much equal to the bump map?
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
I've never consciously used it for anything so I can't say for sure. But maybe! :)
@voytechj
@voytechj 5 лет назад
no, its not. For example small flat area with high elevation and another with lower elevation will have exactly the same colour or same normal vector pointing up. Blue values are just normal vector's Z component.
@RobotJeeg
@RobotJeeg 5 лет назад
Well done. It took me months to understand all of that when normals were introduced centuries ago. I often rip 3d models from games...I know i know, I shouldn't do it but it's like an hobby, I don't share the models so nobody can be upset. Well in these years I found lots of strange normalmaps! Some normalmaps are totally greenish (almost brown). Some are totally pinkish. Every game engine seems to like a specific normalmap type instead of using the classic ones. Usually they just have swapped channels, or totally black blue channel or everything mess up! Strange.
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
Interesting! Yeah, I think that's the same with most game engines ... particularly internal ones ... they get customized really hard towards whatever they need for their game, and outside world be damned. :)
@voytechj
@voytechj 5 лет назад
sometimes normalmaps don't store Z component, because normals by definition have length 1 and Z can be calculated from X and Y in the shader program (z = sqrt(1 - x*x - y*y)). Blue and Alpha channels can be used for different types of maps (specular, bump, etc.), or Red and Green can store 16-bit X value and Blue and Alpha 16-bit Y value. Another reason for not-bluish colour are when normals are stored in object space, when they can have any direction (X,Y,Z -> [-1...+1]). Bluish colours are mostly normals in tangent-space when X,Y -> [-1..1] but Z -> [0..1]
@hauntedshadowslegacy2826
@hauntedshadowslegacy2826 5 лет назад
(checks out program online) (sees price) (chokes)
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
If you mean MODO ... well, it's a hell of a lot cheaper than Max or Maya. :) If it's still too much, there's always Blender ...
@1981danielmn
@1981danielmn 5 лет назад
thanks for always putting out great content, did I just see you will be at siggraph? Would love to shake your hand and buy you a beer if I get the chance.
@WarrenMarshallBiz
@WarrenMarshallBiz 5 лет назад
I will be at Siggraph 2019, yes! I'll be doing a small talk for the Foundry...
@proflindenbrook
@proflindenbrook 5 лет назад
First, thanks for the vid
@darkobakula5190
@darkobakula5190 Год назад
I'd like to add a little something to this video which maybe I missed since I was skipping over the video but I'll write it anyways. The normal map stores all of the changes in surface normals between Hipoly and Lowpoly. It stores them as unit vectors where X and Y components range from -1 to 1, Z component ranges from 0 to .1. What every baker does is, it encodes those values into RGB space where the values are transformed from 0 - 255. After transform RG values of 0 represent -1 and values of 1 represent 255 except in the case of B channel. This is quite important to know when you are overlaying normals in a compositor, Image Editor or you are making your own material to overlay normals.
@unfa00
@unfa00 4 месяца назад
You're covering a rendering technique and you've gone almost 10 minutes without ever showing anything other than words. It certainly tests your audience's attention span and imagination. You're covering highly visual topics and getting into math and computer science without any kind of visual aid. I'd say that's highly suboptimal ;)
@WarrenMarshallBiz
@WarrenMarshallBiz 3 месяца назад
Videos are a balancing act of sharing information but also the effort required to put them together. Animations and fancy editing take a lot of time. And sometimes I just don't have it.
Далее
How to Model and Texture Huge Props for Video Games
14:31
Quick Tip #19 : Lightmapping
21:15
Просмотров 13 тыс.
The lightweights ended Round One with a BANG 💪
00:10
Change Your Understanding of Normals In Eight Minutes
7:46
The Fundamentals of Perfect Baking
21:46
Просмотров 167 тыс.
Texel Density : What It Means & How To Use It
14:00
Просмотров 16 тыс.
Workflow for Creating Normal Map Decals in Blender
13:48
OpenGL - normal maps
13:23
Просмотров 11 тыс.
Tutorial : Modular Prop Building - Micro To Macro!
39:20
Deconstructing a Normal Map (CGC Weekly #18)
10:52
Просмотров 80 тыс.
An introduction to Raymarching
34:03
Просмотров 130 тыс.
Change Your Understanding of Topology In Six Minutes
6:58