142 Virtual World Design
important, as well as how it is lit and the various tints and tones used to accent it. Remember that it is not only
the color of the walls but also the colors of the oors, ceilings, and furnishings that are important.
The most important thing to remember is that one hue, one color is like a single musical note. You will
have to compose from many colors to create a rich visual composition in your virtual environment. Like a
symphony, there will be repeating themes of secondary and tertiary color as well as major chords composed
of dominant, saturated, and primary color combinations in your overall design.
7.5 COLOR AND DESIGN FOR ALL: WORKING TOWARD AN ACCESSIBLE PALETTE
Design for All is a very important factor in your color choices, overall palette, textual options and the
color/contrast choices of your project. Consider some of the following aspects of perception while you are
designing, so that your project gains greater visual accessibility. Approximately 200 million people in the
world are color-blind to some extent, about 8% of the male and 0.5% of the female populations. The most
common forms of color blindness are protanopia (less sensitive to red wavelengths) and deuteranopia (blind to
green wavelengths). As a responsible designer interested in creating virtual environments that are accessible
to all visitors, you will need to check your color palettes for readability by those who are color blind as well as
people with low vision. If you are doing disaster simulations, you will need to make sure your colors can be
seen by people under the stress of an emergency situation, when the human visual system may only operate
with shades of gray. For the most part, utilizing color combinations of yellow/blue or red/blue will provide
universal color-coded readability. Sometimes, changing the brightness, the saturation, or the background
texture of a color will add to the visibility, useful for those with low vision [12]. Adobe offers an accessibility
overview that explains how to utilize their color-blindness lters (http://www.adobe.com/accessibility/
products/photoshop/overview.html). In general, they suggest the following things to help you bring your
palette into a format that is visible by all:
1. Change color brightness or hue.
2. Pure red tends to appear dark and muddy; orange-red is easier to recognize.
3. Bluish green is less confusing than yellowish green.
4. Gray may be confused with magenta, pale pink, pale green, or emerald green.
5. Avoid the following combinations whenever possible: red and green; yellow and bright green; light
blue and pink; dark blue and violet.
6. Apply different patterns or shapes.
7. Add large white, black, or dark-color borders on color boundaries.
8. Use different font families or styles.
If you are a GIMP user, there is a color vision deciency plug-in available (http://registry.gimp.org/node/24885).
By applying these lters and testing your palettes for accessibility, you can make sure that everything you
create can be enjoyed, understood, and interacted with by all who visit the virtual environment.
7.6 PARTICLES AND THEIR USES IN DESIGN
7.6.1 WhaT are parTiCle sysTems?
Particles used in real-time games and virtual worlds are “sprites” or one-sided planes with four vertices
and two faces, displaying a texture element such as a droplet or snowake. Every particle generated will
billboard,” or always face the camera, to create the maximum visual density possible. Many particle systems
143Color, Particles, andSensory Spaces
or engines are used in the gaming industry to create the various effects of re, rain, snow, smoke, fog, gun
muzzle ares, explosions, dust clouds, and so on [1].
7.6.2 parTiCle sysTem BasiCs in seCond life and opensim
In Second Life and OpenSim, particles can be generated from any sort of mesh object or prim that contains
an LSL-based particle script. Refer to Table7.2, which shows the text of a basic particle script from the
Particle Lab in Second Life, to see how these qualities are delineated in the code. In the LSL code, PSYS
means Particle System, and SRC means Source or the particle emitter prim or mesh object.
Read through the LSL code and then double back to look at it while comparing the various modiers in
the script from the modiers list below Table 7.2.
There are many qualities to a particle that can be affected with a script, and they can be divided into the
following groups: physical attributes, temporal attributes, and movement attributes.
Refer to the list that follows and the lines of the LSL particle script from Table7.2 once you have put it into
an empty script inworld to see how this simple script provides lots of ways to affect how the particle looks
and behaves. This script should create a basic particle effect that starts as cyan streaks, which gradually turn
into circular dots that bounce away as they are affected by the wind. Please note, the LSL scripts in this book
should be downloaded from the website, http://www.anncudworthprojects.com/, and copied from its text les
to be pasted into a new script. Please see Chapter 2, section 2.3 for more details on downloading scripts.
7.6.3 lisT of modifiers in a parTiCle sCripT
1. Important physical attributes and the LSL basic particle script:
a. Texture. Line 7: This is a texture image that the system is using from your inventory. The LSL
script will use the default particle set in your basic inventory if you have not added the texture
to the content inventory of the prim that holds this script.
b. Scale or size. Line 8: This is measured in x and y directions only, in meters; the maximum is 4.0
meters.
c. Color. Line 9: Colors in percentage of R, G, and B.
d. Alpha or level of transparency. Line 10: 1.0 = totally opaque, 0.0 = totally transparent.
e. Emissive quality. Line 30: The // was removed in this line to make these particles self-illuminating.
f. Burst count. Line 12: Sets how many particles come out on each timed burst.
g. Burst radius. Line 19: Distance from emitter the particles originate, 0.0 = center.
h. Bounce. Line 33: Flagged on/off; works sort of like a force eld located at the center of the
emitter to reect and redirect the movement of the particles back in the opposite direction. The
particles will bounce up and then fall down to hit it again, each time with a little less rebound.
2. Important temporal attributes and the LSL particle scripting code line:
a. Life span of particle. Line 14: Determines how long a particle will be shown in the client viewer
once it comes into the avatar’s view or its emitter has been rezzed inworld. The maximum is
60seconds.
b. Burst rate. Line 13: Sets how often per second the emitter will create a burst of particles.
3. Important movement attributes and the LSL particle scripting code line:
a. Pattern. Line 17: Basic starting congurations for ow.
b. Burst speed. Line 18: Speed of particle through its lifetime.
c. Angle. Line 21: Sets the width of the angle; with pattern 8, will make a 3D cone.
144 Virtual World Design
TABLE7.2
Basic Particle Script from Jopsy Pendragon/The Particle Lab
Line# LSL Code or Comments
0 //Simple Particle Script - by Jopsy Pendragon
1 //The original version of this script came from THE PARTICLE LABORATORY in Second
Life
2 //Usage: (Touch) the scripted prim to start and stop this particle effect.
3
4 default {
5 state_entry() {
6 llParticleSystem([
7 PSYS_SRC_TEXTURE, llGetInventoryName(INVENTORY_TEXTURE, 0), //or a “TEXTURE-ASSET-
UUID-KEY”
8 PSYS_PART_START_SCALE, <0.1, 0.3, 0.0>, PSYS_PART_END_SCALE, <0.5, 0.5, 0.0>,
9 PSYS_PART_START_COLOR, <0.0, 1.0, 1.0>, PSYS_PART_END_COLOR, <0.5, 0.5, 1.0>,
10 PSYS_PART_START_ALPHA, 1.0, PSYS_PART_END_ALPHA, 0.0,
11
12 PSYS_SRC_BURST_PART_COUNT, 1,
13 PSYS_SRC_BURST_RATE, 0.02,
14 PSYS_PART_MAX_AGE, 4.0,
15 PSYS_SRC_MAX_AGE, 0.0,
16
17 PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE, //or _DROP, _EXPLODE, _ANGLE
18 PSYS_SRC_BURST_SPEED_MIN, 0.75, PSYS_SRC_BURST_SPEED_MAX, 1.00,
19 PSYS_SRC_BURST_RADIUS, 0.5,
20
21 PSYS_SRC_ANGLE_BEGIN, 0.2*PI, PSYS_SRC_ANGLE_END, 0.3*PI,
22 PSYS_SRC_OMEGA, < 0.0, 0.0, 0.0 >,
23
24 PSYS_SRC_ACCEL, < 0.0, 0.0, -0.5 >,
25 //PSYS_SRC_TARGET_KEY, llGetLinkKey(LINK_ROOT),
26
27 PSYS_PART_FLAGS, (0
28 |PSYS_PART_INTERP_COLOR_MASK
29 |PSYS_PART_INTERP_SCALE_MASK
30 |PSYS_PART_EMISSIVE_MASK
31 |PSYS_PART_FOLLOW_VELOCITY_MASK
32 |PSYS_PART_WIND_MASK
33 |PSYS_PART_BOUNCE_MASK
34 //|PSYS_PART_FOLLOW_SRC_MASK
35 //|PSYS_PART_TARGET_POS_MASK
36 //|PSYS_PART_TARGET_LINEAR_MASK
37 )
38 ]
39 );
40 }
41
145Color, Particles, andSensory Spaces
d. Acceleration on a vector xyz. Line 24: Accelerate in a direction; adding a minus value for z will
create gravitational effect on the particle.
e. Wind response. Line 32: Allows the particle direction to be affected by inworld winds. This is
agged on and off by removing the // at the front of the line.
f. Follow the emitter. Line 34: Flag on/off to have particles follow a moving emitter.
g. Target a position. Line 35: Enables the particles to nd a target, which is dened in Line 25.
h. Target linear. Line 36: Sends particles in a straight line toward the target, ignoring wind and the like.
Once you have an understanding of these modiers, you can affect the look of your particle systems easily .
If you have an interest in targeting prims in various ways or simply want a ne collection of basic scripts
for re, snow, and so on, then you should head over to the Particle Lab in Second Life. Founded by Jopsy
Pendragon, this entertaining and educational region has much more information about particles available at
the inter active displays (http://maps.secondlife.com/secondlife/Teal/191/56/21).
7.6.4 BasiC rules for using parTiCles and insTanTiaTion
In the virtual worlds of Second Life and OpenSim, particles are rendered by your client viewer. The
Firestorm/Preferences/Graphics menu has a slider setting that allows you to see up to 8192 particles in a
scene. That may sound like a lot, but get a snowstorm particle system going and add in a few avatars shoot-
ing off reworks and soon you will see a diminished effect. Particles do not cause lag in a virtual world, but
their scripting can. Care should be taken to make the scripts as efcient as possible, and if you do not code
yourself, you should make sure your code writer has knowledge of how much server lag each script the writer
makes adds to your region. There is a limit on visibility for particles, dependent draw distance, and size of the
emitter. If you need to see a particle from across the sim, then your draw distance will have to be turned up,
and the emitting prim may need to be scaled up. By varying the size of your emitters across the landscape,
you can keep the particle load on the observer’s viewer at a manageable level. When you are making particle
systems for a Unity-based game, beware of too many particle instantiations happening in a short time. This
additional amount of work for the game engine may slow the game play, and it is better to recycle a group of
objects with particle systems in them than to constantly create new ones during game play.
TABLE7.2 (Continued)
Basic Particle Script from Jopsy Pendragon/The Particle Lab
Line# LSL Code or Comments
42 touch_start(integer n) {state particles_off;}
43 }
44
45 state particles_off {
46 state_entry() {llParticleSystem([]);}
47
48 touch_start(integer n) {llResetScript();}
49 }
50
146 Virtual World Design
7.6.5 TexTures for parTiCles
When you make a texture for particles, be careful of the edges on the image; if they are not 100% clear
alpha, your particles will look like they have little frames around them. Creating particle textures for particle
systems is more art than science, but there are a few good tips to remember.
Tip 1. Unless you require a specic image for your particle, make the texture as a white pattern
over a transparent background so you can color shift it to any palette you want using the
PSYS_PART_START_COLOR, <1.0, 1.0, 1.0>, PSYS_PART_END_COLOR, <1.0, 1.0, 1.0>,
line in the LSL script.
Tip 2. If you need copious amounts of particle ow, such as a waterfall, follow this advice from Jopsy
Pendragon and utilize a texture with lots of smaller dots on it rather than one dot in the middle.
Thecollective presentation will look denser with a lower particle emission rate saving processing time.
Tip 3. Pay close attention to the duration of the particles life span; do not let the particle live one bit
longer than necessary for your effect.
Tip 4. When you have the particles owing the way you want and you do not think you will need to
copy the object in your build, you might consider the option of deleting the script from the object;
the particles will keep owing, and you have removed a script from the server load.
Tip 5. Remember that particle scripts may cause server lag; particles are rendered in the viewer.
Ascript that creates too many particles may crash your graphics card.
Tip 6. Jopsy Pendragon, creator of the Particle Lab in Second Life, gave me this tip: “Consider and
tune for the intended ‘viewing distance.’ For large far-off effects use fewer and larger particles
rather than trying to compensate with quantity. For small up-close particle effects, use small
prims/small object because they wont get rendered for people far away, and wont cause them
unnecessary lag.
7.6.6 designing WiTh parTiCles
As a designer, you will probably nd many needs for particles in your builds. It is relatively common to see
them used for re, fog, fountains, and atmospheric effects, but have you thought of other ways these ele-
ments can be used? Now, it is up to you to push the particle creative boundary outward; they can be made
into the feathers of a wing, the crystal beads on a chandelier, or a glowing moon. Let your imagination push
you to more diversied usage.
7.7 PROJECT: DESIGNING A COLORED LIGHT AND PARTICLE EFFECT
The goal of this project is to design and build a colored light and particle show for installation in a pre-built
structure called the Sensory Space. When you start to design this kind of thing, you should ask yourself:
What is my central image, my inspiration, for this space? For you, perhaps it the darkness of a womb, the
magnied lens of a drop of water, or possibly the fragrant heart of a rose. If you want this space to be a
volume full of moving light colors, then you may be inspired by the artwork of the Light and Space move-
ment, which originated in California in the late 1960s [13].
For the purposes of this project, the concept of a nebula was chosen; inspiration was drawn from the
magnicent images the Hubble Telescope has sent back to us (http://hubblesite.org/gallery/album/nebula/).
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset