1 / 18

Character Customization

Character Customization. Need millions of unique individuals But, artists can only create dozens How to solve? Texture swapping Tinting Mesh splicing Mesh morphing Accessory polygons Linear scaling Bone scaling. Texture Swapping. This is much cheaper than creating a new model

Download Presentation

Character Customization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Character Customization • Need millions of unique individuals • But, artists can only create dozens • How to solve? • Texture swapping • Tinting • Mesh splicing • Mesh morphing • Accessory polygons • Linear scaling • Bone scaling

  2. Texture Swapping • This is much cheaper than creating a new model • Can segment model, swap each piece separately

  3. Character Tinting • Slice character up into sections • Colorize each section with vertex colors • Results on next slide...

  4. Character Tinting original texture tinted with GL_MODULATE tinted withphotoshop levelsdialog box

  5. Tinting with “Levels” The Photoshop “levels” dialog: Each channel (R,G,B) has Scale, Offset, Power Gives broad range of results Trivially implemented in pixel shader Just offset without scale and power ok 90% of my shadersare implementations ofphotoshop effects

  6. Tinting with Per-Pixel Alpha

  7. Character Tinting original texture tinted withphotoshop levelsdialog box tinted withGL_DECAL and a per-pixel alpha

  8. Mesh Splicing

  9. Mesh Splicing Vertices have to line up perfectly – easy They have to have same vertex weights - hard This is a problem (and your artist isn’t going to solve it) Answer: don’t model it separately. Model it as one giant hydra-like object. Make sure seam vertices are shared.

  10. Mesh Morphing I downloaded the normal head off the internet I made the witch and demon heads by moving vertices

  11. Mesh Morphing download “makehuman” // assume three global vertex arrays: witchpos, normalpos, demonposvoid makehead(float witchfactor, float demonfactor){ for (int i=0; i<NUMVERTICES; i++) { output[i] = normalpos[i]; output[i] += witchfactor * (witchpos[i] – normalpos[i]); output[i] += demonfactor * (demonpos[i] – normalpos[i]); }}

  12. Morphing vs Splicing • Important advantage of morphing: • With splicing, cannot reshape the boundaries • Cannot reshape waist (no fat characters) • Cannot reshape any other boundaries either. • No such limitations with morphing.

  13. Morphing vs Splicing II • Does artist have to do “weird stuff”? • Splicing: • Make several meshes (easy) • Make edges line up (easy) • Maintain invariant that edge vertex weights are exactly equal. • Artist must use numeric vertex weights (very inconvenient) • Or, artist must use a “shared edge” (clumsy, counterintuitive) • Morphing: • Make a mesh (easy) • Insert extra vertices in interesting areas (easy) • Clone the mesh (easy) • Now tweak the clone without adding vertices (easy)

  14. Accessory Polygons There are some things that morphing can’t do well. See image: For this, mesh splicing is better. Mesh splicing is easy when it’s not a choice of multiple meshes, only “mesh” or “no mesh.”

  15. Morphing vs Splicing II • Does artist have to do “weird stuff”? • Splicing: • Make several meshes (easy) • Make edges line up (easy) • Maintain invariant that edge vertex weights are exactly equal. • Artist must use numeric vertex weights (very inconvenient) • Or, artist must use a “shared edge” (clumsy, counterintuitive) • Morphing: • Make a mesh (easy) • Insert extra vertices in interesting areas (easy) • Clone the mesh (easy) • Now tweak the clone without adding vertices (easy)

  16. Using glScale • If scale is uniform: • Makes character look bigger, not taller. • If scale is nonuniform: • Doesn’t work. See image. • Need somethingsmarter – bonescaling.

  17. Bone-based Scaling • Normally, you think about rotating bones. • But bones are represented as matrices – • meaning, you can translate and scale as well. • and, you can do nonuniform scaling. • sims modders have discovered that it’s possible to use nonuniform scaling to create fat sims: • That’s a lot of varietyfor just tweaking a fewscaling factors. Noextra memory usage!!!

  18. City of Heroes

More Related