Это видео недоступно.
Сожалеем об этом.

Normal Maps for Pixel Art

Поделиться
HTML-код
  • Опубликовано: 17 авг 2024
  • In this tutorial, I show how to create sharp normal maps for pixel art.
    Reference Image: drive.google.c...
    NormalMapTool: drive.google.c...

Комментарии • 191

  • @OzanSoylu
    @OzanSoylu 3 года назад +88

    16:08 That's the biggest and most well-deserved flex I've ever seen. Good video, thanks!

  • @semirukiya5308
    @semirukiya5308 3 года назад +60

    Now this is what I call a complete tutorial. Literally no questions left to ask... Impressive!

  • @DazzlingAction
    @DazzlingAction 4 года назад +53

    This is the best explanation of normal maps I've seen in a while.

  • @Plikemon
    @Plikemon 4 года назад +232

    "To combine normal maps, I made a program which I will give away for free..."

    • @JeloOW
      @JeloOW 3 года назад +15

      i understand what you mean by this
      because he actually gave it away for free

    • @brycea5452
      @brycea5452 3 года назад +7

      @Mohammad Caleb fucking cancer

    • @felipe9187
      @felipe9187 3 года назад +11

      @Mohammad Caleb scam lol

    • @mozarteanchaos
      @mozarteanchaos 3 года назад +2

      @Mohammad Caleb nerd

    • @ninja_tony
      @ninja_tony 3 года назад +1

      @Mohammad Caleb shut the fuck up you piece of shit.

  • @gordorodo
    @gordorodo 3 года назад +24

    After years this is the first time I actually get the way normal maps can be made by hand! Thanks for this awesome tut!

  • @flyingjudgement
    @flyingjudgement 5 лет назад +57

    This Is beautiful You explained everything very clearly, I haven't got any questions left!

    • @ThePassiveAggressor
      @ThePassiveAggressor  5 лет назад +2

      Great, very glad you liked it :) thanks for the nice comment!

  • @Gameplayer555
    @Gameplayer555 Год назад +2

    This is a good example of small channels sometimes having the best content. For 1 year, I didn't understand how to make normal maps or even how they work and why do they look like complicated polarized glasses, but this video made made me understand everything about normal maps I ever wished and even more!

  • @LiteFatSushi
    @LiteFatSushi 29 дней назад

    This is the best tutorial I've found on making normal maps for pixelart so far, thanks for making it! I would have never thought about the sample shapes method by myself.

  • @chlbrn
    @chlbrn 3 года назад +17

    This is very impressive, I never thought of making texture maps for 2d pixel art before

  • @majlada
    @majlada 5 лет назад +65

    This is incredibly useful, thank you!

  • @daleldalel
    @daleldalel 2 года назад +4

    Amazing tutorial! I have never ever, through hundreds of hours of tutorials, watched such as well put, thought through and no BS tutorial. Thank you for your time.

  • @salvadorgonzales1
    @salvadorgonzales1 Месяц назад

    by far the best tutorial / lesson i've encountered, even ends with tools to help you!

  • @DHofmann
    @DHofmann 5 лет назад +15

    Many thanks for covering this for 2D artists much neglected but important topic with such detail.

  • @matts2956
    @matts2956 2 года назад +6

    Good video overall! Though I wanted to mention a caveat at 10:32 that creating a normal map through this process requires the Z component to be recalculated. Some of the normal vectors on the rocks are nearly white and normalization would make those vectors "flatter" than what was likely intended.

    • @ThePassiveAggressor
      @ThePassiveAggressor  2 года назад +1

      This is a very good point, you'd want to send the result of that method through a re-normalising tool. thanks for the good comment :)

  • @daviviana8016
    @daviviana8016 3 месяца назад

    This is simply *brilliant*, it's so simple but so brilliant :O Three dimensions, three colors channels, then using a color to represent an angle, it's just genius omg

    • @ThePassiveAggressor
      @ThePassiveAggressor  3 месяца назад +1

      Yeah, its really cool isn't it. There are other example of different channels being using for different things too :)

  • @tylergillette7050
    @tylergillette7050 3 года назад +4

    Have you ever heard of a program called Aseprite? It's a pixel-art focused program that has a built in normal map color picker (it's a little less inclusive than your provided image, but it does have a smooth half sphere option, and a "discrete" polygonal sphere option). It also supports on-canvas alpha picking/sampling! Just thought you might be interested given the pixel art videos recently, and the alpha picking feature video.

    • @ThePassiveAggressor
      @ThePassiveAggressor  3 года назад +12

      Aseprite is my favorite pixel art tool, I even helped a little with its development :) Cheers.

  • @Hario338
    @Hario338 11 месяцев назад

    Oh damn!!! I've messed around with normal maps before but never quite understood how they work, thank you for this tutorial!

  • @Dumitaz
    @Dumitaz Год назад

    I wasn't looking for this specific but I was looking for a very sharp way to make normal maps for some scifi armor, and this tutorial apply perfectly, and so does the tool.

  • @DenisTrebushnikov
    @DenisTrebushnikov Год назад

    OMG, the best normal map explanation I've ever seen... working on TechArtist position for 2 years.

  • @MoreNimrod
    @MoreNimrod 3 года назад +1

    I have some pixel art that I was considering making more interesting by making normal maps for them. This helped a ton. Thank you!

  • @crowcrow760
    @crowcrow760 4 года назад +4

    This is pure gold! Thanks sir!

    • @ThePassiveAggressor
      @ThePassiveAggressor  4 года назад

      Your very welcome :) these kind comment help me know it worth making more.

  • @FeralFreyaForreal
    @FeralFreyaForreal 2 года назад

    This is the best tutorial I think I've ever watched. Just, in general. It's so easy to follow along and it leaves you with everything you wanted to know and more without hurting your brain. Thank you for this :)

  • @sunsneezer
    @sunsneezer 4 года назад +4

    With the release of Minecraft RTX this just became extremely relevant!

  • @jasminkittlitz5522
    @jasminkittlitz5522 2 года назад

    Also thank you for the NormalMapTool, so intuitive and works perfectly, I use it quite often.

    • @ThePassiveAggressor
      @ThePassiveAggressor  2 года назад

      Great to know! wasn't sure if anyone would use it. Thanks :)

  • @naymalord9832
    @naymalord9832 4 года назад

    Very useful not only for pixel art, but for any normal map creating in general

  • @Al1987ac
    @Al1987ac 2 года назад

    Great visualization of what normal map does! So clear!

  • @Howtard
    @Howtard 5 лет назад +7

    Thank you very much! This is a resource I've been looking for for a while.

  • @josephbrandenburg4373
    @josephbrandenburg4373 3 года назад

    Krita has a wonderful Combine Normal Maps layer blend mode. I also made a Blender NodeGroup implementation of the same algorithm.
    ... it seems you've read that blog entry on combining normal maps, too!

  • @TheRealPowerDoge
    @TheRealPowerDoge 2 года назад

    Amazing video! And Amazing work!
    P.S. Your voice is so calm and suitable for teaching.

  • @rest1210
    @rest1210 Год назад

    Truly thank you, kind sir, thank you so much! really complete and comprehensible, very helpful! thank you again and have a nice day

    • @ThePassiveAggressor
      @ThePassiveAggressor  Год назад

      Thank you for the lovely comment, hope you have a great day too :)

  • @mikenye1519
    @mikenye1519 Месяц назад

    Great video! Thanks for sharing your knowledge.

  • @brunch1572
    @brunch1572 8 месяцев назад

    good video and thanks for that reference image

  • @Vagossssssssss
    @Vagossssssssss 3 года назад +1

    Perfect video mah dude really well done :D

  • @_raihan
    @_raihan 4 года назад +1

    Thanks mate. Really appreciate you making this!

  • @richardstevenson371
    @richardstevenson371 2 года назад

    Just glorious.

  • @foreverAnkh
    @foreverAnkh 4 года назад +4

    Thank you for the video, I just downloaded Blender for the first time to try out baking normal maps.
    I am curious on your overall procedure with Blender.
    Did you import image as a plane and then manually model each pixel?
    When importing I get a blurred image rather than a sharp pixel image.
    Since I am so new to Blender, I will take some time to figure out a solution. If you have or seen some tutorials, that would be a tremendous help.
    Again thanks for the video, very informative!

    • @ThePassiveAggressor
      @ThePassiveAggressor  4 года назад +2

      If I remember correctly I just made a plane and added the texture, but "image as plane" would certainly help. To stop the blurring you need to disable texture filtering, see here: blender.stackexchange.com/questions/845/how-do-i-disable-texture-filtering

  • @DemsW
    @DemsW 2 года назад

    This is very nice, I would have loved seeing example sof how the different results and techniques look under a changing light setup.
    That way you could have shown the best and worst case scenario for each technique and help us visualize it more clearly.
    Otherwise great effort, great pacing & editing and very instructive

    • @ThePassiveAggressor
      @ThePassiveAggressor  2 года назад

      Thanks, yes that's a good point. This video shows it a little: ruclips.net/video/EA_A8qhTh-8/видео.html

    • @DemsW
      @DemsW 2 года назад

      @@ThePassiveAggressor thanks, looks really good

  • @jonp3674
    @jonp3674 3 года назад +1

    Awesome video, super helpful, thanks.

  • @JayFolipurba
    @JayFolipurba Год назад +1

    Yeah, but what do you do with pixel art normal maps?

  • @erikm9768
    @erikm9768 4 года назад

    Very clear and nice tutorial!!

  • @jasminkittlitz5522
    @jasminkittlitz5522 3 года назад +1

    Thank you for this incredibly well explained video, it helpt me quite a lot! I hand drew the normalmap, not for pixel art but for a detailed somewhat realistic style. However, I used blending tools as gradients would have been just too clumsy otherwise... I didn't notice any corruption of the normalmap afterwards. Either the problems are too small for me to see or it did work after all?

    • @ThePassiveAggressor
      @ThePassiveAggressor  3 года назад +1

      Thanks Jasmin, that sounds good to me! You should be able to tell if your normal map works once you put it ingame (or render it).

  • @reddishblue7827
    @reddishblue7827 3 года назад +1

    What would be the photoshop equivalent for the "Copy Green" and "Copy Red" blend modes? or would it just be best to do this in Krita?

    • @ThePassiveAggressor
      @ThePassiveAggressor  3 года назад

      Its been a while since I used photoshop but you should be able to do it. you could just copy the green/blue channels out of the layers manually

  • @Renegen1
    @Renegen1 8 месяцев назад

    great explanation

  • @TheParasone
    @TheParasone 5 лет назад +3

    So lets say i have my pixel tiles designed (referencing to the dead cells game) now i also have the normal tiles how do i do the programming so the normal tiles are used within the pixel tiles?

    • @ThePassiveAggressor
      @ThePassiveAggressor  5 лет назад +3

      You'd need to create a material (using a shader that supports normal maps), assign your images maps to it, and use that material on your tiles

    • @decrodedart2688
      @decrodedart2688 4 года назад

      TheParasone just get Godot it comes with this functionality built in

  • @edgeisloveedgeislife5439
    @edgeisloveedgeislife5439 5 лет назад +2

    Hi there, I've made my normal map and I now want to test them, do you maybe know of a way to do so easily without a game engine? I want to fully focus on graphics at the moment and I was hoping you'd know of a program to import normals and textures to, and possibly specular/metalness etca, and have my curser be a dynamic light source to check all is well.

    • @ThePassiveAggressor
      @ThePassiveAggressor  5 лет назад +2

      I normally use Unity but it does take a little setting up, But Materialize is a good simple program you should be able to use to test them out in (boundingboxsoftware.com/materialize/)

    • @edgeisloveedgeislife5439
      @edgeisloveedgeislife5439 5 лет назад +1

      Whew this was an incredibly quick reply! Thanks for that!
      Anyways, I found a workaround using Godot, it's quite easy to set up, but I'll check out materialize! Thanks!
      EDIT: do you by any chance know how to set up specular/metalness maps for 2D in Godot?
      EDIT2: Materialize comes out blurry, I'll mess around a little, but if you know a fix it'd be nice, thanks for all the help so far btw.

  • @joe8216
    @joe8216 3 года назад

    You are awesome. Thank you!

  • @rewindcat7927
    @rewindcat7927 3 года назад +1

    Well done, thank you 🙏

  • @decrodedart2688
    @decrodedart2688 4 года назад +2

    To the OP: I’m thinking Z-Brush could be really useful too depending on the subject

    • @ThePassiveAggressor
      @ThePassiveAggressor  4 года назад +1

      I wouldn't be surprised, I don't own zbrush but from what I know its got good depth map tools.

  • @OniMirage
    @OniMirage 4 года назад

    Very interesting. I think I will try and take a 2d sprite and see if I can get this done. There are a few faster ways this can be done in photoshop so once I have the flow down maybe I can do an animation.

  • @xLightcrystalx
    @xLightcrystalx 3 года назад

    At least in the top 20 tutorials in youtube history.

  • @SeedmancChitOKun
    @SeedmancChitOKun Год назад

    What if instead of setting the blue channel to flat fill during the combining of 4 images, you used the height map itself for representing blueness? After all, blue is representing how the shape is lit perpendicularly, so the convex shapes will be lit more on their flat top rather than near the angled base.

    • @ThePassiveAggressor
      @ThePassiveAggressor  Год назад

      I'm not sure that would work. The colour that I fill the blue channel with represents a normal that points straight up, its then combined with the left and right "colours" to make the final vector. But what you can do is replace the blue channel at the end of this process with other information, like a specular map. Then in a shader you can recalculate the Z component of the normal.

  • @Corruptinator
    @Corruptinator 5 лет назад +1

    How did you maintain the sharp pixels in the Blender viewport? My sprite is at 64x64 resolution and when imported the pixelated edges are blurry.

    • @ThePassiveAggressor
      @ThePassiveAggressor  5 лет назад +2

      For sharp pixel, turn off MipMaps in the User Preferences under System -> Opengl

    • @Corruptinator
      @Corruptinator 5 лет назад +1

      @@ThePassiveAggressor Thanks!

  • @sahlikh1829
    @sahlikh1829 4 года назад +1

    such a good video... thank you

  • @eyelovekilka3166
    @eyelovekilka3166 2 года назад

    Finaly i found this!

  • @forgottenalex
    @forgottenalex Год назад

    By any chance is there a process name or plugin that does the Normalize feature that your program uses. Because this is an insanely useful tool for video game modding and squeezing out additional details in DXT5 compressed normals for Valve games.

    • @ThePassiveAggressor
      @ThePassiveAggressor  Год назад

      Sadly there isn't at the moment, but its something I could probably do if I can find some spare time. What would be the most useful to you do you think? an exe that would take an input and output filename?

    • @forgottenalex
      @forgottenalex Год назад

      The workflow with the tool atm is fine. I tend to just keep it up and load in map 1 then hit normalize and export the result. only thing I could think that would improve workflow is add a drag-and-drop feature and maybe TGA support. But in reality a few extra secs won't kill anyone in my opinion. Now if there was a conversion project that needed to batch edit several normals then I could see how such a feature would be heavily needed. But as for now it works great and has made me more curious on wanting to understand normal maps more

    • @ThePassiveAggressor
      @ThePassiveAggressor  Год назад

      @@forgottenalex cool, I'm crazy busy at work at the moment, so finding time would have been tricky. Thanks :)

  • @SpyerOff
    @SpyerOff 3 года назад

    How did you do to get your black and white image with 4 different angle ?

  • @user-fq8tx7fq1d
    @user-fq8tx7fq1d 5 месяцев назад

    Nice video.
    Normal map generator can't generate nothing from the colored texture because it's not how it works.
    It can generate normals from height map..

    • @ThePassiveAggressor
      @ThePassiveAggressor  5 месяцев назад

      Thanks, glad you liked it and yes generating normal maps from height maps will give much better results.

  • @blisterfingers8169
    @blisterfingers8169 2 года назад

    Great tutorial. Would have been nice to show the 3d result of the various methods.

    • @ThePassiveAggressor
      @ThePassiveAggressor  2 года назад +1

      Thanks, yes with hindsight I should have definitly shown some results, Check out my "Experimenting with Specular Maps for Pixel Art" video get an idea of the kind of results you get.

  • @NorthernWhisper
    @NorthernWhisper 4 года назад

    You mentioned that there is paid software that will create the top, bottom, left and right images. What software was that?

  • @garrettwidner8199
    @garrettwidner8199 3 года назад

    Thank you!

  • @kylejohnson6279
    @kylejohnson6279 2 года назад

    I'm curious if anyone has thoughts..
    For an animation of a char running in an angled down view perspective(ie stardew valley, graveyard keeper), I want to create normals for every frame.
    The problem is that due to the perspective of the camera, light that comes from above the character should barely light the character up because the light is behind the character from our perspective. Programs that generate normals break this perspective by including too many pixels lit from the top. I need the normals to be somewhat consistent due to this being an animation.
    I've tried painting light from 4 angles on 4 different images, then merging them into a normal map with software, which is great, but it's pretty much impossible to make consistent per frame.
    Any thoughts on what I could do to accomplish this? Is there software to generate normals on a sprite where I can change the perspective to include very few pixels being lit from the top?

    • @ThePassiveAggressor
      @ThePassiveAggressor  2 года назад

      That's a very good question, let me give that some thought.

    • @kylejohnson6279
      @kylejohnson6279 2 года назад

      @@ThePassiveAggressor I researched quite a bit more yesterday and found out that Sprite DLight is able to generate normal maps for a sprite sheet(so that helps with the consistency issue), but the key thing is that they have a feature to rotate about the x, y, or z of the normals. I'm pretty sure that means if I rotate it about the x axis, I can get the desired effect of reducing the amount of pixels lit from the top for the whole animation. Still researching for other methods and I'm curious if you have any other thoughts, but this seemed like a decent place to start. I'm surprised by the lack of normal map generating tools tbh - everything is 6 plus years old haha. Great video 👍

  • @cube2fox
    @cube2fox 11 месяцев назад

    Only one question left: Isn't pixel art exclusively used in to make 2D graphics? And aren't normal maps exclusively used to make 3D surfaces? In other words, what are pixel art normal maps used for? Can they be used to add a depth effect to 2D retro games like Super Mario Bros?

    • @ThePassiveAggressor
      @ThePassiveAggressor  11 месяцев назад +1

      Yes you can use normal maps in 2D games. Have a look at this: ruclips.net/video/EA_A8qhTh-8/видео.html

    • @cube2fox
      @cube2fox 11 месяцев назад

      @@ThePassiveAggressor Wow!

    • @ThePassiveAggressor
      @ThePassiveAggressor  11 месяцев назад

      :-)@@cube2fox

  • @ollie-d
    @ollie-d 3 года назад

    Great video

  • @ProsyMe
    @ProsyMe 3 года назад

    Very helpful, thank you!

  • @OmgMcGamez
    @OmgMcGamez Год назад

    Hey, can I ask you, do you still have the source code for that tool? Would be nice to see how it's done.

    • @ThePassiveAggressor
      @ThePassiveAggressor  Год назад

      I should have it somewhere, I'll see if I can dig it up. It just convert the RGB values into vectors, then does some simple angle calculations

  • @neozoid7009
    @neozoid7009 2 года назад

    how did you used blender for normal map generation??

    • @ThePassiveAggressor
      @ThePassiveAggressor  2 года назад +1

      I modelled the geometry of the pixels, then baked the normal map to a texture. (there's lots of good normal map baking videos)

  • @KnotKingdom
    @KnotKingdom 4 года назад

    Is this possible to do with vector art? For instance can a normal map be made in adobe animate cc which could scale with my base image. Planning to use vector art for my game and have not been able to find any resources regarding normal maps with vector art. It seems if I hand paint similar to your method of picking colors from a reference, then I might be able to build normal maps within a vector based program?

    • @ThePassiveAggressor
      @ThePassiveAggressor  4 года назад

      I haven't tried it but I see no reason why that shouldn't work. go for it :)

  • @connorshanks9931
    @connorshanks9931 11 месяцев назад

    thanks x

  • @ArmyofOneandaHalf
    @ArmyofOneandaHalf 2 года назад

    Thanks!!!

  • @VikingVertigo
    @VikingVertigo 4 года назад

    Isn't it faster to just draw the angle information directly in the red and green channels when doing the manual 4 image method?

    • @ThePassiveAggressor
      @ThePassiveAggressor  4 года назад

      Yes, that would be faster as long as your use to using the correct colour to represent the desired angles

  • @alevanderBatman
    @alevanderBatman 3 года назад

    But why would you want to make normal maps instead of just using some 3d pixel art software? Isn't it much easier and more costumizable that way?

    • @ThePassiveAggressor
      @ThePassiveAggressor  3 года назад

      Thats a good question, I think its a matter of personal taste, some people like to create each pixel by hand. Out of interest what 3d pixel art software do you mean?

    • @alevanderBatman
      @alevanderBatman 3 года назад

      @@ThePassiveAggressor Well, I haven’t really done it myself so I don’t know any of the programs well. I’ve seen people using Crocotile, otherwise I’ve just seen the finished models on twitter! :)

    • @ThePassiveAggressor
      @ThePassiveAggressor  3 года назад

      @@alevanderBatman Thanks for the info, I haven't heard of Crocotile, I'll have to check it out :)

  • @d74g0n
    @d74g0n 2 года назад

    I am one of the folk who did a double take when he said red, as my monitor showed me brown.

  • @darckfire5356
    @darckfire5356 23 дня назад

    symply perfect only the info that wa need multiple scenarios walk through with free software option

  • @Erwiinstein
    @Erwiinstein 4 года назад

    Hey, this is a super great video!
    Can you care to list all of those types of textures that you said (and didn't said) in the video? And I mean *all* (even the ones you said as 'etc').
    I'm kinda researching about them right now but I can't find a list of them, only on this video.
    Thanks!
    But yeah, as I was saying, this is a very comprehensive video about this topic. This was super great.

    • @ThePassiveAggressor
      @ThePassiveAggressor  4 года назад +2

      Thanks, glad you liked it. Other maps include: Emission, Metalness, Roughness, Occlusion, ID Maps, Detail, Translucency, Displacement ( they're only really limited by the renderer/shader your using)

    • @Erwiinstein
      @Erwiinstein 4 года назад

      Thanks for the effort to reply!
      I'm currently trying to make normal maps for my sprites and I'm trying the paint by hand method from your video and it was super helpful to me.
      Thanks again for the reply, and for the video!

    • @ThePassiveAggressor
      @ThePassiveAggressor  4 года назад

      @@Erwiinstein Your very welcome, knowing these videos are helping is why I make them :)

  • @thediamondkneeplate6981
    @thediamondkneeplate6981 3 года назад

    Why do you need to save resources for pixel art?

  • @idoasraff8513
    @idoasraff8513 4 года назад

    awesome

  • @Tech2001
    @Tech2001 4 года назад

    Does anyone know how to get that copy colour in gimp?

    • @ThePassiveAggressor
      @ThePassiveAggressor  4 года назад

      I haven't used Gimp but I image you could use the Color picker: docs.gimp.org/en/gimp-tool-color-picker.html

    • @DominoMarama
      @DominoMarama 3 года назад

      There's not a Copy Color option for layers in Gimp. What you can do is use Colours/Composition/Decompose & Recompose which let you work on individual RGB channels as grayscale layers. You could alternatively start with a grayscale image and build up the red / green / blue layers then use Colours/Composition/Compose to combine them into a colour image.

  • @K0BR4mods
    @K0BR4mods 3 года назад

    Why use maps for pixel art?

    • @ThePassiveAggressor
      @ThePassiveAggressor  3 года назад

      Take a look at my "Experimenting with Specular Maps for Pixel Art" to see the result. I think its worth it :)

  • @HallyVee
    @HallyVee 4 года назад

    Height? Like... distance from the ground?

    • @ThePassiveAggressor
      @ThePassiveAggressor  4 года назад

      yes, just like that :)

    • @HallyVee
      @HallyVee 4 года назад

      So confused. Are we assuming the pixels are going to be on a vertical plane, then? What if the image is meant to be horizontal? Maybe it's distance from a perpendicular point?

  • @hse_uploads
    @hse_uploads 2 месяца назад

    height maps == depth maps? what?

    • @ThePassiveAggressor
      @ThePassiveAggressor  2 месяца назад

      Yes, its just a different name for the same thing. silly huh :)

    • @hse_uploads
      @hse_uploads 2 месяца назад

      @@ThePassiveAggressor yeah caught me off guard

  • @iWanderr
    @iWanderr 3 года назад

    I love you

  • @hasanyousef6782
    @hasanyousef6782 4 года назад

    why am i watching this at 3am

  • @St0rm.bringer
    @St0rm.bringer 3 года назад

    Hey. I came back again to this video months later to say a big thanks. This was really well explained and to the point. Kudos