Need to have a catchy title...
Anyway, in order to be able to create my own painted lines patterns I tried to make some sense of the confusing mess that it is. The main goal was to figure out the mapping of the different line styles between the ground/target texture and the "optional material" texture. But I made some additional observations in the progress.
Here is the raw data for reference (explanation afterwards):
View attachment 69021
1. To analyze the mapping on the material texture I generated a measurement texture (2048x2048) with a binary color pattern (see below). Every vertical column of pixels has a unique color sequence. Tracing down both edges of each line style I tried to find out the exact column in the texture. Because of downsampling this is sometimes not precise but just a best guess.
This resulted in the data in column "texture 2048" in the table.
2. Using a meter rule texture (see below) and a square apron I measured the width of each line style as well as the length until the texture repeats. Again, because of downsampling this might not be totally accurate when we get to centimeter level (especially the width).
This resulted in the data in column "world" in the table.
3. If lines should have a texture instead of just a solid color (frayed edges, weathered paint...) the resolution might become a deciding factor as well. Combining the data of "texture 2048" and "world" shows the resolution of the texture in the real world. Note that the pixels are never square (ratio), so this might have to be compensated for.
This resulted in the data in column "resolution" in the table.
4. The lines don't seem to get rendered straight out of the 2048 texture onto the ground. There seems to be an intermediate texture which already applies some downsampling in most cases. The downsampling factor again is "best guess" for most line styles. So far I have not evaluated whether this downsampling also applies lengthwise. But in any case this means that the 2048 texture is overdefined for most line styles. The effective usable resolution can be much lower.
When it comes to the rendering pass on the ground/target texture, the ground texture's resolution also enters the equation. My observation with the meter rule texture's rendering is, that the ground texture must have a pixel size of roughly 3-4 cm. I think there is a LOD with pixel size 3.75cm (20?, 21?). So I made an additional column to relate (effective) source texture pixels to ground texture pixels.
This date is in the "intermediate texture" and "effective resolution" columns in the table.
5. From the mapping data I generated a transparent layer showing the boundaries, that can be used when painting line textures - but haven't used it in practice yet. See below.
Have fun! (I hope this helps somebody)
Additional observations:
- The ortho-lines seem to be hardcoded yellow (or always refer to the default texture).
- HOLD-SHORT lines have a special behaviour: no curving, length only in increments (ca. 0.9 + n * 1.8m)
- The "asobo runway marks" alternative texture is only 64x64. The default texture is 512x512. So the mapping seems to scale nicely. If a solid linestyle in a particular colour with one of the given widths is needed a very simple 64x64 texture (or even smaller?) filled with that colour might just do the job.
- About the intermediate texture downsampling: The pattern in every row consists of complimentary colours which means downsampling eventually results in a flat 50% gray. Downsampling naturally occurs when rendering on the ground texture. But: there is then a moiré effect visible, at least in the milder downsampling factors. With the lines there is often a suspicious jump to a very flat gray (very apparent in the red lines) which hints at the existence of intermediate textures. The screenshot below shows three examples:
- WIDE_WHITE (pattern visible to the last pixel, hence the source pixel to ground pixel ratio of exactly 1.0)
- some Style, where the last three pattern seem to have been downsampled to gray (potentially in intermediate texture). The 4th-last pattern shows the moiré. So possibly factor 8 downsampling.
- WIDE_RED (clearly downsampled pre-rendering for the last 4 patterns - equals factor 16)
View attachment 69025
Reference Pictures:
View attachment 69022
The measurement pattern
View attachment 69023
Transparent layer with line style positions (2048x2048). More sizes as attachments below.
View attachment 69024
Square meter measurement texture