Seams between tiled textured cubes. Ask Question Asked 3 years, 8 months ago. By making the uv-tiles smaller, but it would look ugly with patterns. However, as soon as I start my game and aim up and down seams are visible again at other angles. I also tried to disable MSAA, no difference. I noticed now, if I undock the Game tab. Lincity tiles 2D axonometric graphical elements to form a 2.5D game environment. In axonometric projection and oblique projection, two forms of parallel projection, the viewpoint is rotated slightly to reveal other facets of the environment than what are visible in a top-down perspective or side view, thereby producing a three-dimensional effect.
Active1 year, 4 months ago
$begingroup$I've created a textured cube in Blender, which I have uv-mapped like this:
The tiles are 256x256, and I've mapped the coordinates exactly at the edges (e.g. x: 256, y: 512). I then export my model as an fbx-file to Unity. In Unity, if I put many cubes adjacent to each other, seams appear between the cubes, like this:
I think I understand why this happens, because the uv-coordinates are exactly on the edges, and thus two faces sample from the same points along an edge.
I could solve this in some ways:
- By making the uv-tiles smaller, but it would look ugly with patterns.
- By adding some space between the tiles in the texture, and aligning the uv-coordinates to them.
My question: is there a better proper way for achieving this?
So, about half a year later I still have issues with the seams. I've tried many things:
- Start uv-coordinates at 256.5 instead of 256, and so on...
- Turned of mipmapping.
- Set wrap mode to clamp.
- Set filter mode to point filter.
- Edge padded the texture atlas with first 4px, 8px, 16px, 32px. But still bleeding occurs at certain angles. Also updated the uv-coordinates accordingly.
- Changed my atlas to be of Power of 2 instead, i.e. 1024x1024 instead of 1024x768.
- Set 'Non Power of 2' in Unity to None so Unity doesn't rescale my texture to nearest Power of 2.
- Set texture format to Automatic Truecolor instead of Compressed.
With 32px edge padding it actually gets a lot better, but it still isn't perfect, I guess I could go on and try even more padding, but my textures will get bigger and bigger.
I understand now that it is the mip-levels that are causing the bleeding. At far distances I don't think this is a problem, but I can see this occuring just about 5-7 units away from the player, if the player is looking down.
I believe there is something trivial about this that I'm missing. This is really a showstopper for me, forever grateful to the one who helps me solve this.
Thanks in advance!
This is how I have edge padded my texture (lines not visible on real texture), the problem does not only occur when the faces has such extremes distinct difference in colors as this one. It also occurs when the faces have patterns.
Free 2d Tiles
Unresolved External
Unresolved ExternalUnresolved External
$endgroup$5 Answers
$begingroup$I would say Edge padding.
(Even if you have disabled
(Even if you have disabled
MipMaps
) If the ‘gutters’ (blank areas between UV’s) have colors/transparencies that are very different from the colors inside the UV’d areas, then those colors can ‘bleed’ together which creates seams on the model. This problem will also occur when neighbouring UV shells have different colors; as the texture is downsampled eventually those colors start to mix.
MattiasMattias
$endgroup$$begingroup$I had the same problem with a very simple labyrinth I made. I tried playing around with the quality settings (Edit > Project Settings > Quality) and switched between them. I noticed that the seams were present exclusively when it was set to either 'Beautiful' or 'Fantastic'. The main difference between Beautiful and the next best setting ('Good') was the fact that anti-aliasing (2x MSAA) was on. Turning it off for every quality setting solved the problem.
I plan on trying out another AA solution than Unity's. I read that Valve's AA (used in The Lab) is supposedly very good for VR.
(hope this helps)
Note: yes, in my labyrinth everything is vertex-snapped.
BlackRainbowBlackRainbow
$endgroup$$begingroup$
Use a separate texture for each surface of your cube. That way there is no way they can bleed into each other.
2d Aim Training
It would also be more memory-efficient to use six 256x256 textures than one 768x1024 texture, because in your large texture, 42% of the pixel-space is wasted.
It also allows you to apply different shader settings on each surface. This might be interesting when you start to use more complex materials than just single colored textures. It also allows you to highlight individual surfaces with shader properties. If you want to keep using single-colored textures, you do not need a texture at all because you can simply implement the material of each surface with a textureless material.
PhilippPhilipp87.4k2020 gold badges201201 silver badges256256 bronze badges
$endgroup$$begingroup$If you send mesh objects with different positions to the graphics card, unity's precision is not high enough and the actual vertex positions in the graphics cards, the seams, will not be the same. hence you will see seams inside the graphics card. the further you go from origin, the bigger the rounding error will be.
If you put all your cubes on 0,0,0 and instead change their vertex positions to the positions you want, and send them all to the graphics card, they will not contain seams. they will have identical object position and seam position rounding errors sent to the graphics card.
Aim Game For Fortnite
AFAIK i solved the issue after some time and puzzling, perhaps waster 50 hours to solve it, becaues i was told that my problem was inside the game engine not the graphics card.
2d Aim Game White Tiles Free
So... keep all cubes on zero zero zero, edit their vertex positions, rewrite all the vertices to the new positions you want the cubes to be in, otherwise the seam positions in the graphics card differ microscopically.
Its a weird error inside Unity that no one else than me knows about because i am a lame coder who never managed to code a game but i am basically a genious:) mark me down.
com.prehensiblecom.prehensible
$endgroup$$begingroup$I had the same problem and it was resolved by making sure Unity treat the alpha as transparency.
Click on the actual texture, in the inspector, the texture type was 'default' so I had to manually check 'Alpha is Transparency'.
BotskoNetBotskoNet
$endgroup$Not the answer you're looking for? Browse other questions tagged unitytexturesblenderuv-mapping or ask your own question.
What’s that in your crosshairs? Why, it’s another villain that you need to eliminate before it’s too late. If you want to end their reign of terror, you’re going to need to fire your weapon when the time is just right. Can you handle all of the thrills in each one of the aim and shoot games in this category? But you won’t just be aiming at tons of bad guys. You can also try out a different set of shooting skills in Soccertastic. How many goals can you make when you go up against this relentless virtual goalie? You can also pop lots of colorful balloons along with the monkey featured in Bloons or cut loose with a barrage of powerful periodicals in Newspaper Boy Brutal. You could always try knocking a piece of fruit off a volunteer’s head with a bow and arrow in Apple Shooter as well. If more explosive action is your sort of thing, there’s tons of games here that involve heavy firepower. Take out all of the targets in Sniper Elite or blast each of the road warriors that are hot on your tail in Max Fury: Death Racer. There’s an army of evil extraterrestrials waiting for you in Alien Attack and a flock of frozen birds ready to do battle with you in Crazy Penguins Wars. You can even join Bart as he blazes a trail across his animated world in Simpsons 3D Springfield. Just be to aim at the right targets in each one of these free online games.