Monday 29 July 2013

Mesh, Windlight and Standing upside down



Back in 2009, I was sitting on a pose stand in SL, manually trying to tint some breasts so they worked right and matched in to my avatar.
This, it has to be said was a life lesson for me in that Second Life tends to make little sense but in the end, I learnt a lot about tinting and how things around the avatar tend to screw up the way things match.

The first and most simple realisation was an environmental concern.
Time of day on SL.
If its night time, the implants behave differently to when they are on midday – the tinting and matching is thrown off terribly. So first I had to make a standard to ensure that what I was seeing was what customers were seeing.

Rule 1 – Always set your default time to midday and have NO artificial lighting to corrupt the results.

Well, I thought I was smart when I did that and sat my butt down on a pose stand, and tinted the breasts to perfection. They were absolutely fantastic – 99.9% match. I remember being smug with Akemi about it.
Then I got off the pose stand and all hell broke loose...

Standing in one direction they would be spot on... turn to left or right and they went to hell – the tinting simply messed up.
After checking all the variable, it turned out Windlight doesn’t only operate in the up and down position – it operates North, South, East and West too. In fact, even on midday, the setting were showing that the differential was between East to West. I was standing West when I tinted the breasts. And turning East, they went massively out of tint.

Rule 2 – Always put your pose stand North when you are tinting – its half way between west and east, and give you the half way house needed to get a good match.

Well, its not a spot on match, which is why implants will never be 100% accurate – in fact they will only be 95% at best but it depends which way you are standing, and what time of day it is.

Those two simple rules have been the mainstay of Violet Studios Implant work over the years and it hasn’t changed.


Fast forward to 2012 – the new generation of implants using Chest piece design based on the SL upper body texture.

As usual, doing implants is a matter of following the rules. Wear the breasts, get on a pose stand facing north, set the time to midday, and off you go.

First thing I noticed was, even though it had been claimed that they used a standard SL upper body, it wasn’t matching right. In fact, out of the box, there was a very light area over the collar bone, and a dark area between the breasts where it joined the avatars lower chest.

I wasn’t 100% sure why this was happening, however after much deliberation I decided to effectively start from scratch – build a new generation of textures which would compensate for that differential and two weeks later, I threw out the first generation of appliers.
From my perspective, they looked spot on – everything was how it should be. I had used a tried and tested methology to get the results I expected.

However, a few months later, a slow, but steady stream of customers started sending me messages saying “this doesn’t match”.
At first, I thought people were not doing it right. But slowly I realised something was wrong.

To that end, I decided to do some experimentation.
The problem was simple really. If these implants were based on the SL upper body, and they were mapped correctly, then where were the differences coming from visually – the differences that I had compensated for.

The first job was to look at what was going on.
Fairly basic theory work really. Follow the basic rules, and get an SL upper body unaltered on to the implants tinted to pure white (no colour differential causing different results).
And as per the original test, the differences popped back up. Lighter at the collar, darker between the breasts.


(Picture above - Note the collar is extremely light, and the area between the breasts is darker than the skin)

From there, I did some reworking – I started to add in darkened and lightened areas in to compensate, however something struck me while doing this.
It was not behaving logically – I was making the collar darker and darker – so dark in fact it was unnatural. And yet on the avatar, the results were not as pronounced as they should have been.
No. Something was definitely amiss.

I jumped off the pose stand, to scratch my head and left Hemi just hanging there with her default AO running and one animation, she bent down and leaned over and suddenly the collar area out of the corner of my eye got a whole lot darker for the briefest of moments.

This was kind of the Eureka moment when I realised my theories over windlight were right, and still I had missed something.

I jumped back on the pose stand and swapped the texture back to the stock texture, Lighter on the collar, darker on the lower breast seam.
And... then I took the pose stand, and flipped it upside down with me on it.


(Note - The collar is now darker than it was, and the area between the breasts is now over light compared to the avatar)

The result was at best worrying, but at the same time, good that I had figured out what was going on.
Looking at myself upside down, The collar was now darker than the neck, and the lower chest was visibly lighter than the stomach seam. It had swapped over.

What was causing this difference?
Well, I could go in to how windlight behaves around prims, Mesh and the Avatar, but its long and boring.
The primary reason was an error in Rule 1. Set sim time to midday.
With the release of Viewer 2 and 3, SL has been opened up to a massive array of different sim configurations and those configurations can majorly distort what you seen on the avatar.
This is where the first part of the customers problems were coming in.
Secondly, there are also new features like Shadows causing problems. These visual aids were distorting further what the implant itself was trying to achieve.
The result was an utter mess. Treating “Chest Plate” implants like regular implants was a bad idea as due to the fact they are mesh which behaves differently, and the fact SL has evolved since I put those rules in places for matching, my usual methodologies have really failed to an extent.

So what’s the solution.
Okay... this is where this story goes vastly wrong. There isn’t a solution per say.

Using my original production methodology means I need to tint the way I originally did it. But as I have found out, that method means there is always going to be a difference depending on time of day, windlight conditions, local lighting etc. Unless people use what I created these for, then the idea is borked.
If I use an Original texture from my skins, then there is going to be this harsh difference that is caused by the luminosity of where the SL sun is coming from. At midday, this will throw off the textures and even on other times of the day it will make a mess.

So... I cant use my original method, and using the original skin unaltered isn’t going to work either.
Simply put, I cant produce a fool proof method that would do both and keep all customers happy.
To get this fully right, I would need to make hard adjustments to the way the breast work physically in the design work. And sadly I can only do that vStrings.

Stuck in catch 22 here....
So if you cant do both, then you do both separately.

All of Violet Studios Skins will shortly be getting an update – this update will specifically be a “Standard” applier just for Tangos and vString Evos. It is designed so that customers can pick themselves which version they want to use – there my adapted version with the lightening and darkening zones, or they can pick the raw, unedited standard textures.

I cant repair the problem, but I can give customers the choice.