I am using gazebo to develop some optical measurement system and I have to get a good proportion for textures in the object. I made a pyramid of 25 x 12.5 mm and unwrapped a texture in order to have 1 square per millimeter, so I made a texture with a resolution of 25 x 200 (doesn't matter the height for unwrap) and using blender I set the position as the images below. enter image description here

When I open the object in Gazebo 7 it appears blurred, as the image below. Resolution of the image is 25 x 200 pixels.

enter image description here Image width 25 pixel
Object width 25 mm
Final Resolution 1 px//mm.

When I rescale the image for 250 x 2000 pixels (10 times), I get the result I wanted but I don't understand why.

enter image description here Image width 250 pixel
Object width 25 mm
Final Resolution 10 px/mm.

As it is possible to count, the height of object has 25 squares in both images, but the first case gets blured. Anyone can help me explaining why this happens?

  • $\begingroup$ Hello and welcome :). I looks a lot like some pixel interpolation for low-res textures. That would explain why hi-res textures work fine. $\endgroup$ Commented Jan 20, 2020 at 17:00
  • $\begingroup$ How-can-i-keep-low-resolution-textures-pixelated and Low-res-texture-blurry? $\endgroup$
    – user1853
    Commented Jan 20, 2020 at 18:58
  • $\begingroup$ The problem comes from Gazebo which does linear or some other sort of interpolation on the low res texture instead of using nearest neighbor. Try to find this setting in the Gazebo material options. $\endgroup$
    – Bruno
    Commented Jan 20, 2020 at 21:08

1 Answer 1


If I had to guess, based only on what the texture output looks like in the window, I would look to see if there is any type of texture filter being applied such as Gaussian and the like that is going on somewhere around the texture to uv mapping area.


Not the answer you're looking for? Browse other questions tagged .