[Tutorial] Deforming snow (and potentially mud) in Unreal Engine 4

I thought to post this here since I have seen a lot of questions and topics about it around the place. Wanting to just put it in a central place for easier to find.
It is my own tutorial and findings on how to make this deformable snow in UE4.
If anyone have any suggestions or questions, just ask. I wasn’t sure if I should have shorten the video or maybe put in some time tags for easier to find, any suggestions are gladly taken.
Anyone who knows of any other tutorials or showing of something similar, feel free to post it. Would be happy to see alternative ways of doing this.
This is all done with blueprints, as I don’t know and don’t understand unreal’s C++ implementation. Dose not want to work with me, or else I would have tried to get Orthographic render for the 2D capture. So if anyone can show or explain how to do that, then that would make me very happy.

Now for the tutorial:

And for the work file if anyone want to play around with the setup Dropbox - File Deleted (If there is any problems, don’t hesitate to ask)

I also made a second small tutorial for dynamic tessellation. Though this is not original and I got it from this amazing person: 3D Modeling & Texturing: [UE4] Manual Distance Based Tessellation
But here is a visual tutorial that shows how it connects with the snow:
Unreal Engine 4 - Dynamic Tessellation Tutorial - YouTube

First post on here so hope the post is all good and not a double post from somewhere else.

I just posted a few days ago about this. thanks! hopefully this will give me a push in the right direction for my game.

word of advice after watching for a few moments, you really should use a microphone and talk vs typing on a notepad in the video.

I hope it helps. And yea I know but I really do hate my voice, and even more so when I talk English. Sounds like Im the worst English speaker out there. But if I make more I might do it. But wont be much editing.
But happy to help

Excellent video, terrible music. Nothing worse than hoping for voice only to get distracting music. :stuck_out_tongue: Thank god for the mute button. And if me complaining doesn’t sound like it…I really appreciate what you did here. :smiley:

xD Well we all have different tastes. But yea sorry about that. I really can’t deal with my voice. But I thought people wanted to know. So yea mute is there for a good reason.
Glad to hear that you got something good out of it. And do post screenshots or videos showing any kind of cool stuff with it ^^ Would love to see some cool uses. I’m no master at this so seeing more advanced things would be awesome :smiley:

actually I can’t even watch the video because of the embedded music (German laws) :eek:

Yea I was afraid of that. Either VPN or I can upload it to a different site maybe? I think Vimeo should be accessible and doesn’t have those restrictions. I could also upload one without the music. What would work best for you?

Also do say if you can see the description of the video or not. Since if you can then I could put the link in there too.

I can see the description, yes.
any alternative would work for me I guess. thanks!

Just get rid of the music. Unless you’re going to talk through the tutorial, keeping sounds is just a waste of bandwidth :wink:

Eh whatever :stuck_out_tongue: It doesn’t use much for music. I tried out the remove the copyrighted music and now it says it dose not have the restriction.
But yea if I make another one I will make sure to talk. First video tutorial so live and learn ^^

I got rid of the music tracks that where problematic and the youtube video should work now
Dose it work for you Chosker?

it works now, yes.
I cannot comment on the tutorial atm, I’ll watch through it when I have some more time.
but at least I can watch it now, so double thanks :slight_smile:

Your welcome ^^

Don’t worry, almost EVERYBODY dislikes their own voice at first when having it recorded.
But honestly, no one here will give a strange accent much thought, especially when getting such useful tutorials.

Just try to speak clearly and it’ll be alright.

Your right, its more I have heard my own voice through others when on voice chat and its way too crincy. But I know I could have done it without editing after enough tries. I did that video alone a few times already. But yea firs time, next time I will go over to voice if it becomes a next time.

Just gonna say I added a link to work files if anyone are interested.

awesome! how hard it could be to use the same methodology to deform an object, for example?

I would say not too difficult. Depends. Main problem is that this way mostly only works with close to flat objects. But you could parent the 2D camera to an object so it always faced that object from a certain angle.
If Unreal just would have a way to actually paint in real time then it would be so much easier xD Just saw this https://www.youtube.com/watch?v=dhIxY6G-UHE&feature=youtu.be And there is no way that they used tons of decals for that. So I hope that Epic gives us a nice way to apply a material that can be painted in. If so then it would be super easy, but as it stands, its a bit harder and youd need to split up the object to the different sides you want to apply the effect on. I would say there is probably better and easier ways to do it but I wouldn’t know.

The normal way is to check how much damage it have taken and maybe from which side, then apply a pre-deformed object that replaces the clean good one.

Thank you for the tutorial! I’m trying similar approach for the tank track prints and got something that you might find useful. You can calculate the “size” of your SceneCapture from the FOV angle and distance to the plane:

ZOffset is the distance between scene capture and “ground” level where texture need to be placed. To minimize perspective distortion, if you get issues with it, you can set a very small FOV, like 2-5 degrees and just move SceneCapture much higher to cover the same area.

Oh awesome. I do wish I could remember all the nice math tricks. But sadly there is too many complicated things for me. I do really like math, so thanks for sharing :smiley: Still I wish there was a way to actually paint directly on the surface. And use direct UV space of the ground instead of world space.
Glad you got use out of it. Hope to see some screenshots of that.

To be honest, it’s not working too well on the landscape which is not covered with snow but rather sand :slight_smile: What I mean by this is that I can’t render decals without landscape but with landscape they are mixing with landscape albedo color and then I can’t cleanly get prints out of SceneCapture.
I’m just doing a prototyping now as proof of concept and most likely I’ll have to make a copy of the landscape, with a completely black material, under the main landscape, just to place white decals as a mask.

Did you used content of alpha channel of Scene Capture? Cause for me it’s all black, nothing is getting rendered into it.

The better approach is a custom shader to render both landscape and decals, on demand into a different render target, outside of the main render pass but that requires some C++ code so won’t work with just a native version of the engine.