• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Texture Lines Are Not Straight and Misaligned in MSFS2020

Messages
946
Hi,

What is it that causes this Misalignment in MSFS2020? Notice the screenshot:


Warpped Texture.jpg



The thing that is irritating about issues like this is that it never shows up until after it's installed in the sim. I go through all the trouble of creating the packages without knowledge of this until after it's installed into the community folder and load the sim. The thing is that these issues do not show up in Sketchup, Model Converter X, nor in Blender. Everything is straight and correct until after I load the sim, and that's when I noticed it. Why is it that this misalignment never shows up in Model Converter X and Blender, but only shows up in the sim? Yet, the textures look fine in Model Converter X and Blender when I import them.


Ken.
 
Messages
747
Country
italy
Can be a combination of too much tiling on the texture's UVs and "not wonderful" geometry (like maybe the windows and doors are obtained using booleans, and boolean creates ngos -that per se are not bad but can be pesky-). A more quad friendly way to obtain windows is using loop cut
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
32,772
Country
netherlands
I do suspect it is tiling of the texture. The MSFS package tool does optimize the texture coordinates and stores them as half precision floats. But that means you can't tile the texture too many times or accuracy is lost.

 

=rk=

Resource contributor
Messages
4,408
Country
us-washington
The thing is that these issues do not show up in Sketchup, Model Converter X, nor in Blender.

Actually it will.

UV.png


But you need to add a plugin like commercial WrapR, or the free SketchUV Mapping Tools. This tool will help you manage UV's but it does not really define the problem. Basically to prevent it, you have to stop tiling textures in Sketchup. MSFS has an algorithm to save on computing power, that prevents the excessive UV projections that Sketchup uses to tile. Imo, this is more a problem with resource allocation on the part of Asobo, than upon Sketchup for liberally consuming computational resources that should be plentiful in the 21st century.

Let me use another image to demonstrate.

Tiling.png


This is the view we see when we are mapping a texture to a face, in this case a two dimensional sign. I have used Photoshop to add UV tiling numbers as examples. I made up my own coordinate system and the first number stands for X axis displacement and the second for Y axis. The original center image is UV 0,0. You can see that if I were tiling this sign as if it were Sketchup texture "Metal Corrugated Shiny," onto a model the size and scale of yours, I would be at extremely high UV offsets between one end of the building and the other. Since MSFS refuses to compute these "typical" but large offsets, it substitutes a tile from closer to UV 0,0 and this is why we get those jagged edges.

There are several solutions. The first solution is that you can create the texture geometrically. The reason you tile textures in the first place, is to conserve resources. Despite Asobo's sometimes funky allocations of those resources in UV tiling limits, there is no similar restriction of geometric complexity, you could likely make the entire building corrugated with little penalty. Another solution is to "pre tile" your texture. It's a square building, build up an image in Photoshop or other editing software using the original Sketchup texture that covers an entire side of the building. This way you can add dirt and blemishes that are non repeating. Finally, there are ways to tile the texture properly, but they are likely resource intensive. You can create specific polygons that accept the tiled texture within MSFS limits, say 9 squares like the image above, maybe as many as 16 or 25. You can either trace those borders onto your model, or make specific "building panels" and construct your building from those. Also, the Sketchup UV tools give us some control over that as well. Bear in mind that if you use the "tracing technique," some softwares erase those lines and scramble the UV's. I think MCX is ok with it, but the Cleanup Tools plugin can't be set to "merge coplanar faces," you'll probably have to experiment.

EDIT:
Rereading Federico's comment suggests another solution. We can't really make loop cuts in Sketchup, but you can make your building face uninterrupted and as long as the windows and doors do not require indentations into the face of the building, you just place them there without merging the geometry, It should simplify the UV tiling to within MSFS limits.
 
Last edited:

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
32,772
Country
netherlands
MCX also has a special render mode that can help you to detect when there is too much tiling and distortion will appear in MSFS.
 
Messages
946
Can be a combination of too much tiling on the texture's UVs and "not wonderful" geometry (like maybe the windows and doors are obtained using booleans, and boolean creates ngos -that per se are not bad but can be pesky-). A more quad friendly way to obtain windows is using loop cut

Thanks mamu

I was thinking that it was an UV issue but wasn't for sure. There are a couple of things you need to explain. What is ngos and what do you mean by loop cut? Is a loop cut where one punches holes into the face?

Ken.
 
Messages
747
Country
italy
Thanks mamu

I was thinking that it was an UV issue but wasn't for sure. There are a couple of things you need to explain. What is ngos and what do you mean by loop cut? Is a loop cut where one punches holes into the face?

Ken.
Ngos are faces in your geometry with 5 vertices of more.
Your graphic card needs triangles: if you give her triangles, she's fine and render them as is. If give her quads (faces with 4 verteces), she will split in half.
Everything above 4 needs two or more triangles and you will never know where she will make the cuts. Again, per se is not a big issue, modern graphic engine can handle them pretty good.
Msfs may not like them. Sure it doesn't like to much scaled UVs


A loop cut (in Blender) is a method to split a quad in half (vertically or horizontally). edge loops exist in 3ds max too. It will go along the whole geometry (yellow in the picture 1 is a loop cut)

In picture 2 both vertical and horizontal loop cuts has been applied to the mesh in order to make room to punch in the windows (extruded inwards). All the faces are quads

Hope that helps

(If you modelling with SketchUp see Rick suggestion above!)

de20d3c2d65585d4b8fdccca18fb7f71.jpg
ef8cd1066144233c9b2a230807281a9f.jpg


Inviato dal mio Mi 9 Lite utilizzando Tapatalk
 
Messages
946
Actually it will.

View attachment 90659

But you need to add a plugin like commercial WrapR, or the free SketchUV Mapping Tools. This tool will help you manage UV's but it does not really define the problem. Basically to prevent it, you have to stop tiling textures in Sketchup. MSFS has an algorithm to save on computing power, that prevents the excessive UV projections that Sketchup uses to tile. Imo, this is more a problem with resource allocation on the part of Asobo, than upon Sketchup for liberally consuming computational resources that should be plentiful in the 21st century.

Let me use another image to demonstrate.

View attachment 90660 ;

This is the view we see when we are mapping a texture to a face, in this case a two dimensional sign. I have used Photoshop to add UV tiling numbers as examples. I made up my own coordinate system and the first number stands for X axis displacement and the second for Y axis. The original center image is UV 0,0. You can see that if I were tiling this sign as if it were Sketchup texture "Metal Corrugated Shiny," onto a model the size and scale of yours, I would be at extremely high UV offsets between one end of the building and the other. Since MSFS refuses to compute these "typical" but large offsets, it substitutes a tile from closer to UV 0,0 and this is why we get those jagged edges.

There are several solutions. The first solution is that you can create the texture geometrically. The reason you tile textures in the first place, is to conserve resources. Despite Asobo's sometimes funky allocations of those resources in UV tiling limits, there is no similar restriction of geometric complexity, you could likely make the entire building corrugated with little penalty. Another solution is to "pre tile" your texture. It's a square building, build up an image in Photoshop or other editing software using the original Sketchup texture that covers an entire side of the building. This way you can add dirt and blemishes that are non repeating. Finally, there are ways to tile the texture properly, but they are likely resource intensive. You can create specific polygons that accept the tiled texture within MSFS limits, say 9 squares like the image above, maybe as many as 16 or 25. You can either trace those borders onto your model, or make specific "building panels" and construct your building from those. Also, the Sketchup UV tools give us some control over that as well. Bear in mind that if you use the "tracing technique," some softwares erase those lines and scramble the UV's. I think MCX is ok with it, but the Cleanup Tools plugin can't be set to "merge coplanar faces," you'll probably have to experiment.

EDIT:
Rereading Federico's comment suggests another solution. We can't really make loop cuts in Sketchup, but you can make your building face uninterrupted and as long as the windows and doors do not require indentations into the face of the building, you just place them there without merging the geometry, It should simplify the UV tiling to within MSFS limits.


Hi Rick,

Thanks so much for explaining this problem. You mentioned that the SketchUVTool would help manage UVs. I have it installed now and opened my projection containing the issue. As I've said, Sketchup doesn't show a problem and the everything around the building looks fine. But I'm not sure how to use that tool and how it helps me to manage UVs. I've tried it but it doesn't tell me anything. Can the tool be used after the model is completed or is it just to help me manage the UVs while working? The one thing I don't understand is that what do you exatly mean when you said that I need to stop tiling textures, or what does it mean to tile textures? Does that mean I'm applying the same texture onto a face too many times using the same texture? I don't recall doing that.

Let me explain exactly what I've been doing, and maybe this might explain things. Some times, I use the actual photos in google earth to apply these textures, if they look good. A lot of times, I have to crop them and straigten the images. If therer is no photo image and have to use the lidar image, which most of the time looks sloppy, I would import the image into Sketchup and apply it to the face. I use this as a reference to trace where doors, windows, and other things go. I draw them out and then apply my own textures that come with Sketchup. After I have done that, I delete the texture that I imported using the Paint Bucket. One thing I did was that I created a new material using the "Metal Corrugated Shiney" and renamed it so that I could make it darker without affecting the other original texture. Then I use the doors, I've already applied to the face, and apply it to another location that has the same doors. It's strange why 3 of the sides were not affected but it was only that one side, and I've done everything the same way on all sides. The one thing I guess I should mention is that when I apply the texture "Metal Corrugated Shiney," I use the eyedropper to apply the texture onto each side because I have it the size I want. When I select that texture directly, it's way too small and would have to re-size it every time. So, I just use the eyedropper so that they reamin the same size. I didn't know if it was okay to do that. The one thing I have to do is to import my model into Model Converter X so that I can set the powers of 2. But the one thing I wonder is that since these textures are for MSFS2020, should I use the button for Power of 4s or is it okay to use power of 2s? All the other models I've created worked fine using power of 2s. Once again, thanks for explaining these things.

Ken.
 
Messages
946
Ngos are faces in your geometry with 5 vertices of more.
Your graphic card needs triangles: if you give her triangles, she's fine and render them as is. If give her quads (faces with 4 verteces), she will split in half.
Everything above 4 needs two or more triangles and you will never know where she will make the cuts. Again, per se is not a big issue, modern graphic engine can handle them pretty good.
Msfs may not like them. Sure it doesn't like to much scaled UVs


A loop cut (in Blender) is a method to split a quad in half (vertically or horizontally). edge loops exist in 3ds max too. It will go along the whole geometry (yellow in the picture 1 is a loop cut)

In picture 2 both vertical and horizontal loop cuts has been applied to the mesh in order to make room to punch in the windows (extruded inwards). All the faces are quads

Hope that helps

(If you modelling with SketchUp see Rick suggestion above!)

de20d3c2d65585d4b8fdccca18fb7f71.jpg
ef8cd1066144233c9b2a230807281a9f.jpg


Inviato dal mio Mi 9 Lite utilizzando Tapatalk


Yes, I'm making these models in Sketchup, not Blender. The only reason I use Blender is to export the files and textures needed for MSFS2020
 

=rk=

Resource contributor
Messages
4,408
Country
us-washington
I apply my own textures that come with Sketchup.
Ok, this is the point when textures get tiled. If you look at the "STOP contact control" image above, you can probably imagine how it would look tiled across your building, it would look like stacked bricks with writing on them. If you increased the size of the texture in relation to the building, you could eliminate the stacked bricks look, but the building would still have giant writing on it. Now imagine the STOP texture as the Metal_Corrugated_Shiny. If you kept it small, there would be dozens of repetitions, which MSFS does not like and if you "zoomed" it, the lines would be big stripes. Sketchup is one of the only 3d programs that performs that nice automatic tiling and it can be addicting.

I'm not sure how to use that tool and how it helps me to manage UVs.
The SketchUV tool allows you to see the projection of your model and also adjust it with the patterned texture template. In truth, we can do the same thing with the colored pins and I'm sure you've seen your texture projection slide into the "pit of hell" if you move the yellow pin the wrong way. Once you set a projection the model retains that regardless of the particular texture assigned. For some people the tool useful and it probably has other abilities I don't even know about.
The one thing I have to do is to import my model into Model Converter X so that I can set the powers of 2. But the one thing I wonder is that since these textures are for MSFS2020, should I use the button for Power of 4s or is it okay to use power of 2s? All the other models I've created worked fine using power of 2s. Once again, thanks for explaining these things.
Power of 4 is the more demanding ratio, all power of two textures are also power of four, not the reverse and power of four is closer to whatever original aspect ratio the image had. Power of four warps the image less. In regard to MCX, Arno reminded us of the "texture distortion render mode," he wrote an algorithm specifically to restore the missing UV offsets. For me it works about 80 or 90% of the time and it has repaired much more complex models than this. You had commented that MCX does not show the problem and indeed it absolutely does, all Sketchup models should at least be examined in distortion render mode and addressed as necessary. I should have remembered this earlier, I've been obsessing with a 3ds Max project and not using MCX much lately, so sorry about forgetting to mention it.

distortion.png
 
Messages
7,450
Country
us-illinois
Hi Ken:

This reply is a month late for the topic of discussion above, but AFAIK, you may wish to review these threads:


https://www.fsdeveloper.com/forum/threads/material-colors-not-displaying-in-msfs.453561/post-890748


A possible solution in Sketchup, is to make textures "Unique" so that they are trimmed to fit exactly onto Faces.

When we use "Make Unique Texture", mapped Materials that are 'self-tiling' become a 1-piece raster texture image ...re-mapped onto the Face.

Note that Materials which are either default Sketchup Colors or Texture images, or custom Colors or Texture images ...can be "Combined".

Both Colors and/or texture images that are 'self-tiling' become a 1-piece raster texture image ...re-mapped (automatically) onto the Face.

Thus, adjacent co-planar Faces with a Color and a texture image merge to become a 1-piece raster texture image ...re-mapped onto a Face.

All of a combined / tiled image within a UV area is 'mapped' to UV coordinates 0,0; parts of a image outside a UV map area are deleted.


IMHO, adjacent co-planar Faces with Unique Textures and compatible Material attributes ...should be merged via "Combine Textures".


CAVEAT: Use of "Combine Textures" with 'unique' textures depends on Material attributes of each Face UV mapped via "Make Unique Texture".

For example, a Window Pane with a specular shine and transparency should not be merged with a surrounding opaque, non-specular wall. :alert:


PS: Regarding a "Loop Cut" operation in Sketchup, see this thread: :idea:

https://forums.sketchup.com/t/loop-cut-tool/178598

GaryGB
 
Last edited:
Top