User:jenna Huntsman

From Second Life Wiki
Revision as of 15:28, 23 December 2022 by Jenna Huntsman (talk | contribs) (Add some observations on EEP clouds.)
Jump to navigation Jump to search
Profile
LightingSample-PointsOnly.png
Born:
09/23/2009
About:
I'm a hobbyist.
Achievements:
  • Spends too much of her free time updating wiki articles.
Links:
Find me on...

SL Marketplace logo 180 pixels wide.jpg


Intro

I'm a hobbyist scripter.

Projects

LSL

Code Snippets

sRGB EOTF

Note that when converting a colour from regular LSL space (sRGB) to linear space for use in a light, it's likely quicker and cleaner to use the internal function llsRGB2Linear. This is mostly a function that can be used for fun to manipulate the gamma space of colours.

Summary

Function: vector srgb_eotf( vector color, float gamma );

Converts a gamma-encoded color value to linear space. Useful when dealing with lights (as these expect a non-gamma-encoded color).
Returns a vector

• vector color
• float gamma

Specification

vector srgb_eotf(vector color, float gamma) //To convert from regular LSL colour to light colour, gamma value should be 2.4
{ //Conversion from gamma-encoded sRGB space to linear space. Credit: Jenna Huntsman, Christopher J. Howard
    vector low = color / 12.92;
    vector high = <llPow((color.x + 0.055)/1.055,gamma), llPow((color.y + 0.055)/1.055, gamma), llPow((color.z + 0.055)/1.055, gamma)>;
    return mix(low, high, step(<0.04045,0.04045,0.04045>, color));
}

float max(float x, float y)
{ //Return the higher of 2 given values.
    if( y > x ) return y;
    return x;
}

vector mix(vector x, vector y, vector t)
{
    vector ret;
    ret.x = x.x*(1-t.x) + y.x*t.x;
    ret.y = x.y*(1-t.y) + y.y*t.y;
    ret.z = x.z*(1-t.z) + y.z*t.z;  
    return ret;
}

vector step(vector edge, vector x)
{
    vector ret = <1,1,1>;
    if(x.x < edge.x) ret.x = 0;
    if(x.y < edge.y) ret.x = 0;
    if(x.z < edge.z) ret.x = 0;
    return ret;
}

Examples

vector LampCol = <1,0.74510,0.47451>; //3200 kelvin
llSetLinkPrimitiveParamsFast(LINK_THIS,[PRIM_POINT_LIGHT,1,srgb_eotf(LampCol,2.4),1,20,0,PRIM_GLOW,ALL_SIDES,1,PRIM_COLOR,ALL_SIDES,LampCol,1,PRIM_FULLBRIGHT,ALL_SIDES,1]);
//Set light source colour and prim colour to same colour; despite taking different input values.


Random Notes

I be a placeholder. At least for now.

Jenna's Camera Settings

Archive of my current viewer camera position, because I forget a lot.

Jenna Huntsman's Camera Settings  
Debug Setting Value
CameraOffsetRearView X: -3.0 Y: -1.65 Z: -0.5
FocusOffsetRearView X: 3.0 Y: -1.65 Z: 0.25
Essay.png
Editor note: All sections below this box are considered drafts, and may move, change name, or be deleted at any time.

Photo Checklist Page Update

This is some text. I need to do something here.

Viewer Setup

Lens Settings

The table below contains settings for simulating various real-life lenses within Second Life. These settings will change the camera's Field of View (FoV), as well as Depth of field (DoF) settings. You may want to play around with some of these settings (for example, the Aperture value) to manipulate the depth-of-field effect.

KBtip2.png Tip: The default Second Life camera is roughly equivalent to a full frame digital (36x24mm sensor) camera using 31mm lens.

For reference, the following table describes the debug settings changed, their units, and what the setting does. Default values are not provided as these settings may vary between viewers.

Debug Setting Glossary
Debug Setting Units Description
CameraAngle Radians Camera Field-of-View angle, horizontal. Equivalent to Angle of View - width degrees to equate a real lens. This changes the visible FoV.
CameraDoFResScale Linear Amount to scale down resolution of DoF effect. Manipulating this value may change performance.
CameraFieldOfView Degrees Field-of-View angle used for the DoF effect. Note that this value is the height FoV, NOT width.
CameraFNumber F Stop F Stop (or Aperture) value to be simulated by DoF effect. This is the value you should change to adjust the intensity of the DoF effect.
CameraFocalLength mm Focal length of the lens to be simulated by the DoF effect.
CameraMaxCoF mm*1000 Lens Circle of Confusion value to be simulated by the DoF effect.
CameraFocusTransitionTime Seconds Time the camera will take to transition between 2 focal planes.
Essay.png
Editor note: The below settings assume that the screen is in the 16:9 aspect ratio - These values vary depending on aspect ratio, so if you have a screen of a different ratio, you may need to recalculate these values.
KBnote.png Note: To manipulate the intensity of the Depth-of-Field effect, change the aperture (F number) value. Common values are: 1.4, 2, 2.8, 4, 8, 12, 16, 20, 24
8 mm (Fisheye)  
Debug Setting Value
CameraAngle 2.306
CameraFieldOfView 103.4
CameraFocalLength 8
CameraMaxCoF 29.0
16 mm  
Debug Setting Value
CameraAngle 1.688
CameraFieldOfView 64.65
CameraFocalLength 16
CameraMaxCoF 29.0
24 mm  
Debug Setting Value
CameraAngle 1.287
CameraFieldOfView 45.75
CameraFocalLength 24
CameraMaxCoF 29.0
31 mm (SL Default)  
Debug Setting Value
CameraAngle 1.047
CameraFieldOfView 35.98
CameraFocalLength 31
CameraMaxCoF 29.0
50 mm  
Debug Setting Value
CameraAngle 0.691
CameraFieldOfView 22.9
CameraFocalLength 50
CameraMaxCoF 29.0
75 mm  
Debug Setting Value
CameraAngle 0.471
CameraFieldOfView 15.38
CameraFocalLength 75
CameraMaxCoF 29.0
100 mm  
Debug Setting Value
CameraAngle 0.350
CameraFieldOfView 11.56
CameraFocalLength 100
CameraMaxCoF 29.0
KBtrivia.png Did you know that you can leave DoF enabled for daily use? Try the settings given above for 31 mm, with an F-Stop (F number) value of 16.0.

How to calculate lens settings

If you don't have a 16:9 aspect ratio monitor, you will want to recalculate the lens settings.

To recalculate the lens settings:

  1. Visit this website: [1]
  2. Enter the desired focal length of the lens.
    • The desired focal length is also one of the settings we need. (Debug setting: CameraFocalLength)
  3. Scroll down, and select Option 1.
    • Advanced users: You may also want to change the sensor size if you are trying to match footage shot with a specific camera (e.g. a phone camera). See the following website to get some additional values: Sensor chart
  4. Under Option 1, select the desired Aspect Ratio crop.
  5. Click Recalculate.
  6. Find the value for "Angle of View - Height Degrees".
    • The value in this field is the new value for the DoF FoV (Debug setting: CameraFieldOfView)
  7. Visit this website in a new tab or window: [2]
  8. Enter the value from the first website called "Angle of View - Width Degrees" in the "deg" field of the second website.
    • The value given in the "rad" field is the new value for your FoV (Debug setting: CameraAngle).

Tilt-Shift effect

Tilt-shift photography is popularly used for simulating miniature scenes. Try these settings:

A tilt shift lens differs from a conventional lens as the size of the projected image circle is much larger than the sensor it has to cover, whereas a conventional lens will usually only just cover the size of the sensor itself.

In Second Life, you can simulate a tilt-shift lens by manipulating the CameraFieldOfView debug setting. This setting essentially controls the size of the simulated image circle,

Try the below settings - these use a 4* modifier to the CameraFieldOfView value.

31 mm (Tilt shift)  
Debug Setting Value
CameraAngle 1.287
CameraFieldOfView 143.92
CameraFocalLength 31
CameraMaxCoF 29.0

As always, you can manipulate the blur level of the effect by changing the aperture (CameraFNumber).

You can also use a different modifier value to reduce the level of the effect. In the below table, you can see how the modifier is applied between 1* and 4*

Tilt-shift modifiers (31mm)  
Multiplier CameraFieldOfView value
1* (Conventional lens) 35.98
2* 71.96
3* 107.94
4* 143.92

Glow

In Second Life, objects have a separate glow parameter. This can be used to create the visual effect of something being self-luminant (i.e. a light source), but can also be used to add a realistic bloom effect to areas on shiny objects (i.e. hotspots).

Jenna Huntsman's Glow Settings  
Debug Setting Value
RenderGlow TRUE
RenderGlowIterations 3
RenderGlowLumWeights X: 0.3 Y: 0.6 Z: 0.1
RenderGlowMaxExtractAlpha 0.04
RenderGlowMinLuminance 1
RenderGlowResolutionPow 10
RenderGlowStrength 0.330
RenderGlowWarmthAmount 0.25
RenderGlowWarmthWeights X: 1 Y: 0.5 Z: 0.7
RenderGlowWidth 1.3

Scene Setup

Lighting


KBtip2.png Tip: The Second Life Knowledge Base has a great article explaining the core basics around Second Life's lighting system, albeit a little outdated. See here


Lighting in Second Life is just as important as your framing for your scene - it governs everything that you see; as it does in real life.

Second Life has 4 types of light:

  • Ambient light - this is the light which is applied across the entire scene, and does not cast shadows.
  • Sun / Moon light - this is the light that is emitted from the sun or moon, when present. This does cast shadows.
  • Point lights - this is the default type of light that Second Life uses. It acts similarly to a lightbulb, wherein light is cast out in all directions.
  • Projector lights - these lights will emit light in a specific beam pattern, for example, a car headlamp or a flashlight.

General tips

  • The white point (<255,255,255>) of color in Second Life is actually a "cool white" (equivalent to 6504 kelvin), following a specification called CIE Illuminant D65.
  • When lighting a dark or night scene, instead of using dim 'white' lights, you should instead use lights with a blue cast (Approx. ~9000 (TODO: Double check this value) kelvin). This is simulating a phenomenon in the human eye, wherein perceived color gains a blue shift before losing color vision altogether. This is known as the Purkinje effect.

Environment preset

In Second Life, lighting starts with the choice of your Environment preset, introduced as part of EEP. By default, the viewer uses whichever preset the landowner has decided to use on their parcel.

Your selection of Environment Preset governs 2 types of light that are present in Second Life - Ambient and Sun / Moon light.

  • Ambient light can be changed via the Environment Editor > Atmosphere & Lighting > Ambient Color. Note that Ambient light is also attenuated by the Cloud coverage (Environment Editor > Clouds > Cloud Coverage) value - the higher the coverage, the more ambient light there is.
  • Sun / Moon light can be changed via the Environment Editor > Sun & Moon > Color.
KBtip2.png Tip: While many people play with 'flat' environment presets (e.g. CalWL), these often make for poor photography lighting. Avoid using these where possible, instead, try making use of specific photography presets for your shoots.
KBwarning.png Warning: When selecting presets, endeavour to use EEP-specific (i.e. not converted from the prior WindLight system) presets, as older presets would have undergone a conversion into the new EEP Settings asset, which is not a perfect conversion.

In-world lighting

Another thing to consider is placing lights in-world. Any object in-world can be made into either a point or projector light (via the Build floater > Features > Light).

In a studio setting, it's recommended to use projector lamps wherever possible to keep tight control of the lighting in your scene. It also matches real-life photography lamps, most of which are actually different forms of projector lamps.

The below example makes use of basic 3 point lighting on a plain background.

  • Lit with point lights only
  • Lit with projector lights only
  • Photo Settings

    General

    • Viewer: Alchemy Project AgileAkita (6.5.5.1529)
    • Pose: loel - spring serenade 05
    • Environment Preset: Studio Saberhagen - Studio Dark (P)
    • Lens: 75mm
    • Advanced Lighting Model: Enabled
    • Depth-of-Field: Enabled, Aperture 2.0

    Viewer-Specific

    • Tonemapper: Uncharted, Exposure 2.4
    • LUT: LUT Test33 v44.cube

Hovever, a mixture of Point and Projector lamps is generally the best way to light most scenes.

Chroma Key

If you're taking photos which you intend to remove the background on, you may wish to use a Green or a Blue screen. This makes use of a technique called Chroma Keying, and is used by many photographers and videographers alike to provide fast and easy background removal.

For reference, the 4 industry-standard colors used for chroma keys are as follows:

Standard Chroma Keys
<0,177,64> <0,71,187> <0,255,0> <0,0,255>
Chroma Green Chroma Blue Digital Green Digital Blue

Of the above, it is much more common to see the "Chroma" colors than the "Digital" ones, so it is recommended to try setting up with one of the "Chroma" colors first. (If the key fails, go back and try one of the "Digital" colors).

KBtip2.png Tip: When setting up your keying surface, always enable Full-Bright to make sure that the color is consistent across the entire surface, and that it is not affected by your scene lighting.
KBwarning.png Warning: When setting up a shot for chroma keying, make sure to disable Depth of field to avoid any loss of definition around the edges of your subject.

EEP

Clouds

Texture:

  • It seems that the 3 colour channels are all evaluated, but it is unclear how each is used.
  • It is possible that the colour channels are used to store multiple cloud maps, meaning you can store a different cloud map in each channel to simulate changing weather (Clear > Light clouds > Heavy clouds)

Settings:

  • Cloud Variance seems to be a focus modifier, however causes the map to distort a lot, resulting in poor looking clouds. Best left at 0.5.
  • Cloud Scroll controls the (rolling) transform applied to the Cloud Density map.
  • Cloud Density is the base cloud map - It contains very little detail, but will control where clouds are placed and how they move. X and Y will vary the size and frequency, D is a density modifier (Higher = heavier / thicker clouds).
  • Cloud Detail will add texture to the cloud density map. X and Y are basic transform controls, and D seems to attenuate the blend amount.