The title of this post means something, hopefully, to most people who’ll read this. Unfortunately, I’m continuously surprised at the number of people who really don’t seem to understand the finer points of what we call “full perm” items.
It has been a few days since the demo module for materials made its appearance. There have been a few updates to it, and I’ve had some time to play around with just how well it works. I’m going to share my observations, but be sure to take them with a grain of salt. Not only may I have missed something, but the demo module itself is not necessarily going to reflect the final implementation of materials in OpenSim. If you’re going to experiment with materials right now, don’t rely on anything you create being useful as anything more than a test. Continue reading
Dahlia Trimble, one of the core developers of OpenSimulator, has begun work on a module that gives OpenSim support for new materials on prim, sculpt, or mesh builds. The module that enables it is really more of a demonstration right now; it has issues setting materials, and they will only persist until a region is restarted. In addition, there is currently no third party viewer that includes the material code and also has a grid manager. It requires above average effort on pretty much all fronts to try it at all right now. Still, it’s a start, and an exciting one!
What are Materials?
Other bloggers like Inara Pey and Nalates Urriah have already done a good job explaining just what materials are, and what they can do for the inworld experience. Geenz Spad, an Exodus Viewer developer who is largely responsible for coding the viewer side of materials is also doing his part to educate at his blog. So I’ll only provide a brief explanation.
Materials as they will be used in OpenSim consist of the addition of two new textures that complement the one we’re already used to. The plain jane, old fashioned texture is known as a diffuse map. The two new ones are a normal map, and a specular map.
Basically, a normal map makes use of lighting tricks to simulate the appearance of detail and depth. In effect, an object inworld that has a low polygon count can seem to have more polygons than it actually has. This is only an illusion… a thorough inspection of any prim or mesh that has a normal map from extreme camera angles will reveal that there isn’t any depth, just additional light or shadow. But it allows for creators to fabricate far more efficient objects that look as though they have more detail than they actually do.
A specular map has to do with how much light an object will reflect, and where. For example, you might have a very dry rock that has a lump of gold sticking out of it. You don’t want the rock to look shiny, but the gold should be very reflective. A specular map allows creators to specify where and how much light an object reflects from it’s surface in a granular manner.
OpenSim’s Current Level of Support for Materials
Right now, support for materials in OpenSim is very preliminary. Dahlia Trimble has created a module that enables materials as a demonstration. It currently appears to have some pieces missing, and any materials applied to objects inworld will disappear when the simulator is restarted. Anyone wanting to bravely test things will also need to be able to grab a copy of the very latest OpenSim code and compile it.
The only viewer available that can set or view materials is a project viewer from Linden Lab®, and it doesn’t have the ability to easily connect to an OpenSim environment. What’s more, you will be the only person able to see any materials you set at the moment, and even they will disappear if you leave the simulator for any reason. It is possible to make them stick using a special proxy, but this doesn’t really qualify as a proper workaround. (Update! The proxy is no longer necessary. Now when you set materials, everyone with a materials enabled viewer will see them until the simulator is restarted.)
Dahlia is still puzzling things out, and I’m really looking forward to further progress! As it was, I had a lot of fun helping to test things out with her and Nebadon Izumi on OSgrid yesterday. Nebadon made a video during the experience, which I’m embedding below. It really shows the difference between an object with and without materials applied.
LL has just announced that they’ll soon be introducing support for normal and specularity mapping. This is really, really, really, big news! There’s already some great blog write-ups on what these are and what they can do by Nalates Urriah and Inara Pey. (Go read them! I’ll wait.) Hey! What was that sound? That was the sound of hundreds of mesh content creators coming to a screeching halt as they wait for these features to be rolled out! Which is a good thing… their content is gonna look even more awesome now.
The big question for me is how and when OpenSimulator will get the materials feature.
On the server side… probably nobody knows yet. I’m guessing it won’t take too very long, but OpenSim developers will need to wait to see how LL is implementing this on their end before taking any action. OpenSim had mesh support almost immediately after LL’s initial mesh implementation hit their beta grid. Hopefully we’ll see similar interest and action taken by one or more OpenSim devs.
On the viewer side, we’re faced with the little problem of the Havok sub-license. LL’s official viewer is no longer able to login to OpenSim, and the Exodus viewer, which is in charge of the viewer side implementation of the material system, has just signed onto the Havok sub-license, making it also unable to login to OpenSim. What I’m hoping is that this will be a non-issue, and other viewers like Zen or Teapot often pick up the necessary code for features like this very quickly. Once these or other viewers do so, users on OpenSim based environments will be able to create better looking and more efficient content.
I have a dirty little secret. As much as I love building and tinkering and just plain messing around in-world, something I haven’t done nearly enough is script with LSL. It isn’t because I can’t. Although I relegated programming to a hobby years ago now, I once wrote software for a living. Picking up the basics of LSL really isn’t a challenge. The problem is that I just don’t like it. It’s… very awkward. It’s fine for a small, simple script, but once you try to do anything really large it gets unwieldy to the point where I just want to bang my head on the desk. I have a whole laundry list of things I wish LSL did better, but this post isn’t really about that. Instead it’s about one way I make my life a bit easier. Or about killing two birds with one stone.
Cloud Party has drawn a lot of interest lately, and anybody who’s visited has rubbed elbows with plenty of people from the SL and OpenSim communities. No wonder, as these are people who already have a lot of experience with VW content creation and the associated tools. The Cloud Party team has made good on efforts to provide better documentation over at their forums. There are some nice video tutorials in the section of the forums for building, but unfortunately for me and other Blender users, they tend to be very focused on the use of Maya. As much as I wish I had US$3500 to shell out for what is, by all reports, a marvellous bit of software, that just isn’t gonna happen.
Happily, it’s not actually difficult at all to translate the concepts shown in the video tutorials to Blender, as anyone who’s ever worked with rigged mesh will immediately understand what’s going on and what they need to do. There are likely differences in export options and quirks in Blender’s Collada exporter that will need to be addressed, but these are not massive barriers to content creation with Blender.
Cloud Party has provided resource files for the male and female avatars and the associated armatures, but these are highly Maya centric, and will not load in Blender right now. Some experienced Blender users have stepped up to fill the gap, and you can find .blend files for these resources in the comments on this forum post from Jean and AshasekayiRa. I won’t provide direct links to the files here, as they may see changes and updates to better conform to the official Cloud Party avatars.
In other Cloud Party related news, this new virtual world has of course incited much blab in the blogosphere. You can find a round-up of quite a few blog posts on the topic at the Swedish Avatarium, and Gwynneth Llewelyn has written a nice thoughful piece on her blog.
UPDATE: Nebadon Izumi pointed out a great blog post on the Cloud Party Bugle that has a video tutorial with instructions on how to make a hat in Blender and get it into Cloud Party. It also includes links to .blend files for the male and female avatars.