This document is a draft! Some information is missing or incomplete.
This guide is intended for creators who are making mesh models/textures/audio for Kokoro.
We maintain high standards of content to ensure an enjoyable experience for visitors visiting Kokoro.
All permanent builds at Kokoro are required to meet these standards for quality assurance purposes. These standards don't apply to temporary builds.
Visitors should be able to enjoy Kokoro regardless of if their viewers graphics preset is set to Ultra, High, Medium and Low. We do not test/officially support the Lowest graphics preset.
Custom LoD models
All models must be able to pass the LoD2-64 challenge - No noticeable pop in from the perspective of a user with a LoD setting of 2 and a draw distance of 64m in the context of the objects expected placement. To meet this:
Mesh models should always be created with a High, Medium, Low custom mesh model, lowest may be left on generated except on small models (less than 0.5m in any direction)
Custom created LoD models must degenerate in a way that considers their surroundings
Each LoD model should have approximately ¼ of the vertices of its predecessor. For example, a highest model with 400 vertices would have a medium of ~100, low of around ~25.
Land Impact (LI)
Maintaining region capacity is important for the continued capacity of Kokoro for it's builds.
Land impact of models is multiplied considerably by the volume (length x width x height). Many models can have their LI significantly reduced by splitting the mesh into a linkset of 0.5Li pieces. This also has a performance benefit in allowing smaller parts of a large model to drop to lower lod models faster.
When possible, rotating the individual links in the set in the modelling application to fit into a smaller bounding box will also have land impact benefits.
The vast majority of models should have 1 material per link, as adding extra materials multiplies the Land Impact significantly.
To avoid texture thrashing (The viewer running out of memory and blurring random textures). UV maps should be space optimized (no large unused areas) and all textures should be kept as small as possible.
Material faces using Alpha Blending are GPU-Heavy and are not to be used on props that are used outside of instance rooms, only Alpha Masking should be used.
Textures should be kept simple in keeping with the anime feel. There should be a low level of visual noise and contrast in textures should be reduced towards their average color.
Secondlife does not have the best shaders and not all users will use the advanced lighting model, therefore any textures with a reflective/metallic quality should use our faux shiny effect. (Contact for details)
Our textures do not have baked shadows to avoid interfering with Advanced Lighting Model, but do have normalized Ambient Occlusion multiplied over the diffuse.
Ambient occlusion should be baked with a floor mesh present to ensure the shading looks appropriate for the objects surroundings.
Our textures are designed to look natural and easy on the eyes and should almost never have a saturation level above 60.
Our audio is designed to ensure that we can have 'quiet' and 'loud' sounds.
To ensure we have control over audio volume, all audio must be normalized to a volume of -0.1db prior to upload. This can be done with software such as Audacity etc.
Audio in Secondlife is played at a volume from level 0.1 to 1.0.
Quiet sounds (eg, a mouse) at Kokoro in general should use volumes between 0.2 and 0.4.
Most normal sounds (Eg, bird chirp, door closing thud) should be between 0.4 - 0.6
Any sounds above 0.6 is reserved for loud objects such as Belle (Kokoro's school bell that should be heard island wide).
Audio Range limiting
Due to a bug in some viewers, even the quietest sounds can sometimes be heard sim wide if not range limited. Therefore, instead of using llPlaySound, the following custom function should be used:-