Home Technical Talk

3dsmax: mirroring texture on overflowing UVs

polycounter lvl 9
Offline / Send Message
krisCrash polycounter lvl 9
Oh hello,

I want to put an UV shell so that coordinates overflowing the initial 0-1 square pick up a mirrored version of the map. I have learned this is called MIRROR, where things seem to default to WRAP (maybe CLAMP?). So, where do I enable this mirroring? Using 3dsmax 2011.

It's probably REALLY simple, but I can't find out how. It is discussed in this thread http://www.polycount.com/forum/showthread.php?t=63539 and probably many more, but even the solution
you have to turn on mirroring in the textures tiling options and then set the tiling to 0,5
just turns into a bunch of junk. I even know the tutorial referred to in the text, but like those guys I can't find it either.

Here's a picture of what I am doing, I want all those adjacent copies of the texture to mirror flip along the edge of the main texture square, so it grabs up similar pixels. Thing is, even if the coordinates along the edge are exactly 0 or 1, 3dsmax will grab mismatched pixels wrapped from the other side of the texture. It goes against my pride/logic to set it to 0,999 and that might still let mipmaps screw it up, so it's best to fix it properly.uvwhat.png

Replies

  • Quasar
    Options
    Offline / Send Message
    Quasar polycounter lvl 19
    This should do it

    mirrorUV_settings.jpg
  • krisCrash
    Options
    Offline / Send Message
    krisCrash polycounter lvl 9
    It did work to mirror, but then it also ate half the texture resolution for some reason? Probably because of tiling only half a time. It renders correctly (except for not being flat like it should, thanks max) so it must be the viewport messing up???
    resloss.png
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    Note also that it is not supported by every engine, it was used in several DS games and other low texture memory titles.
  • krisCrash
    Options
    Offline / Send Message
    krisCrash polycounter lvl 9
    I'm just doing 3D for my own entertainment or perhaps putting in a portfolio, so engine support isn't much of a worry for now. (Come to think of it, I have some Zelda Twilight Princess rips that look like they were mirrored this way, and the rippers had to duplicate the texture into a fourfold kaleidoscope to compensate). This does bring quite some hits on google for Direct3D and such, so maybe support isn't so narrow. Just no real hits for 3dsmax.

    Speaking of support, it seems like only Default Scanline Renderer does it right, MentalRay and Quicksilver both mess up completely from mirror tiling.

    I know I can press in that triangle and set everything along the edge to 0.999 but I wish there was a better solution :( 'cause I got so excited with these texel perfect UVs.
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    maybe its a driver thing, try reverting to openGL, HEIDI software renderer or DX if its not already set. And or enable DX acceleration preview for the material.
  • Quasar
    Options
    Offline / Send Message
    Quasar polycounter lvl 19
    renderhjs wrote: »
    maybe its a driver thing, try reverting to openGL, HEIDI software renderer or DX if its not already set. And or enable DX acceleration preview for the material.

    Yeah, switching to OpenGL will display the texture correctly, but your viewport will be a little sluggish. I used to do a lot of this stuff back when I was working with the Wii and DS.
  • krisCrash
    Options
    Offline / Send Message
    krisCrash polycounter lvl 9
    Reverting to OpenGL: just resulted in a loss of viewport quality and functionality, with no resolution gains for this.
    I don't have any HEIDI renderers, just the ones mentioned (and VUE file renderer).
    DX can be enabled as a plugin material (Light map or Metal Bump 9) but that's all I know.

    I see DirectX 10 still doesn't work properly, baw, so back to 9.

    On the upside I re-discovered how to make it render in flats.
    I never understood why viewport display had to be so different from the render output :(

    edit: by loss of viewport quality I mean that the OpenGL seems to be even worse at looking up pixels precisely, so now I have gaps in my model from texels that are not even outside the bitmap.
Sign In or Register to comment.