Thanks for the great videos! I couldn't find, by far, anything more clear than this series! To future folks wondering, where the period of time came from: You can find the time period by dividing the number of segments you have in your texture by the number of frames you want as a result. So in the video we had a texture with 36 segments and wanted to reach a total of 24 fps, then we divided 36/24=1.5 secs. Technically speaking you would need 1.5 seconds to play your 36 segments in 24 frame rate. So you would have to divide (texture segments)/(target fps). Hope this helps.
Awesome and thanks for the info. I wondered how he arrived at 1.5 seconds. Figured it had to be associated to frame rate but didn't give it another thought. Your post made it clear.
Thank you, it's been difficult to find someone that explains shaders through and through in a way that's understandable. And you manage it great. Keep it up!
Really thanks so much, I have searched for good information about shaders in unreal engine and in general, but i have not found nothing until I find your tutorials, the are of an excellent quality. Thanks so much
To stop the animation and control it: - You can still use Unreal's Flipbook function. 1. Create an MPC(Material Parameter Collection), make a new parameter and name it, like "AnimationPhase" or something. 2. Drag the MPC into the the material graph so it becomes a node. Choose in the node the parameter name you made previously and plug it into the "AnimationPhase(0-1)(S)" input. 3. In whatever blueprint that you want to control it from, add a "Set Scalar Parameter Value", choose the MPC and the parameter name, and there you go. 4. Control the value however you want, which most of you probably gonna use a Timeline - which I assume you already know how to use it. Solution for widget: Since you can't use a Timeline in a widget blueprint, you can use the delta seconds from the Tick event. 1. Make a new float variable, let's call it "Value". GET the "Value" float, do 'add', connect it with the "In Delta Time" from Tick event, connect that to a "Clamp(float)" to limit it to 1. 2. From the Clamp connect to a SET of your "Value" variable. So you see that the tick sets the "Value" variable like a timeline. Just connect the "Set Scalar Parameter Value" like above and you're good to go. 3. But now we want to play the flipbook animation again, EASY - all you have to do is reset the variable "Value" back to 0. For me it was enough to put a delay node for 5 seconds and SET the "value" to 0, so animation resets every 5 seconds. If you want it to reset at a specific event then go ahead.
Duuuude! THANK YOU! Exactly what I was looking for. :D You just saved my ass, haha. Had the MPC already set up, but didn't think to just plug it directly into the animation phase. Had it multiply the playrate, with bad results...
Hi Ben. I used a 5x5 flipbook texture so I made sure to divide by 5 (instead of 6, like in your video), but I also found that I had to set my Time to a Period of either 1 or 2. I guess I don't understand the concept of the Period field. I noticed that when Period was disabled, my texture resolution dropped significantly, but at 1 or 2 it's fine. Thanks for your help and you have given so much to the community - Cheers!
I think as long as the product of the Time period and the Frame rate is equal to the number of frames you'll be good. Or at least the product should be evenly divisible by the number of frames. I wish that was covered as I was confused by that as well and the time period needed to be adjusted for my texture, too.
Although it's late :) You can find the time period by dividing the number of segments you have in your texture by the number of frames you want as a result. So in the video we had a texture with 36 segments and wanted to reach a total of 24 fps, then we divided 36/24=1.5 secs. Technically speaking you would need 1.5 seconds to play your 36 segments in 24 frame rate. So you would have to divide 25/(target fps). Hope this helps.
Thank you very much sir! very informative and I love how you always drop optimization tip here and there. I made a material function for reuse purpose based on this, little tweak with parameter so it's editable in material instance!
Really cool video, even that i will forget tomorrow how this all math works, but atleast now i know how to make animated effects from texture atlas, TY.
I'm sorry but I just don't get it. What does it mean to multiply time by 24? Or divide it by six? What do you divide? Is it a timespan? The speed of the timeflow? Number of frames? How does the value of the time node go up, and by which increment, how often (per real world second)? Does the node behave differently if I set up a webcam and have my PC watch a cooking pot? Edit: After one more day spent in meditation, a quick seance and a small chat with my old friend Stephen Hawking I think maybe I'm starting to make sense out of all this. For anyone else overcomplicating things: I think the time node simply represents real world time in seconds, so after one second it has a value of 1, after one and a half second 1.5, so if it's plugged into the UV coordinates by itself it flips to the next frame every second. By multiplying by 24 we simply make this happen 24 times per second. And for the divide by 6 thing, it simply tells the V coordinate to increase only every sixth time that the U coordinate does. By the way, thanks for the tutorials, I really like them, although I sometimes struggle to follow.
@Ben Cloward This was all wonderfully explained. I, as an artist was able to grasp most of the things. Only that I would like to ask you Mr. Ben is why the value of 1.5 was used as a time period on Time now and even why set any Period at all ? I am recreating this with a texture with 10x10 grid. Not setting the time to period is working fine.
For those, who can't understand why there is a period of 1.5 in a Time node! FPS of the animation is 24, however there are 36 frames in whole anim. 36/24 = 1.5 (TotalFrames / FPS = Period Value).
you saved my damn day bro... thanks a lot for the explanation...which means if there was 5x5 that would be 25 frames then that number would be 1,04166666
That's a texture that comes with Unreal. A few years ago, Unity published a block post with links to a list of flipbook textures. You can find it here: unity.com/blog/engine-platform/free-vfx-image-sequences-flipbooks
Great tutorial, thank you! Just wondering - is there a way to force a flipbook to start from frame 0 in-game? EG, if the player sets off a trigger, the flipbook starts playing from its first frame.
Question: is there a way to link a Control Rig controller to the UV in a flipbook. So if you move a bone translation or rotation the UV will move in a particular direction? And the Control Rig controller can be animated in Sequencer to record the UV animation? Maybe a UV in a texture atlas can be attached to a Control Rig controller as well?
Any time period can be used, but the product of the time period and the constant must be equal to the number of frames in the sequence. The Frac operation yields (0,0), (1/6, 0), (2/6, 0) and so on.
Hey Ben thanks a lot for this video! I want combine this material with particle system .Is there any possible to make it play the flipbook animation just once?
Great introduction Ben. Would it be possible to provide a link to the image you're using in this example in the video details? I tried to follow along using an 8x8 sprite sheet and ran into timing issues. For the second part, I had to set the const multiplied by time to 64 in order to get it to play the full sprite sheet.
An 8 by 8 should work fine as long as you set the rows and columns to 8 instead of 4. And yes, you’d need to adjust the time node to cover the full period. If you’re still having issues, take a look at the episode on performance optimization. I give some more details there that might help.
I started with a 7x7 and wasn't sure what was happening at first. I think you calculate it like so... For a 7x7 tileset (49 tiles) that is supposed to play at 24FPS Time is: 49 / 24 = 2.041666666666667 seconds required to play all frames (UE will truncate and round up to 2.041667 seconds - important to round up, not just cut the last numbers off as I think that'll drop the last frame). Other numbers might appear to play properly, but at some point it'll cut one play through off and start again.
Hey, thnx for the tutorial! Is there a way to play the flip book forward and back instead of looping? to make it like a c4d's "ping pong" animation effect
There are lots of way to do that. I would probably open the video using video editing software like Adobe Priemere or Davinci Resolve and then export the video as a list of individual frames. Then I'd use Photoshop to arange them in a grid. If you do a Google search for "convert video to sprite sheet" you should be able to find what you're looking for.
Can't understand why it plays back at 30 frames a second when dragging time directly into animation phase? (at 4:45) Anyone can help? Thanks in advance!
Request: Can you please make a companion video to this one? A video that shows how to swap out the TIME node and put in functionality to manually move the UV across the texture atlas? Possibly move the UV based on an integer value of 0-35?
O' I just figured it out. Remove the Time nodes. Create 2 scalar parameters: one for the "U" and a second for the "V." Plug both into an Append node. Then plug the Append into the "Animation Phase (0-1) (s)" of the Flipbook.
I love your channel. Question: do you have videos pertaining to If Statements? If a variable has a value of 0, move the UV tile to these U and V parameter coordinates. If the variable has a value of 1, move the UV tile to these differnt U and V parameter coordinates?
Really thanks for the tutorials!! But I just wonder why do you loop the time node between 0 to 1.5s(Is that some arithmetic value about frame rate? Sorry I try my best to understand it but I dont get it T T).
I've found this very useful, one thing I can't figure out tho is how to play through the flipbook just once. Do you think it's possible to do with math inside the material itself?
If you clamp the value you're using to select the flipbook frame (time) to between zero and one, it will play all the frames once and then stop - until you resent the time value back to zero.
greetings friend. I need your help ! I can’t make the animation stop. I did everything according to your example, everything works well, but I don’t understand how to make the animation go through one cycle and stop! Could you help me? Thank you!
This can be controlled by the time value that you pass in to the function. Typically, you pass in Time with Frac so that the effect will loop. But if you just want it to play once, you can pass in Time with a Clamp instead so that the value won't go higher than one.
I don't know what the problem is, but when I do this and apply the flipbook material to a surface, it displays the entire sprite sheet. For example, a 2x2 sprite sheet is displayed on the wall. Each quadrant is animated, but it's displaying all four quadrants of the 2x2 sprite sheet on the wall, rather than one animated texture. I've been trying to figure out animated flipbook materials for months. This is getting extremely frustrating at this point, honestly.
@@BenCloward I'm really sorry for sounding like an idiot here (I've only learning Unreal Engine/game development for about 6 months total), but I don't even know what that means. I keep hearing about UVs and I see UV settings for static meshes and textures, but I honestly don't even know what UVs are. And I don't know how to check the coordinates of UVs. I guess I should watch some tutorials on UVs and get familiar with them.
sorry to bother u , i add a saturate after time, the playback just stopped, its not playing anymore, so does it main i have to contorl a scalar param through blueprint?
Can someone recommend a program to create the spritesheet? I tried texturepacker but it struggles to create anything that isn't power of 2 (i.e. 5x5,6x6)
Just use photoshop. Get your first frame, goto image > canvas and then hit relative and change the parameters to pixels. Get a calculator and multiply the resolution of the X axis by how many frames you want going horizontally, and then the resolution of the Y axis by how many you want going down. Then put those numbers in the width and length fields. Get the selector tool, hold shift and snap your first frame to the top left of the canvas. Repeat for each frame as they should snap in place pixel perfect. If not try to line them up yourself.
You can either use 2 or 3 different textures and swap them in and out or you can put them in different spots in the atlas and skip to them when you want to switch.
Because at that stage of constructing the material, we're applying the floor to both the U and the V coordinates - so the movement is applied to horizontal and vertical movement equally.
@@BenCloward Thank you Ben. I am a beginner of shader learning. I don't fully understand the reason of some operations and choosing those constants. Are some of them just fixed patterns for specific effects by experience and multiple tests?
@@BenCloward Not in this Episode. For example, in the rain drip one, there are some constant vectors used to scale down the Absolute World Position. For some VerticalNormalWS operations and math operations, they are not straightforward to me because I don't know why we use this way and how we know these operation can work. That's why I thought those might be some fixed patterns or some industry experience that I didn't have.
@@haozhao1493 Those are for making the effect the right size. They're scale multipliers. No, there's no industry standard. They're just values I used because I thought they looked right after testing them. If you want to make the effect bigger or smaller, you can change them to whatever you want.
Just clamp the input frame value so it doesn't go higher than the max. Looping uses the Frac node to make it wrap around to the beginning frame again at the end, but if you use clamp instead, it will play once and stop.
That's a good question. I'm glad you brought it up. Coding it is easier for sure if you know how to code and enjoy it. But there are some advantages to node-based interfaces. For those that don't know code, all of the available operations are listed in the interface so they can select them from the menu rather than needing to have all of the commands and functions memorized. Using a visual interface removes the need to concentrate on code syntax - so you don't have to worry about remembering to add a semicolon at the end of the line, for example. I've found that it's easier for me to be creative in a node-based interface because my mind can stay on the artistic side rather than being on the analytical side.
Thanks for the great videos! I couldn't find, by far, anything more clear than this series!
To future folks wondering, where the period of time came from:
You can find the time period by dividing the number of segments you have in your texture by the number of frames you want as a result. So in the video we had a texture with 36 segments and wanted to reach a total of 24 fps, then we divided 36/24=1.5 secs. Technically speaking you would need 1.5 seconds to play your 36 segments in 24 frame rate. So you would have to divide (texture segments)/(target fps). Hope this helps.
Awesome and thanks for the info. I wondered how he arrived at 1.5 seconds. Figured it had to be associated to frame rate but didn't give it another thought. Your post made it clear.
Thank you very much for answering my confusion
These tut should be added to the main epic unreal engine resources - they are explained so everyone can understand it - please make more sir
I was hoping for a solition with calculations and you delivered. thank you
Thank you, it's been difficult to find someone that explains shaders through and through in a way that's understandable. And you manage it great. Keep it up!
Man his tutorial is exactly what I was looking for? Sir, can you please explain the fundamentals of Niagara?
This was excellent.
NOTE: the sprite sheet is under STARTER CONTENT > TEXTURES > T_Explosion_SubUV
thankyou for that!
How can we make our own sprite sheets to make our custom flipbook by laying out frames in a grid like that shown in the video
@@sauravrao234 using DCCs, sidefx Houdini is pretty good at these tasks
谢谢!
Ben you are a glorious communicator and a wonderful human being. Thank you for your work!!!!
Really thanks so much, I have searched for good information about shaders in unreal engine and in general, but i have not found nothing until I find your tutorials, the are of an excellent quality. Thanks so much
I believe you make the best tutorial for materials. I sincerely appreciate it.
You are fantastic, clear, linear and straight on the point! Thanks for your videos!
Insane tutorial, I applied your technique into my UE5 Project and it worked and you saved me a lot of time. Thanks A lot ❤❤
This is the best shader tutorial series using Unreal Engine
To stop the animation and control it:
- You can still use Unreal's Flipbook function.
1. Create an MPC(Material Parameter Collection), make a new parameter and name it, like "AnimationPhase" or something.
2. Drag the MPC into the the material graph so it becomes a node. Choose in the node the parameter name you made previously and plug it into the "AnimationPhase(0-1)(S)" input.
3. In whatever blueprint that you want to control it from, add a "Set Scalar Parameter Value", choose the MPC and the parameter name, and there you go.
4. Control the value however you want, which most of you probably gonna use a Timeline - which I assume you already know how to use it.
Solution for widget:
Since you can't use a Timeline in a widget blueprint, you can use the delta seconds from the Tick event.
1. Make a new float variable, let's call it "Value". GET the "Value" float, do 'add', connect it with the "In Delta Time" from Tick event, connect that to a "Clamp(float)" to limit it to 1.
2. From the Clamp connect to a SET of your "Value" variable. So you see that the tick sets the "Value" variable like a timeline. Just connect the "Set Scalar Parameter Value" like above and you're good to go.
3. But now we want to play the flipbook animation again, EASY - all you have to do is reset the variable "Value" back to 0.
For me it was enough to put a delay node for 5 seconds and SET the "value" to 0, so animation resets every 5 seconds. If you want it to reset at a specific event then go ahead.
Duuuude! THANK YOU! Exactly what I was looking for. :D You just saved my ass, haha. Had the MPC already set up, but didn't think to just plug it directly into the animation phase. Had it multiply the playrate, with bad results...
Super helpful, specifically the breakdown at the end! Thanks!
Amazing. Very nice explanation, you are a good teacher.
Hi Ben. I used a 5x5 flipbook texture so I made sure to divide by 5 (instead of 6, like in your video), but I also found that I had to set my Time to a Period of either 1 or 2. I guess I don't understand the concept of the Period field. I noticed that when Period was disabled, my texture resolution dropped significantly, but at 1 or 2 it's fine. Thanks for your help and you have given so much to the community - Cheers!
I think as long as the product of the Time period and the Frame rate is equal to the number of frames you'll be good. Or at least the product should be evenly divisible by the number of frames. I wish that was covered as I was confused by that as well and the time period needed to be adjusted for my texture, too.
Although it's late :) You can find the time period by dividing the number of segments you have in your texture by the number of frames you want as a result. So in the video we had a texture with 36 segments and wanted to reach a total of 24 fps, then we divided 36/24=1.5 secs. Technically speaking you would need 1.5 seconds to play your 36 segments in 24 frame rate. So you would have to divide 25/(target fps). Hope this helps.
Thank you very much sir! very informative and I love how you always drop optimization tip here and there. I made a material function for reuse purpose based on this, little tweak with parameter so it's editable in material instance!
This is so cool! You are awesome for breaking down the flipbook node and explaining it in detail! Thank you so much!
This is a great series. Learning a lot!
Hey Master your course should be a hit in udemy
Thank you Ben for sharing this.
Your tutorials are awesome! Thank you
Really cool video, even that i will forget tomorrow how this all math works, but atleast now i know how to make animated effects from texture atlas, TY.
LOL! Me too!
Thank you for making these tutorials!
Thank you so much for this!!
Perfect ...... Thanks For Your Time and Effort .. With my Respect
Thanks, this is very useful stuff, and so much fun to play with.
I'm sorry but I just don't get it. What does it mean to multiply time by 24? Or divide it by six? What do you divide? Is it a timespan? The speed of the timeflow? Number of frames? How does the value of the time node go up, and by which increment, how often (per real world second)? Does the node behave differently if I set up a webcam and have my PC watch a cooking pot?
Edit: After one more day spent in meditation, a quick seance and a small chat with my old friend Stephen Hawking I think maybe I'm starting to make sense out of all this. For anyone else overcomplicating things: I think the time node simply represents real world time in seconds, so after one second it has a value of 1, after one and a half second 1.5, so if it's plugged into the UV coordinates by itself it flips to the next frame every second. By multiplying by 24 we simply make this happen 24 times per second. And for the divide by 6 thing, it simply tells the V coordinate to increase only every sixth time that the U coordinate does.
By the way, thanks for the tutorials, I really like them, although I sometimes struggle to follow.
Thx Ben! Very useful and very well explained! :-)
Very helpful!!
@Ben Cloward This was all wonderfully explained. I, as an artist was able to grasp most of the things. Only that I would like to ask you Mr. Ben is why the value of 1.5 was used as a time period on Time now and even why set any Period at all ? I am recreating this with a texture with 10x10 grid. Not setting the time to period is working fine.
For those, who can't understand why there is a period of 1.5 in a Time node!
FPS of the animation is 24, however there are 36 frames in whole anim. 36/24 = 1.5 (TotalFrames / FPS = Period Value).
you saved my damn day bro... thanks a lot for the explanation...which means if there was 5x5 that would be 25 frames then that number would be 1,04166666
This is great! how would one cross fade between the frames if they wanted to use a lower frame-rate so that it's not so "staccato"
This is just great
hi ben liking your videos they are very clear. but is there anyway you can provide with the explosion image sequence that you used in this video
That's a texture that comes with Unreal. A few years ago, Unity published a block post with links to a list of flipbook textures. You can find it here: unity.com/blog/engine-platform/free-vfx-image-sequences-flipbooks
@@BenCloward thank you so much
So cool. Thanks for sharing
How do you do transparent background sprite setup from a video or gif?
Very cool! Thanks!
How can you slow back playback speed over life? When I multiply time over the particle life to slow down a looping texture, it stutters pretty bad.
Great tutorial, thank you! Just wondering - is there a way to force a flipbook to start from frame 0 in-game? EG, if the player sets off a trigger, the flipbook starts playing from its first frame.
How can i make a texture like this one to apply the flipbook animation on it
great great great
hi ben any way to dont show how to dont get the black background behind , whats the way to fix this
AWESOME!!!!!
My brain just exploded xD
Question: is there a way to link a Control Rig controller to the UV in a flipbook. So if you move a bone translation or rotation the UV will move in a particular direction? And the Control Rig controller can be animated in Sequencer to record the UV animation? Maybe a UV in a texture atlas can be attached to a Control Rig controller as well?
Understood everything except why a time period of 1.5 is used
Any time period can be used, but the product of the time period and the constant must be equal to the number of frames in the sequence. The Frac operation yields (0,0), (1/6, 0), (2/6, 0) and so on.
@@JoneJake But why even bother putting in a time period at all? Why not just leave it unchecked?
what if you have multiple textures ? or an avi file ?
Hey Ben thanks a lot for this video! I want combine this material with particle system .Is there any possible to make it play the flipbook animation just once?
wow, Ithank you, I am new to ue4 and I got to learn a lot like very a lot 🤯😨😭😢😱
Thank you!
Great introduction Ben. Would it be possible to provide a link to the image you're using in this example in the video details? I tried to follow along using an 8x8 sprite sheet and ran into timing issues. For the second part, I had to set the const multiplied by time to 64 in order to get it to play the full sprite sheet.
An 8 by 8 should work fine as long as you set the rows and columns to 8 instead of 4. And yes, you’d need to adjust the time node to cover the full period. If you’re still having issues, take a look at the episode on performance optimization. I give some more details there that might help.
@@BenCloward Oh wow, the performance optimization episode (#7) is next on my list, I'm looking forward to checking it out. Great lesson planning.
I started with a 7x7 and wasn't sure what was happening at first. I think you calculate it like so...
For a 7x7 tileset (49 tiles) that is supposed to play at 24FPS
Time is: 49 / 24 = 2.041666666666667 seconds required to play all frames (UE will truncate and round up to 2.041667 seconds - important to round up, not just cut the last numbers off as I think that'll drop the last frame).
Other numbers might appear to play properly, but at some point it'll cut one play through off and start again.
@@Data-Cain Oooh, now i get it! Thank you!
Hey, thnx for the tutorial! Is there a way to play the flip book forward and back instead of looping? to make it like a c4d's "ping pong" animation effect
This can be done by passing time into the sine node and then adjusting the output range. Sine will ping pong back and forth.
hi,How do I convert a video into a Flipbook sprite sheet image and import it to UE5
There are lots of way to do that. I would probably open the video using video editing software like Adobe Priemere or Davinci Resolve and then export the video as a list of individual frames. Then I'd use Photoshop to arange them in a grid. If you do a Google search for "convert video to sprite sheet" you should be able to find what you're looking for.
@@BenCloward thanks a lot
Can't understand why it plays back at 30 frames a second when dragging time directly into animation phase? (at 4:45) Anyone can help? Thanks in advance!
I'm not positive but I believe 30fps is a default for the game engine.
How do you stop it repeating
Thanks
Request: Can you please make a companion video to this one? A video that shows how to swap out the TIME node and put in functionality to manually move the UV across the texture atlas? Possibly move the UV based on an integer value of 0-35?
O' I just figured it out. Remove the Time nodes. Create 2 scalar parameters: one for the "U" and a second for the "V." Plug both into an Append node. Then plug the Append into the "Animation Phase (0-1) (s)" of the Flipbook.
I love your channel. Question: do you have videos pertaining to If Statements? If a variable has a value of 0, move the UV tile to these U and V parameter coordinates. If the variable has a value of 1, move the UV tile to these differnt U and V parameter coordinates?
I figured out what I needed to do. Thank you so much for teaching us how to use materials.
@@hotsauce7124 Hi there do you mind explaining further how you got this to work and how your blueprint looks?
much appreciated
coooooolll
how to make it play it just once ? thanks for channel super informative
Hey Ben! Excellent one, once again! I was wondering, do you have the source for de .tga file you use ?
For the flipbook explosion texture? I don't have that, no. It's one of the textures that ships with Unreal.
Really thanks for the tutorials!! But I just wonder why do you loop the time node between 0 to 1.5s(Is that some arithmetic value about frame rate? Sorry I try my best to understand it but I dont get it T T).
Hi @Redozeed, In the flipbook there are 36 images in order to play that at 24 frames a second would take 1,5 seconds. Hope this clears things up
I've found this very useful, one thing I can't figure out tho is how to play through the flipbook just once.
Do you think it's possible to do with math inside the material itself?
If you clamp the value you're using to select the flipbook frame (time) to between zero and one, it will play all the frames once and then stop - until you resent the time value back to zero.
@@BenCloward I didn't understand what exactly I need to change?
greetings friend. I need your help ! I can’t make the animation stop. I did everything according to your example, everything works well, but I don’t understand how to make the animation go through one cycle and stop! Could you help me? Thank you!
This can be controlled by the time value that you pass in to the function. Typically, you pass in Time with Frac so that the effect will loop. But if you just want it to play once, you can pass in Time with a Clamp instead so that the value won't go higher than one.
How the FRIC! did you forget the FRAC?!?!
I don't know what the problem is, but when I do this and apply the flipbook material to a surface, it displays the entire sprite sheet. For example, a 2x2 sprite sheet is displayed on the wall. Each quadrant is animated, but it's displaying all four quadrants of the 2x2 sprite sheet on the wall, rather than one animated texture. I've been trying to figure out animated flipbook materials for months. This is getting extremely frustrating at this point, honestly.
What do the UV coordinates look like on your wall? Do they go above 1 or below 0?
@@BenCloward I'm really sorry for sounding like an idiot here (I've only learning Unreal Engine/game development for about 6 months total), but I don't even know what that means. I keep hearing about UVs and I see UV settings for static meshes and textures, but I honestly don't even know what UVs are. And I don't know how to check the coordinates of UVs. I guess I should watch some tutorials on UVs and get familiar with them.
@DeadPixel1105 No worries! Here’s a video explaining UV coordinates:
th-cam.com/video/reAlVCXBtjs/w-d-xo.html
Why did you use 1.5 time period
how do u make it play once then stop at very last frame
You’ll need to add a saturate to time so that it’s clamped to the zero to one range.
sorry to bother u , i add a saturate after time, the playback just stopped, its not playing anymore, so does it main i have to contorl a scalar param through blueprint?
Can someone recommend a program to create the spritesheet?
I tried texturepacker but it struggles to create anything that isn't power of 2 (i.e. 5x5,6x6)
Just use photoshop. Get your first frame, goto image > canvas and then hit relative and change the parameters to pixels. Get a calculator and multiply the resolution of the X axis by how many frames you want going horizontally, and then the resolution of the Y axis by how many you want going down. Then put those numbers in the width and length fields. Get the selector tool, hold shift and snap your first frame to the top left of the canvas. Repeat for each frame as they should snap in place pixel perfect. If not try to line them up yourself.
@@MonsterJuiced use photoshop - at $239.88 / year... or $1,199.40 / 5 years... haven't crossed that bridge yet.
@@stephenmontague6930Yoho
What if I use this to anime eyes for example, but, I need 2 or 3 different animation for character's eyes, how can I do that?
You can either use 2 or 3 different textures and swap them in and out or you can put them in different spots in the atlas and skip to them when you want to switch.
@@BenCloward All right, thanks
But if i need to animated just one specific row?
Sorry for all the questions, i'm newbie using unreal.
Why does the floor function just generate the diagonal frames? Thank you.
Because at that stage of constructing the material, we're applying the floor to both the U and the V coordinates - so the movement is applied to horizontal and vertical movement equally.
@@BenCloward Thank you Ben. I am a beginner of shader learning. I don't fully understand the reason of some operations and choosing those constants. Are some of them just fixed patterns for specific effects by experience and multiple tests?
Which constants are you asking about?
@@BenCloward Not in this Episode. For example, in the rain drip one, there are some constant vectors used to scale down the Absolute World Position. For some VerticalNormalWS operations and math operations, they are not straightforward to me because I don't know why we use this way and how we know these operation can work. That's why I thought those might be some fixed patterns or some industry experience that I didn't have.
@@haozhao1493 Those are for making the effect the right size. They're scale multipliers. No, there's no industry standard. They're just values I used because I thought they looked right after testing them. If you want to make the effect bigger or smaller, you can change them to whatever you want.
How to only play the sheet once ?
Just clamp the input frame value so it doesn't go higher than the max. Looping uses the Frac node to make it wrap around to the beginning frame again at the end, but if you use clamp instead, it will play once and stop.
how in gods name to people find this easier than just coding it???
That's a good question. I'm glad you brought it up. Coding it is easier for sure if you know how to code and enjoy it. But there are some advantages to node-based interfaces. For those that don't know code, all of the available operations are listed in the interface so they can select them from the menu rather than needing to have all of the commands and functions memorized. Using a visual interface removes the need to concentrate on code syntax - so you don't have to worry about remembering to add a semicolon at the end of the line, for example. I've found that it's easier for me to be creative in a node-based interface because my mind can stay on the artistic side rather than being on the analytical side.
Thank you!