Splatz McGee: I wouldn't exactly call it a failure!
This project has been an exercise to say the least.

The basic parameters of the project were as follows:
     Use a dynamic material object. The paintball splatter satisfied those requirements.
     Use a procedural mesh object. The terrain is a procedurally generated mesh.
     Use a dynamic material shader. The color of the terrain is a dynamic shader.
           It is not yet functioning as designed and is in a temporary state to monitor changes.

The basic parameters of the exercise were met, but this project was supposed to be so much more. I have been studying the Unreal Engine and this project off an on since it was submitted for a grade. I really want to crack this problem that I have created for myself.

There are a few goals for this project for me to be satisfied and to call it a success. While the paint ball splatters are working the color is randomized. Ideally a player should get to choose what color their paintballs are. The splatter patterns are random as they should be, however I had the intent that they would "drip" after contact.
The procedural landscape works very well. I am happy with that. The final program will have controls to adjust the parameters such as how high are the peaks, how many, ragged or smooth etc.
This is the noise map generated to create this landscape.
That is basically where the successes end and the "opportunities" begin.

Since I have gotten this far I started to focus on the major problem. The dynamic landscape shader. No matter what I try  I cannot get the landscapes vertex information to the shader. Completely exhausting all Unreal documentation, several forums, a myriad of tutorials, and iteration after iteration I have still been unable to figure out how to get the data of the procedural mesh to the shader.

I have discovered one avenue that may lead to the answer but I can find little to no information. Apparently I have to set up a VertexFactory structure and interface with that inside the shader. That is all the information I can find on the topic. I am pretty sure that I am on the correct track though because I inquired about this on a forum and received a reply that this information could be considered proprietary and is not likely to be given out. I am currently scrubbing the Unreal Engine files to see if there is an example inside the engine on how to do this.
Splatz McGee
Published:

Splatz McGee

Published: