Rime Dust --Help :)

Hey Guys,

I was wondering if anyone might be able to tell me how the dust in Rime can be done in UE4 - I found this vid https://youtu.be/lAYIF0lwy60?t=17m34s

Which goes into how it was made but I must be missing something because I can’t get it working in Ue4, I was wondering if you guys might be able to help?

All the best,

Brando

1 Like

He goes over the technique in the video quite well so i’m assuming you’re not super familiar with unreal 4 and you’re struggling with the execution?

basically i would start with setting up a mesh with a material on it that uses Parameters to gives you control over the type of effects he mentions in the video - mainly the Deformation and Alpha Erosion:

For the Deformation you just need to have a Noise Texture and use a Panner to move it over your mesh, then if you plug a Scalar Parameter into the Time value you’ll get something where different values gives you different shapes.

For the Alpha Erosion you again need to use a Noise Texture and a Scalar Parameter but this time add them together and the Clamp 0-1 and plug that into Opacity Mask (make sure you’re on the right blending mode.) Now if you input a value of 1 you get White everywhere, -1 you get Black everywhere, and nice random dissolving around the 0 input.

Now for the magic - replace the Scalar Parameters with Dynamic Parameters - these are values you can drive from Cascade (https://docs.unrealengine.com/latest/INT/Engine/Rendering/ParticleSystems/Reference/Modules/Parameter/ and A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums) - now you can set the Deformation Parameter to randomise on Spawn, and the Erosion Parameter to vary over the lifetime of the particle and you’re basically there! - don’'t forget that you have you set your Particle up to use a Mesh Emitter and import a Sphere mesh to use.

Hope that helps!

Tom

1 Like

What can’t you get working?

The main elements are:

  • A noise pattern on a sphere, which can be done in several ways, Simon just suggests one possible option.
  • A dissolve / erosion / alpha test shader, which is as trivial as setting the material blend mode to Masked and adjusting the alpha value up and down by +/- ~0.5.
  • Some minor lighting adjustment to fake translucency. The talk says he used a small amount of emissive, which he looks to be changing based on the scene’s ambient lighting color. I haven’t worked with Unreal recently enough to know the best way to go about doing that.

Hey Tom,

Thanks for replying, you have helped loads I have managed to get most of it working however when ever I try to add the dynamic parameter to the deformation part it freaks out and i get this message

Error [SM5] (Node DynamicParameter) Invalid node used in hull/domain shader input!

:frowning: any ideas

Thanks again!

Brandon

So basically there’s two parts to how things are rendered in a game engine - firstly it draws all the vertex positions (the vertex shader) then it fills in those vert locations with pixels (the pixel or fragment shader) - some of the nodes can’t be used in both places (until DX11 you couldnt use a texture in the Vertex Shader for example) and that’s what this error is saying i believe.

I’ve done a quick test and it’s working for me though:

Quick google looks like it might be Tesselation that’s causing issues: Is it impossible to use Particle systems input data for vertex shaders? - Rendering - Unreal Engine Forums

You shouldnt need to use dynamic tesselation tbh - just use a medium dense mesh to start with.

2 Likes

Hey Tom,

Thanks again for replying! I have no idea what I did wrong before, however I recreated the Material and it works fine now with the dynamic parameters woop! Now on the the particles system haha this should be funny :wink:

Thanks for all the help

Brando

Hey Guys, thanks for this thread, I have been recreating this as well…

Bumped into a small problem though with my mesh… it seems when I distort the sphere, the seams from the original cube I made it from seem to break apart…

Any idea why this might happen? is it something basic I am missing in 3DS Max?

I would like to solve this as well. I will post an update if I figure it out :slight_smile:

did you re-uv the mesh with a spherical wrap? or check that you have soft edges everywhere - you’ll get errors like this with either of those things (the vertex normals are split at hard edges and UV seam edges.)

you probably cant get rid of every seam but a spherical wrap should minimise it and you shouldnt be able to see it too much when its in motion and eroding etc.

1 Like

I’ve created 2 additional videos explaining a little bit more about the fire and the dust and how they’re setup in Unreal. Hope that helps :slight_smile:

https://simonschreibt.de/gat/stylized-vfx-in-rime/#update3

2 Likes

Yes I definitely used a spherical wrap, but I haven’t checked the edges so I will take a look.

@simonschreibt thanks for the videos, your GAT#65 video on youtube was really interesting and has taught me a bunch of stuff… I also took on board the comment about imperfections being lost in the full effect, once I started spawning more meshes and putting the full behaviour together for the smoke, seams were lost in all of the activity :slight_smile: very cool techniques man.

So far, I took the advice to revisit my cloud texture. I softened everything so that there wouldn’t be any extreme ( 0 or 1 ) being fed into the world position offset. Looks much better already.

First Thank you for recording this and following up with the community. Great Work!

Second, I am working on learning the technique you explain @ 39:26 Could you explain a little further on the material set up for this moving threshold.

Third, I am having a difficult time to just have a mesh plane spawn in cascade that is always camera facing. I feel like I am going insane and the solution must be right in front of me. ( I am thinking of having the alpha erosion splashes play out on these planes) I assume that if they are not locked facing the camera, the look will break with strange volume losses on the splatter at different angles.

I have solved the third issue, I had some overlapping settings that were causing some strange behavior fixed now.

Here is a link to that discussion with other users…

It’s a threshold, there’s various ways of achieving this but for now here’s an example (B input is going from 0 to 1 - Replace it with Particle Alpha for example)

1 Like

I familiar with this technique, his method seems even simpler. Lowering the values of the height map to get those drop shapes over time without extra masking using the masked blend mode. Maybe I am overthinking it, they could just be running it this way.

You could just +1/-1 to the texture and plug it into the masked input yes (and let the mask do the clipping).

Did you see this video? https://youtu.be/adF8eTdTc1I

2 Likes

I think I have a handle on this part, it’s the waterfall material I’m trying to crack now. :slight_smile: