Home Technical Talk

DS - Optimization

polycounter lvl 19
Offline / Send Message
dur23 polycounter lvl 19
This is my first tutorial i've written in ages.

Ds_optimization01.gif

I know there are some way to use even less of the UV space for optimization (the 'ol reduce, reuse and recycle). But for this tutorial i wanted to just show a nice clean model with nice clean UVs that are easily readable. Something that is kind of a rarity in these parts (DS parts that is).

I even use that mirror UV system on most of my faces I make for the DS, it's a life saver i tell yuhs.

Anyways hope it was useful for some folks.

Heres the sources, play if you'd like: http://www.20threed.com/images/tuts/ds_optimization/m1_opt.zip

ciao

Replies

  • Sage
    Options
    Offline / Send Message
    Sage polycounter lvl 19
    Very nice Dur23! Thanks you for taking the time to make this,all for all your feedback. Kick Arse!;)

    Alex
  • Sage
    Options
    Offline / Send Message
    Sage polycounter lvl 19
    Dur23 how do you set up the texture so it mirrors as you have it in your render?

    Alex
  • dur23
    Options
    Offline / Send Message
    dur23 polycounter lvl 19
    What software are you using?
  • odium
    Options
    Offline / Send Message
    odium polycounter lvl 18
    dur23, I dont quite think thats correct mate. You seem to be looking at it a little wrong. Look at the texture UV as a tile-like surface, constantly repeating the same image. In other words, unless the engine has support for this coded in (none that I know of do) it wont work.
  • PolyPutty
    Options
    Offline / Send Message
    Great Post, I too would like to see you go into a little more depth in your technique for UV mapping. It doesn't seem like it would work. Maybe in the 3d package it does, but I don't see it working in a game engine.
  • rooster
    Options
    Offline / Send Message
    rooster mod
    it sounds a lot like he has used it before so I would assume its somethig that you can ask the coders for
  • Sage
    Options
    Offline / Send Message
    Sage polycounter lvl 19
    Dur23 I can't do this in XSI or Max. wink.gif It be great to learn how. Thanks.

    Alex
  • Xenobond
    Options
    Offline / Send Message
    Xenobond polycounter lvl 18
    In Max, at least-
    max_mirror_maps.jpg
    max_mirror_maps.jpg
  • dur23
    Options
    Offline / Send Message
    dur23 polycounter lvl 19
    Sage: Sure you can do this in both max and xsi.
    In xsi: Go into the texture_projection_def. Make sure wrapping on U,V and W are on. Set the translation of your coordinates for U,V and W to 1 for each. Then open up your "image node" for the texture, go to the advanced tab and click the "alternate" icons so that the ones on the right are selected. That should get it done for you.

    For max: Do as xenobond said and click those to Mirror check marks. But because sometimes max is a silly bitch (they all are sometimes) you have to set the offset and tiling to 0.5 in each of the U and V values.

    Odium and polyputty: You surely can get this to work in game. I don't know if it has something to do with engine entirely, because both xsi and max do this mirroring way differently than in maya. Maya it's just two simple buttons and it's done. Both max and xsi do need to be offset to get the mirroring to fit the uv's.
  • PolyPutty
    Options
    Offline / Send Message
    thanks this post is really going to improve my efficency, pure gold this post. how do you get UV's to work in maya I can't seem to get it to work? how to you get them to mirror the same edge side versus the default opposing edge?
  • Sage
    Options
    Offline / Send Message
    Sage polycounter lvl 19
    Heh, cool this is great stuff! I did play with that stuff but I didn't see any useful changes when I did, and as you said max can be a bit of a "silly bitch" at times for certain things. I guess I gave up to early. Does anyone do this kind of setup for normal mapping, it seems like it can do wonders. I didn't put in the correct off set values in either program but I got pretty close. wink.gif to throwing the machine out the window. wink.gif Thanks again Xenobond and Dur23.

    Alex
  • dur23
    Options
    Offline / Send Message
    dur23 polycounter lvl 19
    Sage: Im not sure, did you just say you couldn't get it to work?

    PolyPutty: I'll get back to you in the morning when i have maya in front of me. It should be in the texture placement tab for your model. But i don't have that app here at home.
  • Sage
    Options
    Offline / Send Message
    Sage polycounter lvl 19
    Yes I got it to work with your settings.Texturing this now is a breeze. wink.gifI plan to have a close to finished tank by tomorrow. Thanks for all the help.

    Alex
  • SHEPEIRO
    Options
    Offline / Send Message
    SHEPEIRO polycounter lvl 17
    cool thread never thought about doing it that way for ds stuff =]
  • Xenobond
    Options
    Offline / Send Message
    Xenobond polycounter lvl 18
    Sage, with this technique & normalmapping- it'd really depend on the game engine this goes into. The DS has this feature built into its hardware (N64 had this too) Mostly to help save on poly and texture usage, as well as help out with texture repetition. I don't think know if this would work with normalmapping, and I think it would have problems resolving the inverted normals from the mirrored texture. You might be able to get your dx shader to resolve this for you though.
  • PolyPutty
    Options
    Offline / Send Message
    Ok I found it in the texture placement tab, but everytime I enable Mirroring it kills my resolution of my texture in the view ports. Anyone know what is going on?
  • dur23
    Options
    Offline / Send Message
    dur23 polycounter lvl 19
    What version are you using?
  • JordanW
    Options
    Offline / Send Message
    JordanW polycounter lvl 19
    A small note about using this with normal mapping, sadly I don't think it would work because the way mirrored UVs work with normal maps is that when it's finding out all of the tangent and bi-tangent junk it has to split the verts on the seam of the mirror and invert the tangent for that flipped surface so not having that mirror seam in geometry might cause problems.
  • LoTekK
    Options
    Offline / Send Message
    LoTekK polycounter lvl 17
    Xenobond, when you say it's built into hardware, do you mean it's enabled by default in the 3d engine, or does it have to be enabled somehow? (speaking in terms of homebrew here)
  • odium
    Options
    Offline / Send Message
    odium polycounter lvl 18
    Hold on, its just dawned on me... DS level graphics? With normal mapping...? Why? What would the benefit be, even IF the hardware could support it...?
  • rooster
    Options
    Offline / Send Message
    rooster mod
    he means the mirroring trick not the ds spec
  • PolyPutty
    Options
    Offline / Send Message
    [ QUOTE ]
    What version are you using?

    [/ QUOTE ]
    I am using 7.0
  • obson
    Options
    Offline / Send Message
    obson polycounter lvl 17
    [ QUOTE ]
    Ok I found it in the texture placement tab, but everytime I enable Mirroring it kills my resolution of my texture in the view ports. Anyone know what is going on?

    [/ QUOTE ]

    Was anyone able to figure this out? I'm getting this also, using max 8.

    edit: Switching the display mode to OpenGL seems to fix it.
  • [HP]
    Options
    Offline / Send Message
    [HP] polycounter lvl 13
  • Andreas
    Options
    Offline / Send Message
    Andreas polycounter lvl 11
    A really great technique to keep in mind dur, thank you! I will definitely be using this in the near future.
Sign In or Register to comment.