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.
So what works?
Over the last couple days I’ve been playing around with objects that have materials. I’ve tried the following things, and they’ve all seemed to work successfully:
- Applying materials to an object. The materials are visible to anyone who visits your simulator with materials enabled viewer.
- Materials that have been applied to objects now persist across simulator restarts.
- Taking an object with materials into inventory, and rezzing it on another materials enabled simulator appears to work just fine. The materials seem to remain intact and visible.
- Alpha masking and blending appear to work. It’s a little quirky, but I think this may be more the fault of the project viewer I was using than anything on the simulator.
I saved an OAR of a region that contained objects that had materials, and then restored that OAR to a standalone simulator that had materials enabled. The materials seem to remain intact. Ditto for an IAR file. I took copies of objects that had materials into my inventory. I did this with Kokua (which does not have materials support), and then took additional copies with LL’s Materials Project viewer. I then restored this IAR on another materials enabled standalone simulator. I was able to rez all of these objects with materials intact.
(Updated! OARs and IARs do not save materials! I forgot to clear my cache when I tested this.)
This seems like enough support to be able to play around with and experiment with materials pretty freely. As long as I remember that this is all for testing, I plan on keeping the demo module enabled and learning more about how to best use materials inworld.
What does not work?
Any object that has materials on it will not survive being taken to and rezzed on a simulator that does not have materials enabled. The object itself and its diffuse texture will remain, but any normal or specular maps will be lost. You’ll also notice that there will be a bump map applied to the object that changes randomly as you move your camera around.
So anyone playing around with materials just needs to be sure they know that they’re rezzing objects with materials on a simulator with the demo module enabled. Those are pretty rare at the moment, so if you’re not sure, don’t rez there.
There may be other stuff that doesn’t work… I just don’t know, and am not a fount of testing imagination. So once again, in case I forgot to say so, be careful.
What will never work is materials on terrain or the default avatar. That’s expected behavior, and that’s how materials are currently implemented over in SL.
How can I play with materials?
Well, okay. I’ll tell you. But remember, if it breaks that’s your problem. If your whole simulator explodes, don’t blame me. And I’m not gonna play tech support for it. If you’re not used to getting your hands dirty with the command line and configuration files, I’d recommend you wait a while before playing with materials.
You’ll need a bleeding edge version of OpenSim. I don’t think any of the binary packages currently available has the demo module yet, so you’ll have to get the source code and compile it yourself. When you have that, you’ll need to add the following line to OpenSim.ini:
That INI section name is all that’s needed to enable materials. There are currently no options for the module.
Alternately, I’ve been told that the Sandbox Plazas on OSgrid have materials enabled. So you can try playing with them there. You might consider using an alt just as extra safeguard against anything going kaboom.
Once you have OpenSim sorted out, you’ll need a viewer that has support for materials. The Cool VL Viewer now has an experimental version that has that support, as well as support for connecting to grids other than SL. You’re going to want to look for version 1.26.9. I can’t say myself how well this viewer works or how good its materials support is. Unfortunately, it crashes on my desktop what I attempt to enable deferred rendering. But other people have told me it works fine for them.