[Bf-committers] Similar Surface modifier
Roland Hess
rolandh at reed-witting.com
Thu Oct 29 15:59:20 CET 2009
Hi folks --
With Durian in progress, I wanted to share a thought I'd had with both
the artistic and development teams. Having tried to use the cloth sim a
number of times in a production capacity, one of the critical
shortcomings I've identified (and one that I'm sure you'll run into) is
the deficiencies the system has with complex clothing designs. I don't
mean high poly counts, but places where in an actual piece of clothing
the fabric is layered: cuffs, the doubled ridge of cloth that runs down
the front of an Oxford, pockets, lapels, etc.
Obviously, there are workarounds, but I have a solution that I'm not
going to have time to implement myself. I built the modifier structure
and basics, but once I realized I'd never coded with the modifier system
or dealt with mesh data directly I realized that it would require more
time than I had, and would be fairly easily accomplished by someone
already familiar with it.
I think a good solution to this problem would be a "Similar Surface"
(name for artists) or a "Hook Web" (name for devs) modifier. Simply put,
the modifier is a "bind" type one, a la the cage deformer. The user
creates a fairly simple structure upon which to run a cloth sim (or any
other deform technique, actually). Then, the user creates their "high
res" clothing, which includes all the nice things like buttons,
epaulets, cuffs, pockets, layering, etc. Clearly that would never
survive an actual cloth sim. When the user BINDS the high res clothing
to the sim'ed simpler one, the following happens:
1. For each vert in the high res, a virtual hook is created. Within the
modifier, it would be an array of hook objects (obHook). Hook data
structure is deprecated in favor of the hook modifier, but the DNA is
still there.
2. Where does the virtual hook attach? The shrink wrap "nearest point on
mesh" procedure is used to identify. Then, the verts that make up the
identified face of the underlying mesh become the vertex parents of the
virtual hook.
That's it. This would allow complex, multi-layered clothing to be driven
by an underlying cloth simulation.
From reading the DNA and modifier code, it appears that everything is
already there. We need someone who is familiar with mesh coding and
modifiers to put it together. Unless I miss my guess, the Durian team
WILL be asking for something like this in the near future.
--
Roland Hess
harkyman
More information about the Bf-committers
mailing list