I have been so insanely intimidated by flowmaps I've always just defaulted to UVs and masking all the seams and jank with hacks. The game I'm working on has a lot more dynamic/complex and frankly massive world that I can't be doing that, and I just gotta say this tutorial made things a lot clearer to me. Thanks for putting out these resources, you're a king.
Thank you for taking the time to explain everything. I'm reading it in high definition in the bought plugin (well worth it), then rewriting what I need in Godot
Absolutely love your content; you're always the first place I check when I need to learn something new (or remind myself). Can't wait for your next video.
Bro is literally reading my mind. I am struggling so hard with making a water shader and flow maps were one of the things that has 0 good information out in the internet.
13:24 you can actually visualize those with the plot and debug scalar nodes (and clever inputs) Also thanks for explaining how the flowmap node is made. Thatsmthe fun part ofbthis channel.
@@PrismaticaDev Hey so I was experimenting with the flow map, I realised that if the red channel = right then green must = left. So I made a texture with a flow mask on red for the main river direction, and then a flow mask on green to create bounceback flow from the edges and obstacles. However only the red channel is being red for the direction and I can't figure out how to make the green channel apply. Is it me or is this shader not working with green like that?
@@MonsterJuiced It's actually Red for Left/Right, and Green for Forward/Backward (or the other way around) You use negative values in the RG channels for the backwards directions, however when they're in a texture they need to be 0 for backwards, 0.5 for stationary and 1 for forwards. You'll need to "unpack" the texture manually (unless it's being sampled as a normal map) by adding 1 and dividing by 2
@PrismaticaDev oohh right ofcourse I see now. Thank you I'll set it up later and see how it goes. I appreciate your reply man. Keep setting great examples :)
oh wow when I saw this I thought for sure it needed to store some state in a render texture. In the case of very large open world environments things like water and wind would take up tons of space and would need to be done through a virtual texture. But this technique is amazing since it is stateless.
You are so awesome, Charlie. You have really helped me get back into unreal and be able to do a lot more in unreal with your videos. (P.s. I love Prismatica's style so much, it's beautiful 😭)
Thanks for the great tutorials and streams. Still haven't finished all so much good stuff 👍 . Question about combining the single water material with the flow map. What's the best solution to match normals ( waves ) with the flow ( if possible ).
9:52 missing the subtitle. heavy metal version -> blüvüläshhavülaflüvülüvüla. ;D good tutorial too. flow can be used for a lot of good scrolling effects. the river is basic noise. with dedicated textures you can do more. retro style scrolling, coloramp emulation. all the good stuff. hmmhmm
Hey there - it's all bespoke, but essentially each Entity in my game is a uObject instance that can contain other Entities in numerous ways, I'll be making a video about it in a new Devlog by the end of this year :)
4 місяці тому+1
Great stuff, many thanks! It does get a bit samey, just panning...
Hey! Love your videos! They’ve been very helpful with my project! I was wondering if you could go over the art style of Astro Bot? They have this bright contrast look to their game that makes it look very vibrant. Do you have any advice/ tips to achieve a similar look? Thanks in advance!
Hi, do you know Gaea? Is it possible to use this technique to get a realistic river from the export files from Gaea? I am still struggling on how to create a realistic river from that exported files in Unreal Engine 5. Gaea gives you the river data in form of heatmaps and heightmaps. River flow direction, River depth, river surface etc. It would be cool to see a video on how to use you technique to create a river from Gaea cause there doesn´t exits one at the moment...
Sure can! You'd need to use the "landscape coords" node to sample the textures along the entire landscape etc. Not sure how you'd generate the river meshes though...
@@KoolioBaka yeah you’ll need to put in your own noise textures. I’m not sure how pastebin works with the Function Inputs too. I’ll double check tomorrow and see if there’s anything I can do
@@PrismaticaDev Cheers for that! I'm fairly new at Unreal so figuring it out is a little bit more challenging for me, but I think it's something to do with the material expression function inputs. Maybe I'm missing something. In any case, I'm not used to material functions yet so I'm not sure where to look, but I could see this tool having a ton of application once I figure it out :)
hey prismatic although not related to this video I wanted to ask you, regarding your physical animation turorial, how do I if I want a bone (such as breasts) to be constantly in physical animation (possibly with its own profile) even when I decide to turn off the general physical animation. I have tried many times and in all ways I cannot get the desired result, which is that the bone remains in the same position while continuing to be simulated
@@hyper_1337 hey there! You can disable simulation for particular bones using the ‘all bones below’ nodes. You might also benefit from looking into the Physics Control component that was added in UE5 as the successor to Phys Anim (I’ll be making a video about it in the future now that it’s had time to mature)
@@PrismaticaDev I am aware of Physics Control but I have seen that it is incredibly more complicated than Physics Animation. Anyway, the “all bodies below” nodes cause problems because if I disable the general physics animation and with disable physics on all bodies below (bone: pelvis) and then reactivate it on the bone that always needs to be simulated with enable physics on all bodies below (bone: breast_r for instance), the bone continues to be simulated but it suddenly moves to the original position. I've tried using things like “copy pose from component”(can't remember exactly the name of the node) on another mesh that will be the set of animation and physics or to create a skeletal mesh component child of another but all these methods don't work. I also thought about creating an animation blueprint that would copy the pose of the bone and reuse it in the transition so that the sudden change in position would not be noticed but it was too complicated. I guess I will wait for your tutorial.
@@PrismaticaDev @PrismaticaDev I found that you can use both but if you change the state of the bone in the physics animation component, it overwrites the physics control component. I guess I'll have to rewrite most of the code, but it's still better than abandoning my project
How would you approach this when tiling textures for larger rivers? I'm having issues hiding the repetition, even when blending multiple textures you still see the general world position direction. I tried tweaking the other parameters such as distortion but it doesn't really hide the repeat completely. I'm trying to use this with a spline mesh as you showed, with a Single Layer Water material.
Good question - it might just be a case of using a higher-resolution texture over a larger area, or using 2 separate textures blended together (a macro and a micro)
@@PrismaticaDev That's great input! I ended up using 3 different textures micro -> macro. Then I added some flow variation with the sine node and noise for some convincing variation. You might still see the banding if you are looking for it but it sells it pretty well. Thanks for a great video and MF!
You read this publication ? "Real-time Simulation of Large Bodies of Water with Small Scale Details Nuttapong Chentanez and Matthias Müller" the Fluid Flux plugin using this method, would be great some day explain how it works in UE5 xD
@@0805slawek ill give it a read! I’ve read some 2D water body simulation papers. Fluid Flux is a beast, I’ve seen it in action in another project I was working on and I looooove the river water mesh/flow map generation
Do you think we could ever get a tutorial on how to use texture arrays? Like say height blending between different textures with a single vertex channel using a texture array.
Hey PrismaticaDev, I'm trying to render a character for my portfolio, and I'm having a hard time to rendering the Hair, especially the Eyebrow which is very close to the head mesh, when I Zoom out the eyebrow almost completely fade away, all I have in this material is the alpha map and the dither node connected. I don't know if you'll see this comment, but I wanna try anyway, because I didn't find any solution for this on the internet and it seems to be something very simple to solve, I'm just too beginner to figure out by myself
Hey there! It might be an issue caused by Mipmap settings - basically as the texture gets further away it changes to a lower resolution version, but the way the lower res textures are generated can be changed (sharpen, blur, unfiltered etc) Also might be worth trying with the alpha set to 1 to see if it still disappears (if it's going inside the characters head?) and if it is, you could try using the CameraOffset WPO function
@@PrismaticaDev WOOOW man the Mipmap solved it!! I can't thank you enough I really appreciate you, I was trying to fix It for weeks now, I probably wouldn't find the solution any time soon
Good video but may i add a friendly suggestion. It is very confusing when you cut the video and all of sudden there are nodes that just pop up without explaining them. It would be better if the material window was open completely to see the node tree. Also you should show the final setup at the end without all the unnecessary nodes that you eventually did not connect. It gets confusing having all of the nodes that eventually do not end up being part of the final material.
@@linon8930 great points, ill keep it in mind in the future :) it can often get a bit messy since I film these videos during livestreams so there are usually more little explanations happening that get edited out
@@PrismaticaDev I understand. I didn't know about the live streams. I'll go check it out. :) Keep up the good work. Your knowledge is very valuable. Your vids have helped me understand things that i used to bang my head against the wall for months.
What kind of noise are you using? I tend to cross with that cloudy neat texture in another of your videos but I can't indentify what kind of noise is (any noise pack is also appreaciated)
thanks for this. please i have a question to do with character clothing. i have a long puncho. im looking to animate into some poses kinda like spawn(comic book characters) cape. basically in using chaos cloth as i cant get rigid bodies or kawai to work properly as the whole thing is simulated. how can i drive the poses (pose morphs dont work with cloth sim) to specific shapes or arrangements. thanks.also if you have a discord or a way i can contact you please let me know. have a great day
Is it possible to somehow use this flow map function to warp a texture around the contors of a mesh using world space normals in a post process material? Over and against a triplanar effect. Thinking of an etching effect that flows across curves of a mesh.
Hi! I'm trying to create a road but using Landscape Spline instead of a Spline Mesh. Any tips on how to align the texture correctly to follow along the curving spline?
I'm a beginner who is learning the Unreal Engine. While imitating this video, searching for pris_flowmapsecresauce doesn't show up, so how do I get that to float?
@@lil.shaman6384 it would be very minimal going from 3 to 4, although it depends on how many textures you needed to flow. If you had colour, normals and ORM textures then it would add 3 extra samples
@@PrismaticaDev Gotta say this to you, thank you so much. I'm in my last semester being a student in game development and you thought me more about this stuff than any of our professors. They don't even come close, lmao. Big up, you're a lifesaver♥
i think this dude deserves a windows licence key donation
I have been so insanely intimidated by flowmaps I've always just defaulted to UVs and masking all the seams and jank with hacks. The game I'm working on has a lot more dynamic/complex and frankly massive world that I can't be doing that, and I just gotta say this tutorial made things a lot clearer to me. Thanks for putting out these resources, you're a king.
Love how he starts from a small example and the last minute of the video is an eldritch chaos of nodes
@@Bife_A_Lo_Vulnerable oh this is nothing compared to some material graphs… hahaha
Thank you for this tutorial! I could not find any other UA-cam video that explains flow maps. You are great at what you do and I appreciate your help!
Thank you for taking the time to explain everything. I'm reading it in high definition in the bought plugin (well worth it), then rewriting what I need in Godot
Doing a project whose graphic theme is based on a water flow and this is such a excellent explanation of the map and underlying math.
U grew up as a strong tech artist. Keep doing your stuff, great progress
@@YourSandbox means a lot from you
Another banger from the man himself
thank you for what you do!
Thank you for watching :)
Absolutely love your content; you're always the first place I check when I need to learn something new (or remind myself). Can't wait for your next video.
Bro is literally reading my mind. I am struggling so hard with making a water shader and flow maps were one of the things that has 0 good information out in the internet.
Hope this can get you pointed in the right direction!
To be fair, that's 90% of unreal xD
wow I didn't think I was going to understand that material.. But you explained it very well.
when he starts to draw somethign in paint you know its gonna be good
Wow that is so amazing! Just what I was trying to create for a long time. Thank you so much!
So much informations, thank you so much for taking the time to share of all of this !
13:24 you can actually visualize those with the plot and debug scalar nodes (and clever inputs)
Also thanks for explaining how the flowmap node is made. Thatsmthe fun part ofbthis channel.
You just significantly boosted the quality of my basic water without me having to rely on ninja fluids. Thank you! :)
@@MonsterJuiced happy to hear it! Don’t forget you can use flow maps for a tonne of other effects too :)
@PrismaticaDev I'll have fun thinking of ways to use them in different situations haha. Maybe flapping flags and large leaves
@@PrismaticaDev Hey so I was experimenting with the flow map, I realised that if the red channel = right then green must = left. So I made a texture with a flow mask on red for the main river direction, and then a flow mask on green to create bounceback flow from the edges and obstacles. However only the red channel is being red for the direction and I can't figure out how to make the green channel apply. Is it me or is this shader not working with green like that?
@@MonsterJuiced It's actually Red for Left/Right, and Green for Forward/Backward (or the other way around)
You use negative values in the RG channels for the backwards directions, however when they're in a texture they need to be 0 for backwards, 0.5 for stationary and 1 for forwards. You'll need to "unpack" the texture manually (unless it's being sampled as a normal map) by adding 1 and dividing by 2
@PrismaticaDev oohh right ofcourse I see now. Thank you I'll set it up later and see how it goes. I appreciate your reply man. Keep setting great examples :)
oh wow when I saw this I thought for sure it needed to store some state in a render texture. In the case of very large open world environments things like water and wind would take up tons of space and would need to be done through a virtual texture. But this technique is amazing since it is stateless.
Still waiting for render target and rvt tutorials 🙏
You're the best, thank you for the awesome tutorial once again! ❤
RVTs video is the next big long one! Hopefully doing a few smaller ones inbetween :)
@@PrismaticaDev Can't wait, I learn better thanks to your accent
@@workflowinmind lol
Wow amazing tutorial, I really love this tutorials for water and river shaders. Thank you so much for providing quality content for everyone
@@davidji4035 thanks for watching and enjoying! :)
Amazing. It unlocks a lot of ideas. How to give more natural and reactive movement to things.
yippee
I just started digging into flowmaps) And just by the way, additional information. Thank you!)
A very nice 5 minute video!
:)))))))
You are so awesome, Charlie. You have really helped me get back into unreal and be able to do a lot more in unreal with your videos. (P.s. I love Prismatica's style so much, it's beautiful 😭)
@@jankystreams3337 not as beautiful as your comment
😁you are always such a fun teacher!
This is awesome, thank you! and thanks for the material function!
Thanks. I think this is exactly what I needed to work out gas giants in my game.
nice been wanting to do rivers
I would love to see a video from you on Save systems, you are an excellent educator
Nice vid. I like it was full of neat tricks, like warping time with a texture.
I go in to more detail about that in the Time node video :)
Niiiiice dude! Thanks for the paste bin link, good looking out!
I can't believe you just said skibbity rizz
really cool lesson! Thanks prismatica dev!
All good! Glad you enjoyed :)
I like how the 3 texture overlapping in the flow map node functions like a Shepard Tone.
Thanks for the great tutorials and streams. Still haven't finished all so much good stuff 👍 . Question about combining the single water material with the flow map. What's the best solution to match normals ( waves ) with the flow ( if possible ).
Thank youuuu so much for this!!
9:52 missing the subtitle. heavy metal version -> blüvüläshhavülaflüvülüvüla. ;D good tutorial too. flow can be used for a lot of good scrolling effects. the river is basic noise. with dedicated textures you can do more. retro style scrolling, coloramp emulation. all the good stuff. hmmhmm
How do you handle your player's inventory if you don't mind me asking. is it a plugin or a bespoke system?
Hey there - it's all bespoke, but essentially each Entity in my game is a uObject instance that can contain other Entities in numerous ways, I'll be making a video about it in a new Devlog by the end of this year :)
Great stuff, many thanks! It does get a bit samey, just panning...
Hey! Love your videos! They’ve been very helpful with my project! I was wondering if you could go over the art style of Astro Bot? They have this bright contrast look to their game that makes it look very vibrant. Do you have any advice/ tips to achieve a similar look? Thanks in advance!
Hi, do you know Gaea? Is it possible to use this technique to get a realistic river from the export files from Gaea? I am still struggling on how to create a realistic river from that exported files in Unreal Engine 5. Gaea gives you the river data in form of heatmaps and heightmaps. River flow direction, River depth, river surface etc. It would be cool to see a video on how to use you technique to create a river from Gaea cause there doesn´t exits one at the moment...
Sure can! You'd need to use the "landscape coords" node to sample the textures along the entire landscape etc. Not sure how you'd generate the river meshes though...
@@PrismaticaDev I will try :-) Thanks for your fast reply
Very cool, I'd love to use this but I'm having some trouble implementing the pastebin into a new MF. Might need to reconnect some textures?
@@KoolioBaka yeah you’ll need to put in your own noise textures. I’m not sure how pastebin works with the Function Inputs too. I’ll double check tomorrow and see if there’s anything I can do
@@PrismaticaDev Cheers for that! I'm fairly new at Unreal so figuring it out is a little bit more challenging for me, but I think it's something to do with the material expression function inputs. Maybe I'm missing something. In any case, I'm not used to material functions yet so I'm not sure where to look, but I could see this tool having a ton of application once I figure it out :)
hey prismatic although not related to this video I wanted to ask you, regarding your physical animation turorial, how do I if I want a bone (such as breasts) to be constantly in physical animation (possibly with its own profile) even when I decide to turn off the general physical animation. I have tried many times and in all ways I cannot get the desired result, which is that the bone remains in the same position while continuing to be simulated
@@hyper_1337 hey there! You can disable simulation for particular bones using the ‘all bones below’ nodes. You might also benefit from looking into the Physics Control component that was added in UE5 as the successor to Phys Anim (I’ll be making a video about it in the future now that it’s had time to mature)
@@PrismaticaDev I am aware of Physics Control but I have seen that it is incredibly more complicated than Physics Animation. Anyway, the “all bodies below” nodes cause problems because if I disable the general physics animation and with disable physics on all bodies below (bone: pelvis) and then reactivate it on the bone that always needs to be simulated with enable physics on all bodies below (bone: breast_r for instance), the bone continues to be simulated but it suddenly moves to the original position. I've tried using things like “copy pose from component”(can't remember exactly the name of the node) on another mesh that will be the set of animation and physics or to create a skeletal mesh component child of another but all these methods don't work. I also thought about creating an animation blueprint that would copy the pose of the bone and reuse it in the transition so that the sudden change in position would not be noticed but it was too complicated. I guess I will wait for your tutorial.
@@hyper_1337 Ahhhh yep, I see what you're saying. Yeah Phys Control would probably be the best solution, but I agree it is a bit more complicated.
@@PrismaticaDev do you think its possibile to use both?
@@PrismaticaDev @PrismaticaDev I found that you can use both but if you change the state of the bone in the physics animation component, it overwrites the physics control component. I guess I'll have to rewrite most of the code, but it's still better than abandoning my project
5 minutes video --> 35 minutes 🤣
on a serious note, good stuff very interesting!
Babe, wakeup... FLOW MAPS...
the plugin comes with the charlie texture right?
It does, actually hahah
How would you approach this when tiling textures for larger rivers? I'm having issues hiding the repetition, even when blending multiple textures you still see the general world position direction. I tried tweaking the other parameters such as distortion but it doesn't really hide the repeat completely. I'm trying to use this with a spline mesh as you showed, with a Single Layer Water material.
Good question - it might just be a case of using a higher-resolution texture over a larger area, or using 2 separate textures blended together (a macro and a micro)
@@PrismaticaDev That's great input! I ended up using 3 different textures micro -> macro. Then I added some flow variation with the sine node and noise for some convincing variation. You might still see the banding if you are looking for it but it sells it pretty well. Thanks for a great video and MF!
Will you be doing a tutorial on how to activate windows next?
@@importon I would, but I don’t know how
You read this publication ? "Real-time Simulation of Large Bodies of Water with Small Scale Details Nuttapong Chentanez and Matthias Müller" the Fluid Flux plugin using this method, would be great some day explain how it works in UE5 xD
@@0805slawek ill give it a read! I’ve read some 2D water body simulation papers. Fluid Flux is a beast, I’ve seen it in action in another project I was working on and I looooove the river water mesh/flow map generation
Anyone know how did he create the mesh at 27:12 ?
Hi I think you can see that in the stream recording otherwise look for Spline blueprint
Do you think we could ever get a tutorial on how to use texture arrays? Like say height blending between different textures with a single vertex channel using a texture array.
how is your game going ? haven't seen for quite time any vids.
@@noxtech it’s going good! Just doing lots of refactoring and prototyping as my knowledge expands :)
@@PrismaticaDev any soon vid ?
Hey PrismaticaDev, I'm trying to render a character for my portfolio, and I'm having a hard time to rendering the Hair, especially the Eyebrow which is very close to the head mesh, when I Zoom out the eyebrow almost completely fade away, all I have in this material is the alpha map and the dither node connected.
I don't know if you'll see this comment, but I wanna try anyway, because I didn't find any solution for this on the internet and it seems to be something very simple to solve, I'm just too beginner to figure out by myself
Hey there! It might be an issue caused by Mipmap settings - basically as the texture gets further away it changes to a lower resolution version, but the way the lower res textures are generated can be changed (sharpen, blur, unfiltered etc)
Also might be worth trying with the alpha set to 1 to see if it still disappears (if it's going inside the characters head?) and if it is, you could try using the CameraOffset WPO function
@@PrismaticaDev WOOOW man the Mipmap solved it!! I can't thank you enough I really appreciate you, I was trying to fix It for weeks now, I probably wouldn't find the solution any time soon
@@dibritto1298 Glad to hear it!! :)
Are you using forward shading on your game?
@@stvarnov8754 deferred shading with a post-process
Charlie you beautiful bastard!
Good video but may i add a friendly suggestion. It is very confusing when you cut the video and all of sudden there are nodes that just pop up without explaining them. It would be better if the material window was open completely to see the node tree. Also you should show the final setup at the end without all the unnecessary nodes that you eventually did not connect. It gets confusing having all of the nodes that eventually do not end up being part of the final material.
@@linon8930 great points, ill keep it in mind in the future :) it can often get a bit messy since I film these videos during livestreams so there are usually more little explanations happening that get edited out
@@PrismaticaDev I understand. I didn't know about the live streams. I'll go check it out. :) Keep up the good work. Your knowledge is very valuable. Your vids have helped me understand things that i used to bang my head against the wall for months.
What kind of noise are you using? I tend to cross with that cloudy neat texture in another of your videos but I can't indentify what kind of noise is (any noise pack is also appreaciated)
thanks for this. please i have a question to do with character clothing. i have a long puncho. im looking to animate into some poses kinda like spawn(comic book characters) cape. basically in using chaos cloth as i cant get rigid bodies or kawai to work properly as the whole thing is simulated. how can i drive the poses (pose morphs dont work with cloth sim) to specific shapes or arrangements. thanks.also if you have a discord or a way i can contact you please let me know. have a great day
Is it possible to somehow use this flow map function to warp a texture around the contors of a mesh using world space normals in a post process material? Over and against a triplanar effect. Thinking of an etching effect that flows across curves of a mesh.
Hi! I'm trying to create a road but using Landscape Spline instead of a Spline Mesh. Any tips on how to align the texture correctly to follow along the curving spline?
Why is there an exclamation mark above your head? Looks sick
Thanks for showing the differences between a flow map and a PENAH (sorry)
PEEEAHNAAHHHHH
ever think of doing a high quality flowing lava?
I'm a beginner who is learning the Unreal Engine. While imitating this video, searching for pris_flowmapsecresauce doesn't show up, so how do I get that to float?
Why not use 4 samples?
Why not use a BILLION?? :P
@@PrismaticaDev can you compare the performance cost?
@@lil.shaman6384 it would be very minimal going from 3 to 4, although it depends on how many textures you needed to flow. If you had colour, normals and ORM textures then it would add 3 extra samples
7:02 great video so far🤣🤣🤣🤣
Must be a new motherboard, I spent the last year or so seeing that activate windows on my pc haha
Another banger
u r
@@PrismaticaDev Gotta say this to you, thank you so much. I'm in my last semester being a student in game development and you thought me more about this stuff than any of our professors. They don't even come close, lmao. Big up, you're a lifesaver♥
awesome!
He really said "skibidi rizz"😭😭
5 minutes but its 35 min long lol
7 for the price of 1! :P
It's still 5 mins...you just didn't frac it
(3)5 minute materials
This dude is Kangoo Land national treasure