Is it possible to get vertex velocity attribute from material blueprint?

Program’s like houdini could allow user to create and maintain a vertex velocity attribute, so it (the velocity attribute) could be used to add fancy effect to shader.
Could Unreal do that?
There are also other attribute such as life, force and other customized attribute.

If I remember correct we can only access color and normal and uv attrbute from material graph right now.

Can use UVs (multiple sets), vertex colors, and textures (similar to a Vertex Animation Texture) to store extra data for vertices.

are your vertices being displaced by the shader? if not their velocity would just be the mesh’s velocity + any rotational velocity, which can be calculated fairly easily. If they are being displaced then ZacD’s answer seems a more interesting approach.

Also, while Unreal does not allow any way to access previous frame information in your shaders via nodes or HLSL, you do have access to the Velocity vector via post process materials.

If your issue is an animated mesh with different moving parts where you want to calculate velocity specifically per-vertex instead of just the mesh, you’ll probably have the most luck going with a baked vertex animation texture.

That being said, there is a PreviousFrameSwitch node. My understanding is that it’s very limited in uses and you can’t actually read previous frame data from it, but I would love someone to prove me wrong. Maybe something like this??

Another potential option is to potentially use a render target to store previous frame information. In your material, you could compare the render target to your current frame to get velocity.