Friday, November 1, 2013

Materials - A Mini Lesson

First let me say, this truly is a mini lesson. Maybe lesson isn't the right word either. It was a heads up note card that I wrote and sent out as a notice to the Builders Brewery group in SL. Why would I do such a thing? Well partly because I really like materials and have spent quite a bit of time trying to figure them out over the last few months, but mostly because I also spend quite a lot of time in the BB group answering questions. In fact the original inspiration for this blog was to use it as a repository for oft answered questions about content creation in SL, and more detailed explanations than are possible in chat and classes.So when Firestorm puts out a new beta viewer with materials and GASP a funny looking texture tab on the edit window, I just know there are going to be lots of questions. Questions in group, questions waiting as IMs, and note cards that begin with "maybe you'll know"....Well maybe is right, I feel I should warn you that I don't know much about materials (yet), but since that has never stopped me before, here's my attempt to anticipate the first couple rounds of questions about the arrival of materials in your SL viewer.Likely the first thing people will notice is that the texture tab looks different.Don't panic, the same functionality is there, plus a few new capabilities.There is now a tab called Materials, and the Texture tab can be used to apply 3 different kinds of texture information. The first one we are all already familiar with, though the name "diffuse" might sound a bit foreign, it's the basic final surface texture we have all been calling just texture.

The texture tab works the same as it always did. If you are just applying a regular texture, use this tab which will be on by default, then apply the texture the same way you usually do. Yes, local textures also work the same way.

Under the Texture (diffuse) tab you can now add 2 other kinds of texture information. The first is (in SL) called Bumpiness (normal). It can be used for a normal map if you have one. Normal Maps are commonly used to add more realism by making a surface appear raised or 'bumpy', or by preserving small sculpted details from higher resolution models. If you click the link, you will see there is a whole lot more to normal maps than Bumpiness

The other choice on the drop down tab is called Shininess (specular) and it is designed to read specularity maps, sometimes just called spec maps. A Specularity Map determines the shininess of a surface but also the quality of the shine. Polished wood surfaces have a softer edge to their highlights than hard plastic for instance. Metal is not only shiny and quite reflective, but the quality that we call metallic refers to the fact that metal often has different color(s) in its reflected highlights.

On the texture tab you can now assign as overall color to the reflected light or leave it white. You can also control how shiny the surface is (Glossiness), whether it reflects colors from the surrounding environment (Environment).No, you can't make a mirror, but I did try.

Materials can be really pretty in dimmer light conditions, and they look especially good as you move around or if lights are moving near them. I should apologise for having used a black texture for this demonstration lol. It was an accident born of the moment, an IM about fabrics and Photoshop pattern possibilities, and a freehand with gyazo.If you would like to pick up the box with the sample textures inside, (since I hardly need say that the still photos above do NOT do materials justice), please visit the Builders Brewery Main building in SL, where these are available as a freebie. I will be adding to the selection regularly as I continue with my mad materials experiments.Wish you knew more about materials? Me too! There's the knowledge base, and watch the Builder's Brewery Calendar for upcoming classes on both using and also making normal and spec maps. Now for those anticipated first few questions:

Q. Can everyone see materials?

A. No, most likely not. Right now you need to have a viewer that can read them (Exodus, Kokua, UKandDo, LL viewer , the new FS Beta, some versions of Cool VL).

Besides having a viewer that sees them, materials also require Advanced Lighting Mode in Preferences> Graphics.

By the way, it is NOT TRUE that you need to use Ultra or even a High graphics setting to enable Advanced Lighting Mode. It can be turned on, and works just fine on lower graphics settings.

But materials do seem to require the settings shown below: Hardware skinning, Basic shaders, Atmospheric shaders, Advanced Lighting Model. If you are not sure whether your computer can handle these see my previous post.

In particular, you might want to find out how your graphics card stacks up for life in SL. Not so long ago Oz Linden explained how the viewers decide what graphics settings each account starts out with based on a system to classify graphics cards. You can check how your card measures up on this table.Not sure what graphics card you have? In SL go to the Help menu on the top bar of your viewer, and look inside About Second Life. That will give you a full account of your system and graphics card.

Q. Do I have to use materials now for texturing?

A. Of course not. You might never have any reason to use either a normal map or a specularity map.

Q. Do materials effect the Land Impact of objects?

A. Yup. Looks like every new feature from now on will be subject to a streaming cost calculation. That can mean materials will be bad news on tori and sculpties, but good news on plain box prims. In case you don't know what I mean, adding a material will have a similar effect to setting one prim to convex hull.

Q. What's the point of materials anyway?

A. Short answer is greater detail from fewer resources.

Longer version is vertices - the points that determine surfaces in 3D space are complicated and expensive (resource -wise) to calculate, but texture information is relatively cheap. So 3D designers replace as much sculpted or modeled detail as they can with texture maps that the render engine (SL for us) will read. Meaning materials have the potential to give us more eye candy with less land impact and less lag than we would have without using them.