Palette Reference – 04 – Thrower – Part 1 – Overview

Artiste Thrower

A throw is meant to provide the ability for a performer to interact with propelled objects.

You could sail an object across a room like a frisbee.  You can land an object onto another object.  You can stop an object in mid-flight.  You can propel an object, causing it to knock over one or more objects.   You can case a propelled object to break another object into pieces. You can tumble an object end-over-end.  You could bounce an object off the floor.  You can catch a thrown object using a ‘catcher-like’  feature or the attach feature.  You can change speeds in mid-flight.   It is bounded only by your imagination.

A throw command starts a throw sequence.  A throw is the propelling of an object based on either gravity or a targeting.

Gravity causes more of an arc in the trajectory while targeting presents a near-flat trajectory.

It offers a choice of propulsion methods, rotation methods,  in-flight options, and termination-dispositions.  Its power comes from using invisible objects to cause collisions at specific times in order to trigger extra events as well as its ability to attach to an avatar.

The specifications of a throw are based upon:
1) entries on the *thrower nc
2) the use of contraptions, otherwise known as unscripted non-physical objects, properly-placed.
3) well-timed triggering of one or more throw commands.
4) one or more animations that help sell the throw and/or catch of the feature.

Although you can do a basic throw/toss of an object, you can also: land, carom, boomerang, catch, bounce, stop-action, ricochet, kickshoot, dribble, as hinted at earlier on.

There are 3 sets of primary commands throw1, throw2, and throw3 that determine which pair of velocity./rotation pairs will start a throw sequence.

A throw sequence consists of:
1) movement
2) rotation
3) cessation
4) ending disposition
5) termination concesquences

Format:

02_A%throw1this will throw palette 02_A using the entries on the *thrower nc called:
ApplyImpulse and AngularVelocity. This is the one (throw1) you will use most of the time.  Using a 2nd throw, say throw2, would be in a palette that was thrown from throw1 and it would use ApplyImpulse2 and AngularVelocity2, assuming you chose gravity and not targeting.

Most important is to ‘have a good reason’ to use a throw and a proper context.  Second most important is your imagination as to how to present and incorporate a throw into your routine at the right time and place.

Below are the entries on the *thrower nc.  Learn them on a need-to-know basis.

*thrower nc

TRACE,off

/**** Thrower ****
AutoReturn,10
Boomerang,off
BoomHoverDelay,1.0
CollisionPostActions1,off
CollisionPostActions2,off
CollisionPostActions3,off
IgnoreFirstCollision,off
RangePostActions,off
/* ThrowingBodyPart 2=Skull,5=LHand,6=RHand,7=LFoot,8=RFoot
Receiver,0
RemoveFolder
RemoveFolderDelay
RezMe,off
Richochet,off
ShowInMidFlightAfter,0.25
TempRezMe,off
ThrowOnCollide

/* Rezzer
Rezzer,off
RezInvisiDelay
RezObjectName
RezSource
Thrower0123OnRez

/* Targets ThrowerTarget=Object/Avatar/Both/off – avatar must be Owner for owner
DirectionalVector,Local
ThrowerTarget,off
ThrowerObjectTargetName1,HatTargetB1
ThrowerObjectTargetName2,HatTargetB2
ThrowerAvatarTargetName

/*Motions – only one usually
SetApplyImpulse,off
/*llApplyImpulse(llGetMass()*<0,2.0,2.66>,TRUE);
ApplyImpulse,<0,1.0,1.0>
ApplyImpulse2,<0,-0.5,1.5>
ApplyImpulse3,<0.0,-8.0,6.0>
SetMoveToTarget,off
/* Make Tau smaller for more rushed following
MoveToTargetTau,2
AtTargetRange,0.5
SetVelocity,on
Velocity,<0,2,2.66>

/*rotations – only one
SetAngularVelocity,off
AngularVelocity,<0.0,0.0,0.0>
AngularVelocity2,<0.0,0.0,0.0>
AngularVelocity3,<0.0,0.0,0.0>
/*PreOrientRot,off
SetTargetOmega,off
/*StartRotOffset,(Full/Half)
/*llTargetOmega(<1.0,0.0,0.0>,TWO_PI,2.0);
TargetOmega,<1.0,0.0,0.0>,6.283185,2.0>

/*Posts Collision
AttachOnCollide,off,5
/*ControlOnCollide,on,SoccerBall4,Hide,ALL,3.0
ChatOnCollide,off
ChatOffCollide,off
ControlOnCollide,off,SoccerBall4,detach
ControlOnCollideDelay
DieOnCollide,off,1.5
MakePhysAfterPost,0
MaterialsOnCollide,off,0.2,10,10,0.1
SetMatchPosOnCollide,off
SetMatchRotOnCollide,off
SetStopSpinOnCollide,on
SetNonPhysOnCollide,on

/*Posts Target
AttachOnRange,off,6
SetMatchPosAtTarget,on
SetMatchRotAtTarget,on
SetStopSpinAtTarget,on
SetNonPhysAtTarget,on

/*Post Matrix
SetMatrix,on
MatrixSpeedFactor,3.0
MatrixDelay,1.0
MatrixNonPhysAfterWait,2.0

/*Follower
/* FollowTargetType (Avatar/Object/Troupe/Owner)
/* MoveToTargetTau
/* AtTargetRange
Follow,off
FollowNameOrKey,Name
FollowName,Lat Lovenkraft
FollowTargetType,Avatar
FollowKey
/* FollowerDelay seconds between blinks; lower for more lag
FollowerDelay,0.5
FollowPhantom,off
ObjectToFollow
END
/*DirectionalVector,(Local/World)

 

 

Palette Reference – 03 – Flasher

This feature glows on and off the full set of links in a link-set using the current colors and textures;

Requires the Utility Script.
No Abilities required.

paletteName/abbrev%flasher%(on/off)%glow-amount%glow-rate%glow-duration

glow-amount, glow-rate, and glow-duration are optional

Ex:

02_A%flasher%on — uses defaults
02_A%flasher%off

02_A%flasher%on%0.3 — uses defaults glow-rate & glow-duration
02_A%flasher%on%0.4%0%0.2 –– this will use default glow-rate
02_A%flasher%on%0.0%0.02%0.2 — uses default glow amount

Defaults are: 
glow-amount =  0.2
glow-rate =  0.01
glow-duration = 0.1

 

 

 

Palette Reference – 02 -Show/Hide

Format:   Palette name
or
abbrev%command%
ALL
or ONE
or linkName (preferred)
or
link number
%DelayTime (seconds)

ALL = all links
ONE = the root prim or the (non-root) link/prim the palette scripts are in (strongly not suggested)
link number = 1 thru 256.  Zero (0) allowed if only 1 link, which is the same as ONE
 

Examples:

02_A%Hide%ALL
02_A%Show%ONE
02_A%hide%RedLink
02_A%show%3
02_A%hide%ALL%5

 

 

 

Palette Overview

 An ArtistePalette is a set of notecards and scripts.  You can place/copy them into any modifiable object. 

By changing the notecards, you can control what features the Palette is capable of performing upon receiving one or more commands.

There are a lot of commands that you can send to a Palette to tell it to do different things. 

You can send commands to it in various ways:
1) Thru its own Palette menu
2) The Artiste Performance HUD via the *autofx notecard
3) 
The Artiste Performance HUD embedded in a *sequence notecard
4) The Artiste SmartDancer via the *sequence(1-9) nc Chat command
5) Remotely via other vendors chat commands
6) From another Palette via an Action specified in a *moves notecard
7) Channel 66 in local from its owner.
8) Thru the Palette Trainer.

Notecards:

*moves
*palette
*specialfx
*utility
*thrower (optional)

Retired
*couples
*chorus
*experience


Scripts:

Artiste Assets
Artiste Fader
Artiste Mover
Artiste MovesLoader
Artiste Palette
Artiste Receiver
Artiste Special FX
Artiste Utility


 

 

Palette Reference – 01 – FadeShow/FadeHide

FadeHide and FadeShow – Palette-v27
Abilities – None


Format:   Palette name or abbrev%command%ALL or ONE or linkName (preferred) or link number%fadetimeoverride

IMPORTANT: fadetimeoverride is a just a number that represents !!!ABOUT!!! 5 seconds for a value of 1.
So..
1 = 5 seconds;
2=10 seconds;
0.5 = 2.5 seconds

ALL = all links
ONE = the root prim or the (non-root) link the palette scripts are in (strongly NOT suggested)
link number = 1 thru 256.  Zero (0) allowed if only 1 link, which is same as ONE

LinkName is strongly preferred over LinkNumber because LinkNumber is not reliable.  If LinkName is not found then it defaults to ALL

The default fade times are specified in the *palettes nc are called:

FadeToHideTime,5
FadeToShowTime,5
 

Examples:

02_A%FadeHide%ALL%3
02_A%FadeShow%ONE%2
 

If the last parameter (fadetimeoverride) is missing then the default FadeTo or last override time is used
 
***********
 
Other factors involved:
*palette notecard
 
FadeToHideTime,5
FadeToShowTime,5
InitialShowHide,(Show/Hide)
MinAlpha,0  ***  0      = invisible
Alpha,1000  *** 1000 = opaque
980 is used for silhouettes