Kodeco Forums

Creating Snow Trails in Unreal Engine 4

In this Unreal Engine 4 tutorial, you will learn how to create deformable snow trails using a scene capture and render targets


This is a companion discussion topic for the original entry at https://www.raywenderlich.com/5760-creating-snow-trails-in-unreal-engine-4

Hi
Is this snow will work in Ubuntu OS Unreal 4.14?

Hi premsella,

Unfortunately I don’t have any experience with Unreal outside of Windows but I don’t see any reason why it wouldn’t work on Ubuntu.

Great tutorial but I couldn’t get through part where MoveOffset is created. Can you tell me how I can create that node?

MoveOffset is just a Vector 2D variable. You can expose the individual components by right-clicking its pin and selecting Split Struct Pin.

Hi Tommy

Great Tutorial, really well written and easy to follow

I’ve always been interested in knowing how to do a Splatoon/Mario Odyssey esque paint splat technique using RenderTargets to write into a material which generates it’s own Normals based on the mask?

There isn’t a step explaining to create a vector2D called MoveOffset in the "Moving the Capture in Discrete Steps" Section

Thanks! I thought I included the MoveOffset variable in the project but it seems not. I’ll update this soon.

Regarding the paint splatting, check out the dynamic mesh painting tutorial. Unfortunately I didn’t get to projecting arbitrary textures but it should give you a solid base. Also take a look at this Unity version which uses a very similar technique and supports arbitrary textures.

Wow, this tutorial is awesome. Just finished it up. MAGIC. I learned a lot.

Hi Tommy, have you tried doing this in 4.20? I have no problem replicating in 4.19 but in later engine versions there are some strange behaviors coming from the scene capture. Shapes that should appear on the render target fade out depending on their coordinates. For example, if I add a sphere to the scene and drag it along the X axis, while watching the render target, it will decrease in size, disappear and then reappear again. Have you ever experienced anything like this?

I only have 4.21 at the moment so I can’t check compatibility with 4.20 but the project seems to work fine on 4.21. Only suggestions I can give are to double check the scene capture’s rotation and projection settings.

After some further digging, it seems to be related to an issue with orthogonal cameras in 4.20. If you split your viewport into two views, one from perspective and the other as lit or unlit from the bottom orthogonal view, it’s pretty easy to find examples where the geometry intersections don’t align with each other. That’s what was happening to me. In the perspective view, two objects will be more than 500 units apart but the orthogonal camera shows them intersecting (as does the render target) and it seems to get worse as the Z value gets higher, too… very weird, took me two full days to figure out. Anyway, for now, I’ve set it aside and just cranked the offset value up to 300 and the effect works consistently, it just doesn’t look great. I’ll migrate my project to 4.21 in the near future and hopefully getting it working properly.

Thanks for a great tutorial!

Hi Tommy

outstanding tutorial, i have merged your material with the one from the procedural nature pack and it works great, oddly though when swapping the UE4 mannequin for my own character blueprint in the tutorial gamemode the trails dont show up, i have compared the settings but cannot see anything causing this.

Am i correct in thinking that any object intersecting the ground should cause a trail and that nothing is hard linked to the location of the camera. I dont see any special code on the BP_Mannequin.

Very odd,

Thanks for reading! There’s no hard linking of anything. Only objects that render to Custom Depth will cause a trail. In the project, I also have them rendering to Custom Stencil but this isn’t required, I just forgot to reset it.

Note that this effect may not work properly if you’re using Custom Depth for other effects as well. If you do have an issue, I would try adding your actors to the scene capture’s Show Only list. You can read more about that in the grass trails tutorial. I haven’t tried this though so I’m not sure if it’ll solve anything.

Hello
I would like to know if there is a possibility to have the trails slowly fill with falling snow (over time).

You should be able to use another Draw Material to Render Target to slowly fade the render target to black.

Hey there! I got this tutorial going really well all up until I changed the M_Landscape setting to allow for Tessellation. After I apply that setting, it crashes all instances of UE4 and erases any changes made to M_Landscape. This seems like a possible hardware issue or something that is rather me specific. But I just have no idea where to start looking for answers, thoughts? I’m running UE4.21.1, I have a GTX1080, all up to date on drivers. Just not sure what’s up!

@tommytran Can you please help with this when you get a chance? Thank you - much appreciated! :]

Hi Alec,

I’ve just tested it and get the same issue on 4.21.1. My guess is that the conversion from 4.19 to 4.21 corrupted something.

The issue seems to only happen when you enable tessellation after the material is already applied to the landscape. What you can do is unapply the material, enable tessellation, compile the material and then reapply it.

@tommytran first of all, thank you for this! i was wondering if there’s a way to integrate this into a landscape blend material? for example, could i add this to my existing landscape material that contains grass,rock,dirt, etc as an additional blend layer so that i could paint the snow onto mountain tops and keep the trails functionality?