Advanced Custom Texture Editing - Texture File Scaling Cheat Sheet

Prox_xima

TEAM HAWK
Atlas
Under Pressure
Registered
#1
Good day to everyone,


I posted this a moment ago in the discord server, and I thought I'd drop it here to for anyone who wants to use it. Plus it's easier to find on here! This is an explanation-board / study of all the wonderful variables you can alter when scaling a custom texture. These variables can be found in the color texture, shape texture, and shadow texture files, so just imagine the near-endless texture possibilities you can get from screwing with them all!!

Couldn't find this in the pins anywhere so my apologies if it has been done before. It took a bit of experimentation, but I had to make it for an upcoming texture project. Might provide a visual example sheet soon for each variable. Please excuse the dry-as-toast tone

BP Scaling Detail.png


Not sure if advanced custom texture editing will make much of a splash, but to whom it may concern, I hope this helps.



Cheers [TEA]
 

Prox_xima

TEAM HAWK
Atlas
Under Pressure
Registered
#2
Well, it's pinned now, so let me earn my place up here. I would like to make one correction to an error I found when making the shapes pack.

This bit here, is wrong:
UntitledEditingChange.png


Setting the final segment's "height" value to "Infinity" is the complicated option:

It will stretch your segment image vertical bound to infinity, which has different effects depending on which "mode" setting is applied to the segment. In "mode": 0, the image is infinitely tall, essentially stretching the bottom row of pixels upward to be the only thing visible within the segment. In "mode": 1, the results are the same, unless you set the "logoHeightPercent" value to 0.0, in which case some or all of the image should be visible, with the bottom edge of the image anchored to the bottom edge of the segment. In "mode": 2, the image is visible and anchored to the bottom segment edge, with its tiling repeated upward and vertical scaling determined by the "size" and "sizeMode" settings.



A much simpler option would be to set the final segment's "height" value to -0.0

This sets the top segment edge to the top part edge. That's it. Simple. In this case, the last segment starts right after the previous segment, and ends at the top part edge, so it is much easier to stretch/scale the image if needed. I know, it looks wrong having a negative zero, but it works.



Here is a comparison of what these settings look like, between the base-game "R Stripes" texture & a custom "Pipes" texture. The "Infinity" method works well for the top segment of "R Stripes" because its referenced image only varies horizontally, with the same pattern of pixels throughout its height; ergo it will not matter if the image gets infinitely stretched upward because the resulting render will look the same.
SegmentBorderComparison.png

RStripesDetail.png

PipesMidDetail.png


The segments parameters for textures are such a cool feature to me. I hope this makes it a little more clear for those interested in using it.

[TEA]