>>I’m not too sure how I could drive a material to change on impact, but wouldn’t it be the same? Meaning that even if it deformed it would have to know the normal of the plane it hit and the current rotation of the mesh itself.
I think currently you will have to use your blueprint to pass any information about its motion to the material.
All you need to store a variable for the position of the projectile at your previous frame and Subtract the current position from that. The result will be a motion vector. If you also store a variable for the heading last frame, you can tell when there was a collision in the material by doing dot product of the current and previous vector. You’d need some threshold value for whats enough of a course correction to be considered a bounce. In addition if you track previous speed you will know the acceleration of the object and do stuff like flatten on deceleration instead of lengthen.
You would subtract these vectors and create a material instance dynamic for the projectile and tell the material about them via the “Set VectorParameter” nodes.