Import from Blender objects with array there is a "line" between each duplicate

Godot Version

4.3

Question

Hello, first days learning Godot, sorry if its a basic question.

I have these objects in blender:

There are “blocks” to build levels.
I’ve created a simple procedural texture and bake it to have an image texture for these 4 objects.

image

Then I want to use them to build a level.
So I’ve duplicated one of them and use array modifier (using other blocks as Caps)
Creating something like that:

This way I can use blocks as long as I want with the same image texture.

Then I’ve copied this blender file in the folder of my Godot project.

But, when I import this file you can see some “lines” between each duplicate.

These lines are only visible from afar.
I If I zoom they disappear.

I’ve tried mark the field “Merge” in array modifier in Blender.
Also applied the modifier and delete duplicated vertex.
But these lines are always there.

Any tip ?

I’ve copied these objects and remove the materials.
Now, i’m not using a texture but a simple color.

The same lines are visible, with the array modifier active and with the array modifier applied.

1 Like

This looks like mipmap artifacts. Make sure you give all uv texture islands enough seam space, some look very close without gaps to the next island. When you look from afar Godot uses downsized and blurred texture versions, then uv islands that are too close mays bleed into one another.

2 Likes

Thanks for answer.

I think there is enough space between UV islands:

I’ve uploaded the file to this link:

In case you want to test it.

I’m trying several things but no luck.

t depends on the distance from which you look at the object, whether it looks good or bad.
Although it also looks bad up close if you use a very closed angle

I’ve gave more space between islands and rebake the texture, but same problem occurs :confused:

I see the same problem in Godot, in Blender it’s fine. The artifacts are reduced when I reimport the albedo texture lossless or VRAM compressed with high Quality mode on.

Also make sure to import the normal map lossless as compression will distort the normal data.

Those settings help, but I’m not sure if there’s another root cause we don’t see yet. Maybe somebody else has an idea. I will fiddle around a bit more and let you know if I find something else.

Maybe also try to export a gltf file manually from Blender and play with the export settings.

1 Like

Thanks for trying.

I’ve already try exporting to GLB from Blender, but with the same results.

I’m going to investigate where are the options you said:

the albedo texture lossless or VRAM compressed with high Quality mode on

I’ve just copied the .blend file and textures folder into the Godot project folder.

Thanks !

I think I’ve found the problem…

These textures are procedural textures, and bake it, but these images are not “tileable textures”, the first part of the procedural texture doesnt match with the final part in the objects.

In Blender it seems to look good, but if you look very close there is a line:

It is almost not noticeable if you look from afar (or not very close) inside Blender. But in Godot perhaps it works differently.

1 Like

Look here in the docs, per default right of the scene tab are asset import options. Select the texture in the file system dock, switch to import tab, set options and click on reimport.

What I found is when I change your texture in the generated material of your block mesh in Godot to one of my textures, the problem goes away. If I delete the texture in the material and only use albedo color, the problem is also gone. It seems it’s the texture somehow, after all. Maybe it’s the tiling seam as you suspected.

1 Like

I’ve removed the normal map in blender, so now its only a plain color without the noise texture, but the problem persist…
Maybe I need to re-bake the textures without the normal map… becausa have some effect in the diffuse channel ¿? I’l try

EDIT: Nothing, with the baked texture the problem persists.
With other material with a plain color its ok…