Edge Lighting and Normal Maps for 2D Sprites - Unreal Engine 5 Tutorial

preview_player
Показать описание
Support the channel on Patreon:

Get my 12 hour course on how to make 2D games with Unreal Engine:

Learn how to apply normal maps to create edge lighting for your paper 2D sprites in Unreal Engine 5!

Generic Character Asset by Brullov:

Edge Normals Script by Securas:

Beyond Authentic Pixel Art in Unreal Engine:

Aseprite Github:

🎵
- Casiio x Sleepermane - Biomes
- Provided by Lofi Records

Timecodes:
0:00 Intro
0:33 Making a custom lit material
2:42 Creating a Normal Map
4:09 Applying the Normal Map
7:20 Fixing the backside lighting

#cobracode #gamedev #unrealengine #ue5
Рекомендации по теме
Комментарии
Автор

I was thinking about it couple of hours ago and boom Here you are!!!
Thanks!

messiah
Автор

Dude! Everytime I see one of your videos popping up in my feed, I'm getting excited :) you inspired me to continue my 2D game at a point I was about to give up. Please continue making tutorials and keep up your very well explained tutorials!
Thank you so much!

Axx_s
Автор

You're godsent. You've made my Unreal Engine learning journey much easier.
Thank you for also telling us about Sakurai's Channel. I've learnt so much. Hopefully, I'll be able to show off what I'm working on soon

unrealamas
Автор

The implementation of fixing the back-face normals at @8:30 is technically incorrect, as you are lerping with a negative alpha. Lerp will extend before zero to negative values, amplifying the result. The proper way to implement the backface normals is to simply multiply the normal by the 2 sided sign node, as the front face will be normal * 1 (unchanged) and the backface will be normal * -1 (all channels inverted) as the backface is inverted when rendered, this will flip it back around to the correct orientation. In your implementation here, you only flip the Y channel, which will only affect the sprite's shading vertically on the backface. If you still get poor results (depends on how the Z information is constructed and used) you may either use derive normal Z after the multiply to re-compute the Z of the normals front and back or only multiply the XY component

Hopefully this helps people running into shading issues, thank you for your detailed tutorial~!

jhett
Автор

Great video! Multiplying the normal map with 1, 0, 1 just removes the depth information stored in the green channel. 1, -1, 1 inverts it. so use -1 when fixing the backside lightning.

DunkelbuntesDopamin
Автор

If you use rotation to flip the sprite instead of scale, the normal map adjustment is not needed!

Edit: This has an additional benefit, for some reason Unreal Engine need to run additional draw calls for any meshes that use a negative scale so you also save some performance by doing it this way.

GrahamErmter
Автор

omfg this is beautiful. I can't believe how cool this looks. Thank you for the eye candy <3

Vubbss
Автор

Amazing Video, straight to the point, no prattling. Very easy to watch and follow. Thank you!

FarQuZeDesigns
Автор

aseprite for the win ! i bought it in 2017 and it is awesome.
real pro video, gg

ComfortZoneComic
Автор

You know, there's not a lot of clear cut tutorials about implementing ai combat in paperzd for beat em up type games. Hope you would make one someday

brandontim
Автор

This was an amazing help. My character already looks alot better

VinoVenitas
Автор

Hello, how can I use a Tilemap without being forced to disable autoexposure in the project settings? Anything I place on the scene that is a tilemap lights up like a light bulb, turning off blur and setting to FXAA doesn't help, is there a solution? thanks for the tutorials!

salvadorcabrera
Автор

Will You Make Series On. How To Make Fighting Game In Unreal Engine With Blueprint. I am Really Thankful of You If You Do So This . Please 🥺🥺🥺🥺🥺🥺🥺🥺🥺🥺🥺🥺🥺.

WCvector
Автор

I use an app called normal maps generator to produce normals for me and just transfer the files to PC if this helps

StraightUpProductionOfficial
Автор

Thanks for the tutorial. Quick question - I use Aseprite to create json files so I can quickly create flipbooks. Is there a way for it to bring in the normal maps for each sprite automatically? I tried to put the normal maps in a new layer and doing a Split Layers but it just got me two copies of my flipbooks instead of one with the normals as the second input. Thanks!

Edit: Figured it out, you have to save them like you would regular textures separately as two files (_D / _N), then it'll do it automatically when you import the diffuse.

BoryslavF
Автор

Can you make a tutorial on all the ways die?

For example, how do you trigger a death state? And how do you do multiple things with a death state? Like playing a death animation then going to a respawn screen, and having an option to auto respawn?

parchedcoma
Автор

i love your channel how you can suggest other plugins packages to help the development

bluzenkk
Автор

i noticed that shadows made from light sources opposite to the camera look completely disconnected from the bottoms of the character. I had this too and at first I thought that the sprite was getting cutoff from the bottom but now I realize the shadow being rendered slightly off. IDK if there is a fix for this.

_GLXC
Автор

Any idea how to make vertex lighting for 3d models(obviously) in UE ?

OriginRow
Автор

Hey! I love the tutorial and even bought aseprite thanks to it. I was wondering if there was a way to add normal maps onto tile maps to effect the 2d world lighting?
TY!

bbsedge