Fluff Piece: Here's How An SL Designer Is Using Materials To Tackle One of The Biggest Challenges In 3D Modelling
Fur. Fluff. Fuzz. Whatever you want to call it, it's a simple part of reality that is among the hardest things to replicate digitally. Getting confincing looking fluffiness that works on more than just one carefully selected angle is a real challenge, and it's one that's plagued 3D artists both inside and outside of SL. That's why Damien Fate's latest project stood out to me. Starting with a plain little puffball for the tail-end of his new bunny pyjamas, he's used SL Materials (A.K.A. normal mapping) to create fluffier-looking fluff in the virtual world. (If you need a refresher on SL Materials, Damien shared some very straightforward explanations on the topic with NWN earlier this year.)
Damien is a very forthcoming designer, eager to talk shop and often sharing pictures and animated gifs of what he's working on, so I asked if he would reveal a few things to us about his plushifying process. Here's what he had to say:
How is fluff traditionally achieved in SL?
Not to say I'm the first to do fluff this way, I'm sure others must have done it before, but traditionally you'd see fluff sticking out of an object, a polygon with a fluffy texture standing perpendicular to the base. Sort of how most games (including SL) handle grass. The cons of this method are when looking straight down at the object the fluff disappears as you're looking at the edge of a 2D shape, though the silhouette is usually pretty good.
How does this method vary?
If you consider the traditional method as 'vertical' fluff, mine would be horizontal. Instead of long strands on a texture I have cross sections of the fluff on multiple layers from the base. In the case of my fluffy rabbit tail it's basically like an onion, an opaque base with layers of fluff cross sections that would look just like dots if viewed alone. The pros of this method are that the fluff has much more depth from any angle, the downside is the edges of the object as it curves away from the camera can appear fragmented.
When this is paired with the materials shaders you can add extra depth by giving those cross sections lighting direction, each dot is rendered as a sharp bump from the base, so light from any direction will light it as if the layers of dots were a longer strand.
What are some challenges with creating "fluffiness" on digital objects/in virtual environments?
The main issues with fluff in any platform is performance and the dreaded alpha layering issue that we've all encountered before. This is when a rendering program cannot determine which alpha in a series of layers should be rendered first, so you can get a flashing or reversed look, grass outside rendering as if it was in front of the window you were looking through.
The vertical method would definitely suffer from alpha layering issues, which is why that style of fluff is usually 'full bright' in SL. Other rendering engines have more options though such as their own pixel shaders and particle systems to simulate a more convincing fluff.
Both the horizontal and vertical add to the polygon count of an object, so they should be used sparingly so as to not balloon the land impact. I would recommend having the fuzziness just on the highest LOD (level of detail) mesh, as you won't notice it when the camera is pulled out far anyway.
Do you think this technique could work applied to other things, like leafy trees?
If the trees were thick enough, perhaps. It may be better suited to shrubbery though.
If you want to see the fluff in action make sure that you have a Second Life viewer that supports materials, then pick up Damien's recently released bunny pyjamas or his updated (and free!) Friendship Bear on the Second Life Marketplace.Tweet
Iris Ophelia (@bleatingheart, Janine Hawkins IRL) has been featured in the New York Timesand has spoken about SL-based design at the Fashion Institute of Technology in Manhattan andwith pop culture/fashion maven Johanna Blakley.