Texture alignment on ramps now finally working
The texture alignment on ramps kept bothering me for weeks now and I finally decided to use a method that does the same as JACK’s UV lock feature. It basically just pulls the texture into the direction you’re moving the vertices to and preserves the original texture shift, while adjusting its scales to fit the new face length.
While this is the best method for texture shift preservation, it will also lead to a certain distortion, when the slope angle is very steep. The pros of that method outweigh this con though.
Compilation issues
Initially I ran into problems when I tried to compile the pipes in the upper example. I realized that this was caused by them having floating point coordinates, so I was able to compile the demo map without any compiling issues in the end, by just rounding all coordinates to integer numbers – AKA snapping them to the grid – using “round 1” during the generation process.
Doing this won’t have any noticable effect on the texture aligns or shifts, which is absolutely brilliant, because having a managable mesh is important when working in any editor. Of course this will also break any mesh with sloped but non-triangle faces. This should be kept in mind when rounding meshes that actually don’t need to be triangulated.
Alternative texture alignment
Anyway, as an alternative I also included the old method I was working on. It can be used in situations, where crossing details on the horizontal texture axis aren’t that bad, but having an upright vertical texture align is relevant for a natural look… or whatever.