Right now I’m working on a spherical world build from applying material shader. Like the work Blaaguuu did on this thread https://forums.unrealengine.com/showthread.php?32076-Spherical-World-Material-Experiment
You could see the video of the world differences here that I’m making right now
Normal flat world
Spherical world after vertex transformation
also you could see the world before and after from images below
Basically what the material shader do is transforms each vertex in the flat world into spherical world via World Position Offset on material shader
Physics and navigation works normally like a flat world, since I only change the way the world renders.
Of course this has some limitations like we can’t do a loop through the world since the world is not really “wrapped”, and each object on the world must be applied by this material so it would get the “spherical” effect.
Since I applied on the material level, I need to go back and forth disabling the material when I want to place new object on the world. Since I can only place object with the precise position on a flat world.
I’m planning to move this transformation on a more low level approach, so that every object on the world get this effect without the need of applying the material, so probably do some changes in the unreal shader usf files.
I’m searching for a way to somewhat do vertex processing right after I clicked the “Play” button on the Editor, so I could place objects on the world in the “flat” state, and right after I clicked the Play button, the vertex transformation kicks in and the world render in a spherical way. This is a better workflow I believe for this kind of process.
Is BasePassVertexShader.usf the right way to start? Where do you guys think I need to do some changes on the vertex transformation?
Since I don’t really understand the rendering pipeline of unreal, I don’t know the exact place to do transformation, I hope the unreal devs could give some comments on this
Thanks for sparing your time here!