Landscape Texture Import Breaking Tiles?

Hello,

I’m still very much learning many of these processes, so I’m sure I’ve messed up something simple, but I’m hoping someone will be able to point me in the right direction.

I’m attempting to import textures onto my heightmap using masks exported from Gaea. For the most part, this works just fine, however only after implementing RVTs the system seems to be taking issue with a specific layer. Here is what it looks like before I import my beach/sand layer that sits in between the grass and the ocean-


and here is what it looks like after I import the beach texture-

The texture itself is working ok and you can see that it applied to the landscape, but it also causes some tiles, even tiles that are mostly grass, to seemingly break their connection with the material. They are sub-tiles to the proxies, so it isn’t entire proxies that are affected. They follow the beach line around the map pretty loosely.

Any ideas as to what mistake I may be making are appreciated!

Possibly a material without textures in shared:wrap which is running out of samples?

That sounds like it would make sense, but this is one of those areas where I may just not know enough. Currently, in every instance within my material functions where I actually use full texture samples, I’ve made sure they are set to shared wrap. That being said, I don’t actually use the texture samples until like 5 functions deep and am dealing with texture objects in T2d format the rest of the time. From what I’ve gathered on other threads, the number of texture objects shouldn’t matter. Did I understand that correctly?

according to the stats in my material it’s only using 2 of 16 samplers so I wouldn’t think that’s it, unless the RVT messes with it?
image

Break up any obvious repetition and hard straight lines in the texture using photoshop. :slight_smile: Rules of thumb when it comes to natural environments.

Things I have tried since posting that unfortunately haven’t resolved the issue-
Exporting a new Beach Mask from Gaea to see if it was the mask file that was the problem, unfortunately not.
Using a different landscape layer in the Beach Mask import to see if it was the textures or code in that specific layer, unfortunately it wasn’t
Starting from scratch and re-importing my height map into a new level entirely, unfortunately the issue persists.

Another thing to note is that the tiles remain broken, Importing a white mask to completely replace the map’s textures doesn’t fix them. I have to delete my color layer altogether and start from the beginning (thankfully not a huge task with imports). The tiles that have gone gray don’t respond at all to texture painting manually either

Unfortunately it looks like unless I can figure this out I simply won’t be able to enable RVTs :pensive:

From your screenshot it looks like there is no texturing on the specific landscape component.

If that is the case, the only reason for it I have ever seen is running out of samples in materials that omit setting textures up as Shared:Wrap.

Now, the internal layer paint system should allow more than 3 layers and the amount of layers you reach, even with shared wrap being off, is generally dependent of the material setup.

If you have
Base color, roughness, specular, metallic, normal - all as different textures, and on top of it ypu perform some macro texturing with additional samples, or use a different sample to heightlerp, then it is totally possible to run out of samples with just 2 layers.

Common best practice is to either not use roughness, specular, metallic etc at all (often a single channel out of base color is used for scaling up roughness).
Or to Pack the channels into a single texture, to which you often also include the heightmap.

Assuming a packed texture is in play, you have 3 samples in use per layer, plus something for macrotexturing (4 samples per layer).

With that, even without shared wrap you can support up to 3 layers.

The moment you add abother color/layer into the mix, the component will break and be unable to render.

Your material report probably doesnt mean anything because its based on what you are seeing in the material preview rather than what is happening in the scene.

Im sticking to my general idea of what the problem is and doubling down on it in fact…

Review/change all of your textures nodes and let me know if i’m to win big or lose more than expected :stuck_out_tongue_winking_eye:

Thanks for the response

I can confirm that shared:wrap is in use everywhere a texture sample is present in the material, including MacroVariation maps and Perlins.

For the main textures, a base color, normal, and ORDp sample are being used, and I am only pulling Roughness and Displacement from the ORDp. (Quixel scans). I am currently not using metallic, specular, etc. although the nodes for RVTs DO ask for specular. (ETA: I am feeding in a 1vector as instructed in the Unreal Engine Documentation for this value)

A couple of key things that feel like are important to consider as well are that everything works fine with the material until I implement RVT, so all of my layers work perfectly prior to that point with no gray components. Are the rules different for RVT vs non-RVT samples?

Another is that, if I’m understanding you right, the specific components that are breaking are doing so because I’m asking them to sample too much information on that single component. If that’s what’s happening, shouldn’t the components only break when there are too many textures applied? This issue presents itself any time the beach mask is imported, even if I haven’t added in the ocean or grass layers yet, even though the beach layer has the same exact logic as the grass layer just with different texture objects feeding it

Landscape texture import breaking tiles is a common problem for users of game development software like Unity and Unreal Engine. This issue typically affects tiles that are being used to create landscapes, which break due to inaccuracies in the heightmap and texture mapping. This can cause a great deal of frustration and impede progress with game development projects. To prevent this issue, users should ensure that the texture mapping accurately reflects the height of the landscape, and they should also be mindful of industry standards and best practices when creating landscapes. Some possible solutions include modifying the heightmap of the landscape, adjusting the texture mapping, or utilizing more accurate tools for landscape creation. It is critical to note that the problem is not limited to a particular software or application, and users should troubleshoot or resolve the issue based on the specific software they are using. To resolve this issue in Unity, users may need to adjust the scale value of the terrain. In other software, the issue may require a more complex solution.