More on the USCSS Conrad

Work on the USCSS Conrad proceeds apace. If I had some kind of plan for this I’m sure I’d be able to update you with a series of tightly focussed posts that home unerringly in on a final product. I don’t have a plan, though, so I just built a load of random things and shoved them onto the grid.

 

Nauseating Alien Column:

This morning I got tired of the clean lines of the Conrad itself and decided to branch out into some alien stuff. There’s going to be a fair bit of this but I started with a fairly simple floor-to-ceiling column of glistening goo. Starting with a twelve foot shaft of gleaming mucus is a plan that has served me well in the past so I saw no reason to change now.

Really alien. Also slightly nauseating.

Really alien. Also slightly nauseating.

This started as a simple outline model in Lightwave that I then imported into Zbrush. A little work with the Wacom tablet produced a high poly model (around 800k polys) and a lightly modified version of the low poly model. I baked out the normals from the high poly and ran them through Knald to get an Ambient Occlusion and Convexity maps.

I took these maps and layered them over a dark green background in GIMP. A few copies of the ambient occlusion map added some depth to the surface in multiply blend mode. The convexity map went over the top in screen blend mode to highlight the convex veins in a lighter colour. It produced a diffuse texture that seems very effective when combined with the normal map and a high specular shine. I’ll likely be using this kind of cycle to produce other bits of alien architecture.

The low poly model went back into Lightwave for further decimation using the brutally effective qemLOSS3 plugin and then was uploaded to the grid for a final LI of 3, which isn’t too bad for the size I’m making them.

 

Casualties:

Next up were a couple of casualties, preserved under Aleph’s excellent antibacterial sheets.

Fresh as a daisy and only slightly dead

Fresh as a daisy and only slightly dead

These were a fairly quick build. I used Poser (I’m still using the copy of Poser 4 that I bought in, I think, late 2000. It’s a miracle it still works) to make a couple of posed figures. I fiddled with them a little in Lightwave (what’s a little dismemberment and decapitation between friends?) and then dropped a simulated cloth across them both.

Another quick cycle through low and high poly models got me some grid-ready meshes and normal maps. A few minutes in Illustrator made the diffuse texture – those Aleph guys sure like to brand everything. They’re not subtle like Weyland-Yutani.

 

Projecting Screen:

The Conrad is going to be dark. Very dark. It’s my plan that the final version will require users to wear a small HUD that uses RLV to control their Windlight environment settings (the SL experience tools may also be able to do this but since they’re not available it’s gonna have to be RLV). While building I wear a simple version of this HUD that I can turn on and off with a click in order to test the experience. With the HUD active there is no ambient light at all and only things lit directly by in-world lights show up. This incredibly dark environment lets subtle lighting effects really show up very well.

A lot of the effort in this build is going into lighting – I need to get something that will let me record video of SL proprly so I can post something that shows the scripted lighting effects I’ve got in place already. I’ll probably talk about these in a later post once I’ve expanded them a bit more.

One of the lighting effects I want to use is having active display screens project their light into the scene. This is pretty simple to do with projector lights but nothing’s ever quite as straightforward as it seems.

Conrad ScreenProjector

The pic above shows part of the main lounge area of the Conrad with the light from a status monitor illuminating the walls and a door. The screen is showing a simple image of ship’s status (long story short: not good) but also projecting that image into the scene.

To get this effect I drew a stark black and white image for the monitor to display in Illustrator:

Decal Ship Status-01

I’m sure it’ll buff out

To make this image into something useful I needed to run it through a few GIMP filters and then flip it horizontally. In SL we have some very nice fine control over images applied as textures (we can scale them, flip them, tile them etc) but we have none of that flexibility for light projector images, so we have to build the image for use as a projector and then use the texture options to make it look right as a texture.

Upload Decal Ship Status

As you can see the final image is a bit glowy and a little pixelated and mirrored left-to-right. If used as a light projector image it will be “right” for being the projected light of the original unflipped image. It’s also squashed into a square format for uploading to SL, but that’s really incidental to the real work.

This image can be used directly as a light projector image. To use it as the texture on a mesh you need to change the horizontal scale to -1.0, flipping it back to the right way round. Set the surface to full-bright, add a little glow and you get a really cool effect that casts subtle and correct light into the scene.

 

So, that’s the state of the USCSS Conrad as it stands now. Land Impact 52 and growing…

Mesh Glitches and the Panel Dress

Some time ago one of my customers reported to me that her copy of the Kcreations Panel Dress was not appearing correctly – sometimes it would glitch out and throw triangles all over the screen. She didn’t see it herself, but others had reported it to her since its gymnastics were causing some havoc among folks nearby.

Later someone else reported the same problem. It only seemed to happen with the Panel Dress, not any of my other meshes.

Since then, with some help from the people who reported the issue, I’ve been trying to track down the exact circumstances of this bug so that I can fix the Panel Dress and make sure that any new meshes I make won’t do the same thing. I’m happy to report that I’m pretty sure I’ve figured it out, and that avoiding the problem is fairly easy.

For anyone who’s into following this kind of thing the particular issue is VWR-29396 in the SL Bug Tracker. I’ve been in touch with Dan Linden with all my findings, so hopefully it’ll help the developers finish this problem off entirely some time in the not-too-distant future.

Mesh glitching

Mesh glitching

In the course of running this one down I’ve made close to a hundred different rigged mesh files, uploaded dozens, tried different versions of Blender and Lightwave, and even written my own DAE file parser to check for errors and problems. In the end, though, none of that helped much, but I feel it’s important you know how hard I’ve worked to figure this out 😉

The problem occurs when you enable OpenGL Vertex Buffer Objects (VBOs) in the graphics hardware settings in the viewer. In Firestorm the settings need to be VBOs and either Hardware Skinning or Streamed VBOs.

The glitching occurs when you meet the following criteria:

  • You’re viewing a rigged mesh on another avatar (the glitch never affects a mesh that your own avatar is wearing)
  • There’s at least one other avatar in your view that is wearing a rigged mesh (can be your own avatar or anyone else)
  • A camera move causes the problem mesh to change between LODs. You can also move the object detail slider in the graphics settings up and down to trigger a LOD change.

The pivotal property of what makes a mesh glitch or not seems to be entirely down to the materials assigned to it. Specifically, the number of non-transparent materials.

If the mesh has only one material (i.e. it only has one “face” for applying textures to) it will glitch. If it has more than one face, but all of the faces except one have a non-zero transparency setting applied to them, it will glitch.

This means it’s fairly easy to avoid the problem – just make sure you don’t upload meshes with only a single material and be careful with applying transparency to meshes with more.

One material vs two materials. Two's better than one!

One material vs two materials. Two’s better than one!

The Panel Dress mesh that started all this only had one material, and so it fell victim to the problem. I’ve made new meshes now that have more than one material, and I’ve verified that they no longer have this problem, so an update should be available in the next few days for anyone who’s already purchased it.