SamuKata
umsoea
umsoea

patreon


New Rails with Smooth Curves

Hey,

Took a long time, but I think I have a few really cool new models for you. I’m sure they are the most complicated that I’ve done so far and I’m quite happy with how they turned out.

But first, I want to talk about the videos: Sadly, the redstone videos on Youtube, Tiktok and Instagram basically got no views. They performed slightly better than the forest/spruce stuff but still negligible view counts. I think the redstone was very unique and something that hasn’t been done before – so yeah idk I don’t want to blame the algorithm but I’m sure it plays a role. I started a new YT channel because I think the old one is probably impossible to revive in a reasonable time frame. It will also take some time until Youtube recommends the new channel but it’s worth a try.

Considering that the forest/spruce texture videos performed the worst so far, I decided to not make nature textures as I had planned. Making realistic rail textures seemed a good option and I’ve not seen anyone do highly detailed curved ones before. And they probably make for a good "clickbait" thumbnail (vanilla vs modded side-by-side). And the rails also contain redstone so they can be showcased together with the redstone textures.

I have a few new video ideas for showcasing the rails in interesting ways. I hope these videos will perform a bit better.

1. The Rails:

In short: The models look fairly simple but there are a lot of small tricky things that make them very difficult to model and it took way too much time – especially when optimization is a high priority. I always try to reduce the performance impact as much as possible. As always, the models are made from simple 2D planes – You can’t just import normal 3D models into Minecraft resource packs. Software used: Affinity Photo (~90%), Blender, Blockbench, Materialize

2. Style of the rails:

I feel like most of the Minecraft rail textures I’ve seen are very rusty and old, which doesn’t really fit the rest of my content. And I also wanted the redstone parts of the rails to look a bit more like modern electronics (especially detector rails). So I went for a cleaner look while still keeping the original wood+metal material combo.

3. Curves:

You might remember my curved redstone wires that went "viral" on youtube. The metal rail parts follow pretty much the same principle: It’s made of stacked horizontal 2D planes with transparent textures on it. The tricky part here is to make the textures connect nicely in all possible states (e.g. all the different block rotation combinations).

I coded a small program that bends the textures into the right shape with custom subsampling to avoid ugly interpolation issues that you’d get with typical photo/vector editing software. The tiling obviously is also tricky for the curved parts because the outer rail is longer than 1 block (circle circumference) and the inner rail is much shorter. And so the ends of the curved part also have to seamlessly connect to the straight rails but also to the other curved rail pieces.

4. Wooden planks rotation:

The corner-models (with curved rails) obviously also need rotated wooden planks/boards. It looks easy at first, even when considering the 22.5 degree rotation limit (in the pre-1.21.6 model format). But it turns out that using 22.5, 45 and 67.5 degree steps for the 3 planks looks really bad and I had to use custom rotation angles. But since I did not want to make the model for the new 1.21.6+ model format (Mojang might make changes so better stick with the old one for now) I modeled the planks with horizontal planes similar to how the curves are made. So it’s basically also "fake" geometry. But it’s barely noticeable if you don’t look too closely.

5. Intersection issues with raised rails:

The rotated wooden planks of the corner rail model go beyond the 1x1 block border. This causes multiple issues e.g. z-fighting/flickering due to multiple planes being in the same place when you build a U-shape with the rails. To fix that I split the top wooden plank layer into 2 pieces so that one of them can cover the planks of a nearby corner rail pieces. But a bigger issue is that when you place a raised rail (diagonal) that connects upwards to a corner piece, the raised one intersects with the wooden planks of the corner rail. To fix that, I cut small pieces from the rotated wooden plank layers to make the rail fit into that gap.

6. Cool 3D illusion:

The stacked planes only work well when looking at the model from the top. To make the sides look more 3D, I came up with a cool hacky illusion that I’m quite proud of: There are 4 different textures for 4 horizontal planes. The very top and bottom one are just as I described above - nothing special. The other 2 layers inbetween have a darker shade to mimic top-down lighting. The layer right below the top layer has a gradient on it that turns the "inner" part of the curve darker. This creates a cool illusion that makes it look like the top-most layer is overlapping the 2 layers below it as if the crosssection was I-beam shaped. The cool part: this fake shadow reacts to vertical camera parallax correctly: When looking down from the top, the shadow is invisible (hidden by the top-most layer) and the further you move down, the more of the 2nd layer get’s exposed → more of the shadow visible. To further enhance the illusion, the tiny details of the metal texture of these two special layers are squished towards the center-line of the rails to mimic what the detail would look like if it was a true I-beam shaped model (with a vertical center part instead of a horizontal plane). In addition, the two planes have a normal map with vectors pointing strongly outwards to the side to get the shading close to a true vertical surface.

Obviously it’s not perfect and you can easily spot the separate layers when viewing the model from the side (especially with sun shadows when using shaders). To improve that I added vertical planes on the inside (2 on each side but with FRONTface culling). Without shaders this allows for an almost perfect transition when viewing it from the side. But sadly this only works for the straight rails and not for curves….

7. Raised rail planks spacing:

With the raised version of the rails, everything get’s a bit more complicated. The main issue: The flat version has 3 wooden planks per block/meter but the raised/diagonal version obviously needs more planks to keep the spacing of the wooden planks roughly the same. But because there is lighting/shadows etc baked into the texture (more about this later) and it’s optimized for the flat version, it can’t be reused for the raised one that has 4 planks instead of 3. I had to do some subtle stretching and stitching multiple parts together to be able to reuse the same textures because adding extra textures obviously impacts performance a lot. And of course the raised versions also have to connect well to each other without visible seams. And all this also applies to powered rails, activator and detector rails.

8. PBR:

In the past my content relied heavily on PTGI’s pbr system and the textures/models were basically unusable without PTGI. Now that I’ve started using many different shaders I changed the approach: I try to make the albedo/color texture as good as possible and only add very subtle pbr effects. I also bake-in a lot of lighting features (ambient occlusion/shadows and emissions/glow e.g.: the red glow from the redstone parts). All this means that the textures/models look "good" in most cases – even if you don’t use any shaders at all. Sure, it never looks super realistic but I think it’s a good trade-off, especially for more gameplay-focused uses. I think the rails are a good example for this concept.

The metal parts are a bit shiny but no high f0 or high smoothness. And all surfaces have simple normal maps to make the details pop a bit. (just a simple luminance to pbr conversion using Materialize + blended with bigger manually painted shapes). The redstone parts that glow use labPBR emission maps, so make sure to enable labPBR emissions in your shader’s settings.

9. Shaders:

As I said, the rails are built for compatibility so they shouldn’t look too bad with any shader. My personal favorites that I used for the screenshots:- no shader- SEUS PTGI E11 and SEUS Renewed (for daylight)- Kappa v5.3 for the glowing redstone night-screenshots (enable labPBR emissions and play with the screen-space path tracing settings (SSPT/SSGI) )- Rethinking Voxels (Sadly, the rails don’t voxelize well due to their low height which results in weird shadows but overall the glowing redstone parts work very well)

10. Texture Resolutions:

This time I tried to stay quite close to the true 1x1 full block pixel density. In the past I often increased the density for the detailed models but I think for gameplay the overall pixel density should be roughly the same. From the comparison screenshots I think the sweetspot for best performance vs quality is 256x (for gameplay). And anything above 512x is only useful for cinematics. I made the rail textures in 2048x and thus I also included it in the 1024x and 2048x "R15, R16“ pack for those interested in cinematics/close-up shots. There is also an extra 2048x standalone pack on the Tier 3 download post. (only contains the rails)

DOWNLOADS: CLICK HERE

New Rails with Smooth Curves New Rails with Smooth Curves New Rails with Smooth Curves New Rails with Smooth Curves New Rails with Smooth Curves New Rails with Smooth Curves

Comments

Thanks for all your work here. Really cool. Bummed about the no nature pack but i understand with the YT views. Hope you stay with it. I just upgraded to the 3 tier

Loxzin


More Creators