The Materials System Project is steadily progressing. We do not have an ETA, yet. We do have a bit of a place marker in that we are told projects are moving in the order of; Chat HUD User Interface, Server Side Appearance, and then Materials. So, we know it will arrive soon, but is still a ways off. If we want Materials to work the way we want, we need to be able to provide feedback during the coming Beta Phase of the development process.[youtube W07H7xeUnGE]
To be able to give feedback we need to understand how to make and use of Normal and Specular Maps (or textures – interchangeable words in this case). So now is probably a good time to start learning the basics to allow us to participate in the beta testing without looking too ignorant.
I think most Second Life™ users understand the normal texture is used to add, or at least the illusion of, shape to flat or smooth surfaces. And that specular textures are used to control how light is reflected by those surfaces. What may be less understood is how these textures are created.
Both normal and specular textures are created from two basic sources. A person starts with either a photo of something or a highly detailed 3D model.
The Second Life side of using normal and specular textures is probably going to be very much like using the textures we use now. It is the creation part that requires new knowledge and skill.
The video is one I found that, I think, does a good job of explaining the five basic maps/textures used in 3D modeling. It covers how to create the needed maps from a photo. In 35 minutes it does a very good job of going from the very basic concepts to a very advanced looking result.
What the video does not explain is what we need to do for Second Life. We currently know most of what we will need for use in SL. While I am not absolutely certain, there are things we can expect. For a fact we have basic textures now, which in the profession realms of 3D modeling are called diffuse textures. So far, all indications are that we will have two additional textures we can apply; normal and specular. Exactly how that is going to work is fuzzy, but we do know how the technology works and is implemented in other worlds and modeling systems. I expect the implementation in SL to be similar.
We are not going to get ambient occlusion and displacement textures, which are part of the 3D modeling realm. They exist in Blender, 3DS Max, and Maya as separate parts of the materials systems.
In SL the viewer creates and handles the ambient occlusion (AO – NOT Animation Overrider) effect. In Nirans and Exodus there are settings exposed to allow you to adjust how much AO the viewer creates. In the SL Viewer in Preferences->Graphics you can enable or disable AO.
However, in the SL Viewer and most TPV’s there are the debug settings that allow you to change it:
As far as I know there are no displacement map settings nor does the viewer render displacement maps. There are bump maps but I think of those as more like normal maps.
So, when creating things for SL we will need to understand how to use; diffuse, normal, and specular textures. In the video we see how to create and use them in Blender starting from a photo, for things like brick walls, stones on a beach, wooden walks, and other surfaces that are often photographed. The use is going to be similar in SL.
The tool Crazy Bump is the pro way to make the 5 types of textures used in modeling. In Andrew Price’s video he shows how easy it is to use Crazy Bump (US$299 – 30 day free trial) to create normal and specular maps. The cost is a bit of a problem. Those that use the program feel it is worth it. But, for just leaning and experimenting that is a bit much, IMO.
There are some competing products. Some free and some just cheap. You’ll have to decide if they are as good as Crazy Bump.
MaP Zone – Free – 26mb – This program seems to be more about combining texture maps into a pre-baked texture, something we would use in SL without the Materials System. It appears to have grown into a more professional package: Substance Designer 3.2 (US$590 commercial use – 30 day free trial).
SHADERMAP 2 – $40 – 24mb – This program appears to be more like Crazy Bump. It comes in 32 and 64-bit versions for Windows only. I personally like it and have tried the trial.
Both of these are older programs, 2004-2008 era. So, they install old version of the Microsoft Visual redistributables. I canceled those installs when I tried SHADERMAP 2. It seems to work fine.
Blender – Free – This program can be used to create (bake) normal and specular textures. But, the process is not shown in the video. The basic idea is to build a complex highly detailed model. The high detail model is used to bake the needed textures. A simple low poly model is then made and it is the low poly model on which the textures are used to show the detail from the hi-poly model. A very different process than is shown in the first video. This second (3 min) video shows the Blender creation process.[youtube nnwRz-IvvTk]
This second video is less of a tutorial than it is a demonstration of the concept. The process of building a hi-poly and low-poly models is a complex subject covered in many online tutorials. So, I’m skipping that here.
As SL is now, Blender is often used to combine (bake) diffuse, normal, specular, and other maps into a single composite diffuse texture, which is then used in SL. One must have lights in fixed positions in SL and bake in the shadows for them in Blender to make realistic illusions. To change the lights one needs to bake new textures too. That is less than ideal and the Materials System will change that.
The lighting effects are baked into the resulting texture and the lighting in SL does not affect the appearance, shadows do not move with the sun. The point of normal/specular maps is to get a more realistic surface that changes with the sun’s (or a light’s) position.
We do not yet have a public project viewer for the Materials System. But, we can get our education started while we wait for the Materials System’s arrival. With knowledge we can contribute to the development process. I know I do not want to leave everything to the programmers and just hope they make something I can use efficiently.