Category Archives: Uncategorized

SmartDancer 115 – Commands – PREP (PrepForm)

PrepForm allows for multiple commands to be entered on the same line and called up later by entering a single number.  It used to be  a way to PREPare for FORMation moves but it is also a way to PREPare for Animations and Canons and more.  So we will refer to it as just PREP from now on.

The Controller currently allows for 11 PREPS (PrepForms)

Multiple Commands are separated by commas.
The one exception would be vectors for the Color command. Commands with parameters use ‘%‘ as a separator for the parameters.

i.e.

*prepform
1,Alternate,SendX,Turn%Left

PREPS can be called from AutoFX  AND/OR from Sequencer.
i.e.

HUD using *autofx
1,SD=PREPFORM,1 — an exception where we use a comma instead of a percent-sign (%)

Sequencer using *sequence
1,PrepForm,1

*************
1 – GROUPING

Grouping ONLY applies to  TURNS and
FORMATIONS. So, yes, a formation CAN apply to just half of the dancers, which can lead to some very interesting and unique hybrid formations.

1,Half    << sets Grouping to half left, half right….i.e.
X=jklm
Y=nopqr  when 9 dancers

1,Alternate  << sets Grouping to every other i.e
X=jlnpr
Y=kmoq   when 9 dancers

1,No_Grouping
1,SendX
1,SendY
1,SendZ

Sends specify WHICH group (X,Y or both(Z)) will receive subsequent TURNS, Canons w/turnsFormations, & June commands

1,Speed%9%5%0.2
Formation Speed/June Speed  %  Turn Speed % Canon Interval

*************
2 – FORMATIONS

1,Form%COLUMNSBLK  — Form Name must be CAPITALIZED
Not a real prep command so demoted

*************
3 – ANIMATIONS

1,Dance%Bodi
Not a real prep command so demoted

1,DanceCanon%*Bodhisattva —  actual animation name
CanonAnimationOverride

1,StopCanon — Stops Only the last Canon Animation
1,Freeze — makes last animation the backing animation – protects it from being stopped. Meant to be used with StartKill

1,UnFreeze — Stops the Frozen (Backing) Animation
1,StopAll — Stops all Local and Canon Animations
1,StopLast — Stops Only the last Local Animation
1,StopA — Stops last animation played for Division A
1,StopB — Stops last animation played for Division B
1,StopC — Stops last animation played for Division C
1,StopD — Stops last animation played for Division D
Not  real prep commands so demoted

*************
4 – TURNS

1,Turn%45L — New
1,Turn%45R  — New
1,Turn%Home
1,Turn%Left
1,Turn%Right
1,Turn%In
1,Turn%Out
1,Turn%180
Not  real prep commands so demoted

*************
5 – JUNES

1,June%Left
1,June%Right
1,June%45L
1,June%45R
1,June%Home
1,SemiRight
1,SemiLeft
No longer  real prep commands so demoted

NEW
1,JuneTarget% (alt1, alt2, ends, middle, left, right and
(j-r or ClearJune) or specific letters
1,ClearJune 

*************
6 – CANONS

1,Canon%Left
1,Canon%Right
1,Canon%TurnIn
1,Canon%TurnOut
1,Canon%Home
1,Canon%Reverse
1,Canon%Forward
Not real prep commands so demoted

1,AnimsOnly
1,TurnsOnly
1,Turns&Anims
1,SelectCanon%1
1,SelectCanon%2
1,DanceCanon%*Bodhisattva —  actual animation name
1,CanonOrder%@432187659 — IMPORTANT you use the @ instead of the normal $
1,Hold
1,Release
1,StopCanon
1,Switch
1,UnSwitch
1,Finish  —  automatically plays CanonAnimation2 in *smartdancer nc in animesh OR — returns to backing animation after last Canon — also performs Auto Commands pre-effect at start of animation and post-effect at end of Canon cycle (effects are: AutoChat,AutoGlow,AutoFade,AutoColor
(CanonAnimationOverride2) in *channels nc in Controller
1,UnFinish
1,ColorCanonLinks@%Silk%Dress%Veil — sets multiple clothes for  canon coloring – must be executed before Canon-Coloring

*************
7 – DIVISIONS

1,Division%AABBCCDDA
1,SendItTo%A
1,SendItTo%B
1,SendItTo%C
1,SendItTo%D

*************
8 – EFFECTS

1,ClothesName%(name of link) — sets link-no. based on object-name of link
1,ClothesLink%(link no) — sets link-no. to parm for Clothes command — good for single-link animesh, use -1 for link-set
1,Clothes%<1,1,1> — changes color based upon preset link-no.
1,Naked%(alpha-value) – changes transparency to preset link-no

1,AutoColorOn
1,AutoColorOff
1,AutoColorAmount%<1,0,1>%<1,1,1>

1,AutoChatOn

1,AutoChatOff
1,AutoChat%123456%This is the chat message — channel and msg

1,AutoGlowOn
1,AutoGlowOff
1,AutoGlowAmount%0.5%0 0.5 is for ON, 0 is for OFF

1,AutoFadeOn
1,AutoFadeOff
1,AutoFadeAmount%0.5%0 — 0.5 is for ON, 0 is for OFF –transparency 1 is opaque, 0 is invisible

1,Fade%j-r%0.5 — NEW 01/16 — NOTE: FadeNow from EFFECTS menu is equivalent of this command.  It needs Target to prepare it
Not real Prep command so demoted

1,Vanish%j-r
2,Appear%j-r
or
1,Vanish%lmno
2,Appear%lmno
Not a real prep commands so demoted

1,FadeOut%j-r
2,FadeIn%j-r —  allow time for fadeout 
or
1,FadeOut%lmno 
2,FadeIn%lmno  —  allow time for fadeout
or
1,FadeIn%j-r
2,FadeOut%j-r   —  allow time for fadein
or
1,FadeIn%lmno
2,FadeOut%lmno   —  allow time for fadein
Not a real prep commands so demoted

1,Target%k-p — Target applies to BOTH EFFECTS and CANONS.
or
1,Target%jklopq

1,ClearCanonTarget — Sets Canon & Effects Target to ‘jklmnopqr’


1,Color%jklm%<1##0##0>
1,Glow%r%1.0
Not a real prep commands so demoted

*************
9 – OTHER

1,LastCanonPrep%11%2.5 — no. of PREP to execute on last Canon cycle, Delay in seconds  before PREP fires
1,Sit2Sit%(name of object to sit on)
1,RenameNew%(new animesh/avatar name)saves old name in desc
1,RenameOld%(original animesh/avatar name)renames old name

1,Hide   — Hides HoverText and Controller
1,Wait%3.5
1,Chat%123%This is my message
1,Say%0%This is my message
1,Whisper%0%This is my message
1,Shout%0%This is my message
1,IM%This is my message — sends to owner

SmartDancer 113 – Commands – Sequencer

Sequencer Commands & PREP Commands

PREFACE:  IMPORTANT.  The following commands are sent to Animesh.  This means that the Animesh must have the animesh scripts and notecards inside of them. Targeting may restrict which animesh receive certain commands.

PREP Only commands are in GREEN meaning only those commands are allowed to be PREP commands on the *prepform nc.  Any and all commands can be sequencer commands that go on *sequencer? ncs.  And remember that PREP commands have a different format and use % (percent sign) instead of  ,   (comma)

***************
1 – Introduction

 

You enter active commands, one per line for, on *sequence? ncs to execute at given times, on one or more *sequencer notecards (ncs). You can specify by elapsed time or duration time.

You enter passive commands, more than one per line are allowed  f, on the single *prepform nc to execute at given times

Examples of how to enter commands on the *sequencer nc.

The first statement on a *sequencer nc should be an ElapsedOrDuration entry.  Only one ElapsedOrDuration nc should be on any given *sequence nc and it should be the 1st entry. See below:

Note that when choosing elapsed time, times must be greater than the previous time or execution will be halted.  Duration times can never be zero. It is strongly suggested that you end elapsed time ncs with a StopAll entry.

Only 1 command per line.

Each line must have a time at the end separated by a vertical bar.  It must be either elapsed time or duration.  You cannot mix the two but you CAN use multiple sequences, where some could be duration and some could be elapsed.  Elapsed is the default should you forget to specify.

Examples:
ElapsedOrDuration,Elapsed
ElapsedOrDuration,Duration

**********************
2 – Executing a Sequence From Controller

 

You can start a sequence from the SmartDancer Menu of submenus:

Main Menu ->> Read&PlaySQ — Reads AND executes last selected sequencer nc.  (i.e. *sequence? where ? is 1 thru 9.  0 is reserved for Master.

Sub-Menus

[Options]==>
READ_SEQReReads current Sequence
STOP_SEQ
Stops the current running sequence
ReReadSeq rereads the last selected *sequence nc

[Expansions]==>[Sequences]==> (list of sequences by name. Names are assigned to sequences in the *sequence0 nc)  Pressing a button (1 thru 9) READS that sequence and makes it the CURRENT sequence for Playing (executing) or having changes made to it for ReReading.

You can now, also bring up the SmartDancer Controller Menu from either the SmartDancer Relay HUD by just clicking on it, Activation IDs must matches

OR

From the Artiste Performance HUD via the yellow AutoAccess button.  ActivationID must be 4 on the Controller. Click on the SmartDancer button.

**********************
3 – Executing a Sequence From Chat

 

…or another choreography tool.
The tool must be owned by you.

Please see  this post for more detailed information on Playing Sequences: Playing Sequences

Use the following channel specified on your *channels nc inside your SmartDancer Controller. Specify your own channel.

ChannelForFromArtisteHUD,-123456789

The Commands are:

SDREAD_AND_PLAY_SD_SEQ

SDPLAY_SEQ

SDREAD_SEQ

**********************
4 – Format:

/* lineno, command, parm1(optional), parm2(optional), parm3(optional), parm4(optional) | elapsed-time or duration

Note: Lineno can be anything like a comment as it is not validated other than needing to be something there.  Examples:
1,Half | 0  or
,Half | 0 or
Grouping for TurnIn,Half | 0

*************
5 – Grouping

 

Grouping ONLY applies to  TURNS and
FORMATIONS. So, yes, a formation CAN apply to just half of the dancers, which can lead to some very interesting and unique hybrid formations.

1,Half | 1    << sets Grouping to half left, half right….i.e.
(half of J-R or half of A-I)
XXXXYYYYY XXXXYYYYY
X=abcdjklm 
Y=efghnopq

1,Alternate | 1    << sets Grouping to every other i.e
X=acegikmoq
Y=bdfhjlnpr

1,No_Grouping | 1
1,SendX | 1 — Sends next turn or formation to GroupX
1,SendY | 1 — Sends next turn or formation to GroupY
1,SendZ | 1 — Sends next turn or formation to everyone

NOTE: No_Grouping now just does a SendZ and leaves the last Grouping, either Half or Alternate (unless it was the initial setting which IS No_Grouping, so all you have to do is do a SendX or SendY and it will use the previous Half or Alternate setting.

Sends specify WHICH group (X,Y or both(Z)) will receive subsequent TURNS and Formations,  commands|

Please note that JuneTarget WILL affect X,Y, and Z and limit which of the X or Y or Z are affected by subsequent Turns and Formations. i.e. ( altb = bdfh…this would limit a SendX on Half to just bd instead of abcd)

*************
6 – Speed

 

1,Speed,-1%-1%0.2 | 1

Formation Speed (& June),
TurnDurationOverride,
CanonDurationOverride
(-1 for skip)

*************
7 – Formations

 

1,FORMJR,COLUMNSBLK | 1 — Selects from *formations nc
2,FORMAI,SINGLEFILE | 1 — Selects from *expansions nc
3,FORMALL,SINGLEFILE,FRONTLINE |1  –– JR formation then AI formation both sent at nearly the same time

*************
8 – Animations

 

There are 5 animation states:

1 Default standing animation. This happens when no other animation is running and happens at the start and end of routines as well.  This animation can be replaced via nc or changed dynamically at run-time using the passive StandingAnimation command.  It uses the actual name of the animation to replace the ‘standing‘ animation.

2 Current active running animation. This is simply the animation that is currently running.  It is the animation that will be STOPPED when you execute the StopLast command.

3 Backing animation.  This is simply the animation that  was currently running just prior to a Canon sequence running.  This is the animation that will start running again after each Canon Animation completes.  It is always the current active running animation just prior to a Canon running, unless there is a FROZEN animation

4 Canon Animation This is the animation that runs during a Canon cycle. It can be the same or different for each dancer, be they animesh or avatar-on-poseball.  This animation can also temporarily be changed dynamically at run time but then it changes for ALL Canons solos.  Setting it to blank at anylevel causes the CanonAnimation to revert back to the prior lower level.  

5 – Frozen Animation – This is always the Current active running animation, UNLESS…you specifically FREEZE an animation, in which case, THAT animation becomes the Backing animation.   You can UNFREEZE the frozen animation.  The next animation, and each subsequent animation will act as the new FROZEN and Backing animation

============

NOTE: The default Division is A. So if you specify a divison without specifying a SendItTo command, only those in Division A will dance your first dance.

1,Dance,Bodi | 1 — Causes animation associated with button name ‘Bodi’ to play immediately on LAST specified Division which COULD be set by a Dance2 so be careful .  Best to be explicit.

1,Dance,Bodi,C | 1 — NEW 02-03-21 – This sends Bodi button name to Division C and makes C the current division so then subsequent Dance commands can  eliminate division if the dancers are meant to go to Division C. …You can always use a SendItTo,C or a SendToDiv,C command as well.

1,Dance2,Bodi,A,F-Belly1,B  | 1 — NEW!
Dance2 allows you to send 2 dances at the same time to two different divisions. It  uses the Button name

TIP: You can use this command to send a single dance and its Division.
EX: 1,Dance2,Bodi,A |1
This saves a line from the traditional , replacing both the following:
1,SendItTo,A | 1
2,Dance,Bodi | 2

This command (Dance2) was created with couples dancing in mind. The A and B, in the example above, designate which divisions  are in play and overrides any previous Divisioning, TEMPORARILY. 

1,Standing,!N HStand1 | 0 — New.  this changes the default standing animation for all dancers (avis/anis) and overrides the StandingAnimation entry on any *smartdancer ncs.  This MUST BE the ACTUAL animation name and NOT the button name.

This is a handy way to allow for priority 3 animations to run and override priority 4’s.  Please contact Lat Lovenkraft as the topic is worth a face-2-face 1-on-1 conversation. 

In short: It is advisable that a standing animation be priority 3 but when it isn’t then priority 3’s will have trouble running after a priority 4 if the standing animation is priority 4.

1,DanceCanon,Bodi | 1 —  CanonAnimationOverride – button name ***WITHOUT*** the at-sign (@)

1,StopCanon | 1 — Stops Canon Animations

1,Freeze | 1  —  makes last animation the backing animation – protects it from being stopped. Meant to be used with StartKill.  This will be the animation that runs when CanonAnimations stop.

1,StopAll | 1 — Stops all Local and Canon Animations
1,StopLast | 1 — Stops Only the last Local Animation
1,StopA | 1 — Stops all dancers assigned to Division A
1,StopB | 1 — Stops all dancers assigned to Division B
1,StopC | 1 — Stops all dancers assigned to Division C
1,StopD  | 1 — Stops all dancers assigned to Division D

*************
9 – Turns

 

1,Turn,45L | 1 — New — turns 45 degrees counter-clockwise
1,Turn,45R | 1  — New — turns 45 degreesclockwise
1,Turn,Home | 0– TEMPORARILY DISABLED
1,Turn,Left | 1
1,Turn,Right | 1
1,Turn,In | 1 — Requires HALF or ALTERNATE Grouping
1,Turn,Out | 1 Requires HALF or ALTERNATE Grouping
1,Turn,180 | 1 — turns 179  degrees counter-clockwise

*************
10 – Junes

 

1,June,Left | 1 – dancers rotate counter-clockwise around controller
1,June,Right | 1 – dancers rotate clockwise around controller
1,June,45L | 1 — dancers rotate 45 degrees counter-clockwise around controller
1,June,45R | 1 — dancers rotate 45 degrees clockwise around controller
1,June,Home | 1 — dancers rotate  around to the home rotation
1,SemiRight | 1 — NOTE: This takes twice as long as normal Junes
1,SemiLeft | 1 — NOTE: This takes twice as long as normal Junes

1,JuneTarget,(target[shortcuts]) | 1 — NEW  ( see target shortcuts at end)
NOTE: Set this value just BEFORE and reset it off (use ClearJune)  just after your June has completed. If you forget to set it back, the JuneTarget will also act as a target for formations…which MIGHT? be what one might want for an unusual formation limitation since only Groupings intentionally limit formations and turns.

1,ClearJuneTarget | 1  abcdefghijklmnopqr

1,JuneAI,<3,8,0>  | 1 — NEW 12/20 – Offset for 2nd separate June only for A-I;  turn off after use with 1,JuneAI,<0,0,0>  | 0

 *************
11 – Canons

 

Solos animations and/or turns based upon the pre-specified Target

NEW FOR 2022

The PushOut – this new feature allows the soloing canon dancer to move out away from the other dancers so their animation is less constricted 

Rules: 
#1 – You can choose either PushOut or Turns  (Turns&Anims) but not both.

#2 – You MUST have a Walk1 and Walk2 animation.  I have provide 2 Full-Perm walk anims called JD walk 1 and JD walk 2.   Use one to walk into the canon dance and the other to walk back to the original departure point.  Be sure you have the Walk animations defined in the *animations nc.

New sequencer command can dynamically dictate if the walk or Canon animation are used to move forward and back using the new sequencer command.  Using targeting, you can mix the two options, (walk and anim). The default is “anim” if there is no sequencer override and there is no *smartdancer entry for CanonWalkOrAnim,anim

*sequencer nc
PushOutWalkOrAnim,(walk/anim/inplace)

*smartdancer
CanonWalkOrAnim,walk
Walk1,JD walk 1
Walk2,JD walk 2
TurnDuration,3.0

#3 – The PushOut uses a constant of 0.2 seconds for the 2 turns used in the walk out …one to return to the line and a 2nd to reface forward.  It uses a Turn 180.

#4 – The PushOut uses the TurnDuration to determine the Walk1 and Walk2 durations.

#5 – You  must specify 2 entries in the *sequence nc.  See example below and the PushOutCanonFormIN should occur before the PushOutCanonFormOUT 

#6 – The PushOutCanonFormOUT  dictates how far the dancers will move out from their home position.  Simply CaptureJR  it and include it.  Currently only J thru R are able to participate in PushOuts.  A-R can still participate in turns. PushOutCanonFormIN is the name of the form that the Canon starts from.

/*0,TraceSequenceTimes,on | 0.1
1,Hide | 0.2
2,Division,AAAAAAAAA | 0.3
3,Dance,Bodi | 0.4
4,Target,j-r| 0.5
5,PushOutCanonFormIN,LINE2JR | 1
6,PushOutCanonFormOUT,LINEJR | 2
7,PushOutWalkOrAnim,anim
/*4,DanceCanon,Samia | 10
/*7,Canon,Reverse | 1.2
8,Canon,Left | 13
21,StopAll | 100
END

#7AlwaysFaceAudience,yes is assumed.

#8 – PushOutWalkOrAnim,(walk/anim/inplace)
If you choose anim option, then the walk cycles, both in and out, use the CanonAnimation instead of the walk animations. Use the ‘inplace’ option and the dancers will do their CanonAnimation in place without moving out of the dance line.  This is how it used to work.

***

1,Canon,Left | 1
1,Canon,Right | 1
1,Canon,TurnIn | 1 — GroupX turns left, GroupY turns right
1,Canon,TurnOut | 1 — GroupX turns right, GroupY turns left
1,Canon,Home| 0 TEMPORARILY DISABLED
1,Canon,Reverse | 1 — Plays Canon in reverse order
1,Canon,Forward | 1 — Plays Canon in forward default order
1,AnimsOnly | 1 — Only performs animations during Canon.  It does not matter which Canon direction you choose.
1,TurnsOnly | 1 — Only performs turns during Canon.  
1,Turns&Anims | 1 – Only performs turns * animations during Canon.  Be sure to add the times for both per dancer.
1,SelectCanon,1  | 1 — Makes CanonAnimation1 & Interval current
1,SelectCanon,2  | 1 — Makes CanonAnimation2 & Interval current
1,DanceCanon,D-Belly-11 | 1  –  button name WITHOUT at-sign
1,CanonOrder,$432187659 | 1 — This duplicates for AI and JR
i.e. $432187659432187659  (abcdefghijklmnopqr)
1,Hold | 1 ––  Prevents Canon Dance from reverting back to backing
1,Release | 1 ––  Resumes Canon Dance reverting back to backing
 1,StopCanon | 1 — Stops All Canon Dancing, reverting back
1,SeqSwitch | 1 — Alternates between CanonAnimation1 and 2
1,SeqUnSwitch | 1 — Undoes Canon dance alternation
1,Finish  | 1 —  automatically plays CanonAnimation2 in *smartdancer nc in animesh OR — returns to backing animation after last Canon — also performs Auto Commands pre-effect at start of animation and post-effect at end of Canon cycle (effects are: AutoChat, AutoGlow, AutoFade, AutoColor
NOTE: Does not work with Hold state

1,UnFinish | 1
1,ColorCanonLinks,Silk%Dress%Veil | 1– note: we use a comma after ColorCanonLinks instead of ‘
@‘  as we do with PREPFORM. We use % as separators for multiple parameters

NEW – 10-22-20
1,GlowCanonLinks,Silk%Dress%Veil | 1 –– note: we use a comma after ColorCanonLinks instead of ‘@‘  as we do with PREPFORM. We use % as separators for multiple parameters

NEW – 12-12-20
1,AfterCanon,2 | 1 — automatically executes sequence #2 after canon completes  where 2 can be any valid sequence number.
1,AfterCanon,0 | 1 — turns it off

NOTE: Be aware that the CURRENT sequence is now *sequence2 and so when you reread sequence, it will be the 2nd sequence.  Also, it is STONGLY recommended that you have an ElapsedOrDuration entry at the start of all *sequence ncs or you could find yourself with unsuspected results.

*************
12 – Divisions

 

NEW! 01/13/21
DIvisions can now be 9 or 18 long on a sequence nc.

IMPORTANT!!! Previous Targeting WILL limit the division assignment so unless you have intentions, be sure Targeting is ‘all’, (i.e. abcdefghijklmnopqr)

1,Division,AAAABBBBC | 1
1,Division,AAAABBBBC CCCDDDDD | 1   — NEW!!
1,SendItTo,A | 1
1,SendItTo,B | 1
1,SendItTo,C | 1
1,SendItTo,D | 1
1,SendItTo,E | 1 — NEW! This sends to ALL Divisions

NEW!  01-14-21 – Alternate command wording
1,SendToDiv,A
| 1
1,SendToDiv,B | 1
1,SendToDiv,C | 1
1,SendToDiv,D | 1
1,SendToDiv,E | 1

*************
13 – Effects

 

1,Glow,jkpq,0.2 | 1
1,Vanish,a-r | 1   NOTE: animesh with attachments are not reliable
2,Appear,a-r | 1 – NOTE: animesh with attachments are not reliable

Currently FadeIn/FadeOut duration is fixed

1,FadeOut,j-r | 1
2,FadeIn,j-r | 6  —  allow time for fadeout 
or
1,FadeOut,lmno | 1
2,FadeIn,lmno | 6  —  allow time for fadeout 
or
1,FadeIn,j-r | 1
2,FadeOut,j-r | 6  —  allow time for fadein
or
1,FadeIn,lmno | 1
2,FadeOut,lmno | 6  —  allow time for fadein

*************
14 – Autos

 

1,AutoChat,123,456,PartStart,PartStop | 0
2,AutoChatOn | 1
3,Canon,Left | 2
4,AutoChatOff | 3

1,AutoColorOn | 1
1,AutoColorOff | 1
1,AutoColorAmount,<1,1,0>,<0,0,1> | 1 —  canon in color, out color

1,AutoGlowOn | 1
1,AutoGlowOff | 1
1,AutoGlowAmount,0.5,0 | 1 — 0.5 value for ON, 0 value for OFF

1,AutoFadeOn | 1
1,AutoFadeOff | 1
1,AutoFadeAmount,0.5,0  | 1 — 0.5 is for ON, 0 is for OFF –transparency 1 is opaque, 0 is invisible

1,AutoChatOn | 1 NOW IMPLEMENTED – SkipAviOnEffects,off/on
1,AutoChatOff | 1 NOW IMPLEMENTED – SkipAviOnEffects,off/on
1,AutoChat,123,456,message1,message2  NOW IMPLEMENTED – SkipAviOnEffects,off/on

*************
15  – Other

 

1,AlwaysFaceAudience,(on/off) | 1when on, Junes always face towards the audience. When off, Junes cause the dancer to face towards the direction of the June.  This command respects Targeting so you can specify with dancers participate for a particular setting.  You can set 2 different groups with 2 different settings.

1,RezObjSD,(0/1)  | 1 — rezzes an object of the same name as the rezzer, in same place, same rotation, zero velocity…if in the current canon/effects-target.  (0/1) if 1 then deletes  itself after rezzing (object_rez)

1,SetToNonPhys,(on/off) | 1 — When on, sets subsequent rezzed objects from this object to NON-PHYSICAL upon COLLISION

1,Temporary,(on/off) | 1 — When on,  sets subsequent rezzed objects from this object to TEMPORARY upon COLLISION

1,RezObj,NameOfObjectToRez%<1##1##1>%<0##0##0##1>%<1##0##0> | 1

<1##1##1> = rez at position <x,y,z>  — must be within 10 meters of center of root prim as the crow flies

<0##0##0##1>= rez  with rotation <x,y,z,s>  — I have always used <0##0##0##1>

<1##0##0> = velocity direction <x,y,x> — this can be directly translated into ApplyImpulse on Thrower

 

1,Pal,02_A%FadeHide%ALL%2 | 1 — NEW! This sends the FadeHide%ALL%2 parameter to a Palette named 02_A

1,LinkToSD,2,3 | 1 NEW 2021! This activates SmartDancer
Controller
with ActivationId in its *channels nc with a value of 2, and causes it to execute sequence number 3.

1,ReInit | 1 — NEW 2021! this sends formations to the dancers from the SmartController that executed it.

1,HybridPAL
|  1 — NEW!  Disables SD scripts & enables PAL scripts

1,PrepForm,1 | 1 — This will execute the PrepForm entry identified by 1 in its 1st position.  This will likely be more than one passive command separated by commas.  Parameters for a given passive command are delineated by % (percent signs)

1,PrepareToLoop | 1
1,SuppressEndMsgs,(0/1) | 1
1,TraceSequenceTimes,(on/off) | 1

1,Hide | 1   — Hides HoverText and Controller

1,LastCanonPrep%11%2.5 | 0 — no. of PREP to execute on last Canon cycle, Delay in seconds  before PREP fires  NOT SUPPORTED

1,Sit2Sit,(name of object to sit on) | 1 —  (name of object to sit on)

Instead or Renames use ActivateAI and ActivateJR
1,SwapNines | 1 –– this renames A to J, B to K, etc. and renames J to A, K to B etc.

1,UnSwapNines | 1 — this renames J to A, K to B, etc. and renames A to J, B to K etc.
These  SWAP commands enable either group of nine dancers (A-I or J-R) to use all 222 formations.

1,Hide  | 1  Hides HoverText and Controller
1,Wait,3.5 | 1 — NEW 
1,Chat,123,This is my message  | 1
1,Say,0,This is my message  | 1
1,Whisper,0,This is my message  | 1
1,Shout,0,This is my message  | 1
1,IM,This is my message | 1 — sends to owner
1,Owner,This is my message | 1 — also sends to owner

1,Speed,-1%-1%0.2 | 1 — Formation Speed, TurnDurationOverride, CanonDurationOverride (-1 for skip)

*************
16 – Targeting

 

NOTE: Some commands have targeting built into the command.
See shortcuts for targets below

1,Target,k-p | 1 — Target applies to BOTH EFFECTS and CANONS.
or
1,Target,jklopq | 1

1,ClearTarget | 1 — Sets Target to “abcdefghijklmnopqr”

1,Color,jklm,<1,0,0> | 1
2,Color,nopq,<0,0,1> | 2

1,ColorLinksNow,jklm,<1,0,0>  | 1 — NEW!!

1,Glow,r,1.0 | 0.2

 ***********************
17 – SHORTCUTS for TARGETS

 

all=abcdefghijklmnopqr
a-i=abcdefghi
j-r=jklmnopqr

altaq=acegikmoq
altbr=bdfhjlnpr
alta=acegi
altb=bdfh
altj=jlnpr
altk=kmoq

ends=abpq
endsj=jkpq
endsa=abgh

middle=efghjklm
middlej=lmno
middlea=cdef

left8=abcdefgh
leftj=jklm
lefta=abcd

right8=jklmnopq
rightj=nopq
righta=efgh

all=abcdefghijklmnopqr
allj=jklmnopqr
alla=abcdefghi

nor=jklmnopq
noi=abcdefgh
nori=abcdefghjklmnopq

*************
15  – Walk Form

 

When WalkForm  is “on, automatically plays the SetWalkForm animation during a formation transition.

When PoseForm is “on, automatically plays the SetPoseForm animation right after an existing WalkForm animation.

1,SetWalkForm,(button-name of animation) | 1
2,SetPoseForm,(button-name of animation) | 1
3,WalkForm,(on/off) | 1
4,PoseForm,(on/off) | 1

SmartDancer 112 – Animations

Order to Chaos to Order

That to me is the key to creation.

And to me its the key to captivating group-choreography.  I have seen it in drill-teams as well as in the arts and in nature.

For SmartDancer (SD) a key component is being able to segue back into an orderly formation from a more disordered formation.  This requires an in-depth knowledge of how SD perceives animations to work.

The key is to have a 1st animation running that we can return back to after performing a 2nd animation.

If we STOP the 2nd animation then it will automatically SNAP back in sync with the 1st animation.

There are a few tools at our disposal.

StartKill and StartKeep
StopLast
Freeze and UnFreeze

Assume we have 4 dances called Dance1, Dance2, Dance3 and Dance4

********************
StartKill mode, which is the default, will cause the following to happen:

Dance1 runs
Dance1 is stopped when Dance2 runs
Dance2 is stopped when Dance3 runs
Dance3 is stopped when Dance4 runs

Then if we press StopLast, Dance4 stops and our dancer returns to STANDING (or the standinganimation, because there are no more animations running.  (Actually the standing animation is the 1st animation to run by default)

********************
StartKeep

Dance1 runs
Dance2 runs (Dance1 is still running)
Dance3 runs (Dance1, & Dance2 are still running)
Dance4 runs (Dance1, & Dance2, Dance3 are still running)

If we press StopLast,  then Dance4 will stop and Dance3 will be running.  If we press StopLast again, nothing changes.  SD only remembers the last dance. You do have some extended control if dances are assigned to multiple Divisions. You can stop dances by Division (A,B,C,D) but only 1 dance per Division.

********************
Canons

I like to think of SD as having ‘2 trains‘. The normal-animation train and the Canon-animation train.

When you perform an animation on the Canon train, it automatically returns to the previously running animation from the normal-animation train,…when it is done. Canon animations run as long as the CanonInterval (aka CanonDuration) specifies.

We want to be able to emulate the way that the SD Canon works using the normal-animation method, that being…pressing dance buttons in succession, or sending them via commands to the SD sequencer.

********************

Freeze

Dance1 runs  (this becomes  the current backing animation)
Dance2 runs (this becomes  the NEW  current backing animation)

Lets say we plan to do Dance3 and Dance4 and then a Canon.  When the Canon ends, we wish to revert back to Dance2.

We issue a FREEZE Command right after Dance2 runs.  And then Dance2 becomes the FROZEN semi-permanent backing animation.  No further animations will replace it unless and until we issue an UNFREEZE command.  StartKeep and Freeze work hand-in-hand together.

Trace,0ff
ElapsedOrDuration,duration
1,Dance,dance1 | 10
2,Dance,dance2 | 10
3,StartKeep | 0.1

4,Freeze | 0.1
5,Dance,dance3 | 15
6,Dance,dance4 | 15
7,StopLast | 0.1
8,Wait,10 | 10

Upon executing the StopLast command, the dancers will revert back to dance2.

 

 

 

********************
Normal-Animation Segueing 

 

 

 

 

 

SmartDancer 111 – Canons

Of all the core features of SmartDancer (SD), the Canon is, by far, the most prolific.

While SD is primarily a tool for performing intricate group moves, Canons also allow for dancers to perform predefined SOLO dances which can be comprised of an animation and/or a turn.  By using the Vanish Effect you can temporarily limit the number of visible dancers.

Canons allows for staggered animations and/or turns in alphabetical or reverse-alphabetical order on up to 9 animesh/avatars using the CanonInterval to provide the time between staggers and can be further delineated by a Target.  (The default target is ‘abcdefghijklmnopqr‘) or simply ALL animesh/avatars/palettes.);

There are now 2 sets of animations you can choose from using the menu at run-time or a command at run-time using the SelectCanon feature.  Select-1 and Select-2.

There are 3 levels of definition:

Level 1, the lowest level, lets you define a CanonAnimation and CanonInterval for each individual animesh/or avatar.  You can actually define 2 for each animesh/avatar.

CanonAnimation1 and CanonInterval1 and CanonAnimation2 and CanonInterval2. 

Animations and intervals will apply to all animesh/avatars THAT MATCH the current TARGET (target is a specification by letters of which animesh/avatars (J-R) will participate in the next Canon command.

Use the SelectCanon feature to select 1 or 2.

Level2 lets you ‘override” the individually assigned CanonAnimations.  This override is defined on a nc in the Controller and will apply to all animesh/avatars THAT MATCH the current TARGET (target is a specification by letters of which animesh/avatars (J-R) will participate in the next Canon command.

So if you want to use the Level1 animations and intervals then omit these fields or leave the entry BLANK in the Controller on the *channels nc.

Or if you want to keep them in place for a consistent look then leave them as:
CanonAnimationOverride1,
CanonAnimationOverride2,
CanonIntervalOverride1,-1
CanonIntervalOverride1,-1

Level 3 lets you override Level1 AND Level2 declarations and is temporary until you specify a new Level3 or a BLANK Level3. A blank will revert back to Level2. If no Level2 then it will revert back to Level1Level3 is entered at design-time using the CanonDance button on the Canons menu.  You will get the animation menu and the next dance/animation you choose will become the Level3 CanonAnimation.  If you exit out without entering a value then Level3 becomes void and  the CanonAnimation will revert back to Level2 or Level1.

For Level3 override of CanonInterval, select the [Groupings] menu then use the MoveSpeed button and enter either:  -1,-1,(interval value) or ,,(interval value)

So then the next Canon selection will use Level3 animation and interval.

When an animation is completed after the specified interval, it will automatically snap back into the previous running animation in perfect sync with the other dancers.  If there was no previous animation then it will go into the ‘standing‘ animation.

Hold/Release/StopCanon

If you press the Hold button on CanonOrders sub-menu then the CanonAnimation will NOT snap back to the previous normal-running-animation and ignores the CanonInterval.  You CAN trigger the synced-return to he previous normal-running-animation by pressing the StopCanon button on the CanonOrders sub-menu. This will Stop the CanonAnimation only.  The Release button returns the CanonAnimation to its previous normal state which takes into account the CanonInterval and returns to the normal-running-animation upon expiration of the CanonInterval

Switch/UnSwitch

Default mode is UnSwitch(ed).  When Switch on enabled, dancers 1-3-5-7-9 perform Select-1 CanonAnimations and Intervals

while  dancers 2-4-6-8 perform Select-2 CanonAnimations and Intervals

———-

NOTE: When the choice is AnimsOnly,  just select any Canon button (i.e. CanonLeft, CanonHome, CanonTurnIn, etc) since there will not be any turns to accompany the Animation.

Forward and Reverse

This button (CanonReverse/CanonForward) toggles the order of the Canon. Either alphabetically (J to R) or reverse-alphabetically ( R to J ).

Targeting

The Target button on the [OPTIONS]–> [EFFECTS] menu will allow you to control which animesh/palettes identified by the letter in the 19th position of the name, will be affected by the Canon.  Be careful to remember to reset this value if you previously set it for some type of effects as it will still apply.  Eight special values exist:

alt1 = jlnpr
alt2 = kmoq
all = jklmnopqr
middle = mnop
ends = jkpq
left = jklm
right = nopq
nor = jklmnopq

You can also specify a range:
j-r
k-q
j-q
r-r

And lastly you can specify specific animesh/palettes:
jklpqr
jkqr
lmnor

The ClearTarget button will reset the Target to the default values with is ‘jklmnopqr’ or ALL of the animesh/palettes.

Anims & Turns

The TurnsOnly button toggles to AnimsOnly. Default is TurnsOnly.

Press TurnsOnly if you want the animesh/dancers to only turn using the CanonInterval.

Press AnimsOnly if you want the animesh/dancers to only animate using the CanonInterval.

Press the Turns&Anims button if you want the animesh/dancers to animate AND turn.

Please note that there is ALSO a TurnDuration (and TurnDurationOverride). Turn durations ALSO exist at all 3 Levels.

TurnDuration should be close to the CanonInterval so that there is enough time to complete the turn before moving onto the next dancer but feel free to experiment for different effects.

NOTE: CanonInterval determines how long the CanonAnimation lasts. Once the interval expires the dancer returns to the previous animation unless Hold was specified..

 

Run-Time

There are equivalent commands for the inborn sequencer that allow you to Select Canon1 or Canon2 as well as perform overrides and specify a target and of course groupRunTime could be considered Level4 because it overrides Level1, Level2, and Level3.

 

Exclusions

You may be wondering what happens when there are conflicts?

CanonTurnIn and CanonTurnOut are restricted to Grouping by HALF or ALTERNATE.  They always work between GROUP X and GROUP Y. They have no function otherwise.   It is the same for non-canon turns.

You can use FlipXY to reverse the Groups in which case X becomes Y and Y becomes X.  To see specific assignments of the 3 groups, X,Y, and Z, press ShowHoverTx button and the last letter of the hover-text will have the GROUP appended.

Well  the 1st restriction is the Controller Name… PE18?-? . The question-marks (where they represent letters J thru R) limit what animesh/palettes can even consider other restrictions  with regards to Canons.

2nd is Targeting which, if failed,  can prevent any Turns associated with Turns&Anims from executing.

3rd is GROUPINGX,Y,Z can further limit Turns which are subject to GROUPING.  Grouping controls Turns and Formations.

While animations are normally restricted by Division, CanonAnimations ARE NOT limited by Divisioning.

Also, be cognizant of how the overrides work as described above as they factor into which animations and intervals will apply.

 

COUPLING

Turn-Ins and TurnOuts and the HALF or ALTERNATE grouping.

By careful formation alignment and Divisioning (i.e. AAAABBBB or ABABABAB), and mirrored or coupled animation selection you can magically switch to a multi-coupled (4×2) dance configuration.  By careful selection of CanonAnimations at the animesh/palette level you can even do coupled-canons.  Of course you can do Junes as well and you can do partial Junes because Junes are dictated by formations which are subject to Grouping. (i.e. an X June or Y June).

And super-advanced, you can control over-lapping Junes that have a dancer or more, in common, rotate in opposite directions.

 

Combinations

Yes you can do a JUNE while doing a Canon.  You can also do a FORMATION change while doing a Canon.

NOTE: It is not uncommon to see some jittering as 1 command is trying to make the dancer move in one direction while another command is trying to make it go in the opposite direction or 90 degrees off.

 

NEW NEW NEW 

Finish

AutoCanon

 

SmartDancer 110 – Philosophy

Thinking about the attraction, to me, of the SmartDancer.

Categories of influence:

Order and Chaos

I think that the satisfaction of SD (SmartDancer) creation is going from Order to Chaos to Order.  Sort of emulating the universe cycle. Creation, Randomness, Destruction.  Or in human life-cycle, Birth, Life, Death where Birth and Death have the fewest choices so they have the most order.

SD allows for order and symmetry and then by using Grouping and Divisioning, with different lengths of animations, you get ever-changing chaos sometimes interwoven but it automatically returns to order once a specific time has expired.

Space

There are 3 ways to think about use of space.
Global
Local
Static

Global is how dancers (animesh and/or avatars) appear in relation to one another. This is accomplished using Formations.  But then it is taken to another level with the addition of Junes (form rotation) and Canons (staggered turns and animation starts). Then it can be taken to another level yet by using targets that vary who in the global formation will act upon turns and animation. Compound that with Grouping and you get an infinite offering of possibilities not to mention dynamic run-time options.

Local is how dancers change in place without relationship to others. This has to do with Turns and variations in turn speed. And also the animations (dances, poses, AOs, etc) that they choose to do as well as WHEN they choose to use them.

Static relates to the appearance of a dancer without regard to any motion. Paramount is if they are there are not. SD allows you to Vanish or Appear or FadeIn or FadeOut an Animesh dancer. Since animesh do not have mandatory name tags this effect is more dramatic and convincing.  You can also change color, transparency, and glow of not only animesh but of clothing and other links.

Sectioning

If you asked me what makes SD unique, I would have to say that:

#1 is that it syncs ANIMESH. This means that you would be more inclined to do group dancing because you are not relying on others being present.

#2 Sectioning (see below)

#3  is you can try different functions in various ways as it sections off dancers moves and animations  DYNAMICALLY at run-time There are 3 key ways.

Grouping – there are 2 groups we call X and Y.  There are 2 ways to assign dancers to  X and Y. By HALFing and by ALTERNATing.  You can also FLIP those with one button or command. This assignment can be done dynamically at design time and run time.  Grouping is how we assign formation moves.  So we can assign a formation to all the dancers or to just half of the dancers

Divisioning – While Grouping is a way we assign formation moves to dancers, Divisioning is how we assign animations to dancers. This allows for many more permutations of formations moves and animations.  You can choose up to 9 predefined divisions by you at design-time..or…an infinite amount at run-time.   There are 4 divisions (A,B,C, and D).  An example of a Division might be #AAAABBBBC

Targeting – This sectioning offer allows you to specify any combination of the up to 9 dancers by letter to receive special effects like transparency, coloring of animesh body or coloring of animesh clothing, or adding differing amounts of glow.  BUT..the most amazing feature of targeting is the ability to determine which dancers will take part in a Canon (break-out soloing).  Examples might be:

j-r
n-q
jklm
alta is shorthand for:  aceg
altb is shorthand for: bdfh

Independence

This newly revised edition of SD now runs autonomously without the need for the Artiste Performance HUD.  SD’s heartbeat is the SmartDancer Controller.  So using SD  only requires a newer version of the Artiste Anchor and of course scripts and ncs that go inside the animesh, or avatar-palette, if using avatars.

Modes

There are 2 modes. Design-Time and Run-Time.

For Design-Time, you can press buttons and experiment, making things happen instantly by using the SmartDancer Controller and its integrated menu system.

Diagnostics

Then you can use SD’s 2 diagnostic tools, DumpSettings for snapshots of settings in time as well as DumpLog that sends you a list, in order, of the last so-many commands in sequence that you pressed.

Then for Run-Time, we have the new Embedded Sequencer.  You create a nc of commands, parameters, and durations much like the typical dance ncs used only you have more options than just dance names and times.  So SD can run independently and alone on its own or it can be triggered by the Artiste Performance HUD or triggered by chat commands send by other choreography systems.

Uniqueness

I think what sets SD apart from other systems is that you can experiment and try things on the fly without the necessity for using ncs.  You can choose, formations, dances, groupings, divisions, turns, junes, canonstargets, target specific dancers, change times on the fly, make dancers appear or vanish, change animesh colors and clothing colors. You can also use multiple SD controllers to perform complex advanced tasks like overlapping Junes.

After some reflection, probably the most immediately noticeable unique feature of the SmartDancer is the ability to do formations with Animesh.

Times

There are 3 types of times that you can specify on ncs OR dynamically change and assign at design-time.

MoveSpeed – this is how long it takes for a formation to transition form an existing formation to a new formation. This ALSO dictates how long a June lasts.

TurnSpeed – this is how long it takes for an individual animesh/avatar turn to complete. (Max. of 5 seconds).

CanonInterval – the interval of time between staggered turns and/or canon animations between multiple animesh/avatars. It is very important to distinguish between normal animations and canon-animations. This allows for contrast as well as order-chaos-order because each dancer returns to the normal animation once they complete their CanonAnimation.  ALSO, know that each animesh/avatar can be assigned their own unique animation using their embedded nc.  ALSO, know that you can change an overriding CanonAnimation on the fly  so you can conveniently test out different animations for the CanonAnimation cycle. And it bears repeating that you can TARGET which dancers will participate in the Canon other than the default of ALL.  This can be changed on the fly.

Filtered Dance Selection

Though you are limited to 8 dances per page, we have 5 dance groups so you can filter the dances to choose from by: ALL, Dances,, Poses, AOs, Favorites, Other. And currently you can have up to 64 dances (8 pages of 8);  You tag the dances to the group you want at same time as you specify duration.

Dance Selection is another factor when using SD.  The more space the dance consumes, the more interactive the dance groups can become. Experiment.

CanonAnimationOverride

This lets you change the animation done when doing canons dynamically at design-time or run-time.  Canon animations are a way for dancers to solo a new dance in turn while the other dances to a different same dance in the background.

Double-Coupling

This late subtle feature provides the ability to send 2 simultaneous actions at the same time.

For Animations we can send 2 different animations sent to 2 different divisions at the same time.  This greatly aids in the ability to sync couples-dancing when used in conjunction with the ALTERNATE grouping and aligned using the left/right alignment features of the special SmartDancer Poseball.  This new command is Dance2

For Formations, we can send 2 different formations at the same time. One applies to  dancers from A to I, the other formation applies to dancers J-R.  And these can be limited by Grouping and the June Targeting

For Juning, we can effect 2 different June rotations by using the new JuneAI  offset command.  This creates a 2nd ghost controller for dancers AI to rotate around at the same time as J-R

 

 

SmartDancer 108 – Preparables vs Immediates

A Preparable is a SmartDancer Command that happens in preparation for a FORMATION move command.

An Immediate   is a SmartDancer Command that executes immediately and makes use of the most previous Preparable commands.

Preparable commands include:

1 – Grouping commands – HALF, ALTERNATE, NO_DIVISION – These specify if subsequent commands will target ALL or HALF of the avatars/animesh (or combinations thereof) that are present.

2 – Send commands – SendA, SendB, SendC – These command determine which half of a division (assuming there is a HALF or ALTERNATE specified) that subsequent IMMEDIATE commands will affect.  SendC directs subsequent commands to affect ALL avatars/animesh.

3 – MoveSpeed command – This allows for DYNAMIC change of move speed for FORMATION moves only. It DOES NOT apply to TURNS, JUNES, or CANONS.  The higher the number, the slower the move.  This value is initialized on the *formations nc using the DDMoveTau entry.  Please be aware that any re-Registering of a controller will reinitialize this value to its DDMoveTau,3.5 value.  Of course you can change this initial value.

For dynamic run-time adjustments use the following format:
SD=SPEEDxx.x (xx.x=duration of formation or june)

4 –FlipAB – this command only affects HALF and ALTERNATE divisioning.   It reverses the assignment of the A and B assignments.

– SetJunes – SetJuneRight, (clockwise), SetJuneLeft (counter-clockwise – The ‘Set‘ word is meant to remind people that the JUNE is not immediate but in preparation for the next formation move.  It is recommended that you not use SetJuneHome in production as the results are a straight-line and not what you would expect.  This may be modified at a later date.

UPDATE 01-23-21: SetJuneRight and SetJuneLeft now execute immediately if AutoJune is OFF, which is the default.  They use the last selected formations for J-R *formations nc and A-I *expansions nc

 

6 – CanonReverse and CanonForward – These commands set the direction of susequent CANON operations.

Forward is default and operates in alphabetical order (i.e.  ArtistePalette_01_A thru ArtistePalette_01_R) 

Reverse operates in reverse alphabetical order (i.e.  ArtistePalette_01_R thru ArtistePalette_01_A) 

7 – Turns Only – this is a toggle whose status is displayed in the menu. Either TurnsOnly or Turns & Anims. This command says that subsequent CANON operations will suppress any execution of the  specified CANON animation, if one exists.  It is specified in the *smartdancer nc inside an animesh or palette.  Example:  CanonAnimation,KatananLow.

**********************************

Immediate commands include:

1 – Formations – self-explanatory

2 – TurnsTurnLeft, TurnRight, TurnIn, TurnOut, TurnHome

3 – CanonsCanonLeft, CanonRight, CanonTurnIn, CanonTurnOut, CanonHome

4 – AnimateOnly – this executes the CanonAnimation immediately taking into consideration the CanonInterval but excludes  normal turns  associated with a Canon.

5 – SemisSemiLeft  & SemiRight – These 2 June operations perform 2 Junes in a row using the last/current formation.  Interestingly enough, the dancers maintain the facial direction.  So it is essentially a 180 June vs the normal 90 degree SetJuneLeft/SetJuneRight

NOTE: TurnHome and CanonHome commands STOP the CanonAnimation.

Also, it is suggested that  you use at least a priority-4 animation for the DefaultSitAnim,Pray Bow in the *palette nc in the Artiste Palette

ANIMESH 103 – Division Palette Change or DPC

This is no longer just a nice bells-and-whistles feature but is now STRONGLY suggested in certain situations when wanting to keep tight sync between groups.

The autofx command is:

Example:    3,DivisionPaletteChange=ABBBABBB

or

Example:   3,DPC=ABBBABBB

or

Example:  4,DPC=BA

Whenever you have more than, say, 2 animations performed at the same time by different groups, you want to do a DPC so that both groups are assigned to the same palettes.

Remember divisions are positional relative.  So the 1st division is assigned to Palette A or J. The 2nd division is assigned to B or K

So the initial division assignments are made on the *sequences nc using the Division entry.  Subequent changes to divisions are made at run time using a special *autofx command to change the division-to-palette assignments.

Example:

Group A
*sequence1

Dance1 | 10
Dance2 | 10
Dance3| 10
Dance4| 10
Dance5| 10

Group B
*sequence2

Dance2 | 10
Dance1 | 10
Dance3| 10
Dance4| 10
Dance5| 10

The 1st 2 dances are fine because they are different over the same time period. But Dance3, Dance4, and Dance5 will start to drift out of sync at Dance4 and noticebly out of sync on Dance5 because they are performed by different groups (different scripts).

The solution is to do a DPC about half-way thru then second dance-time-period or an event that is around 15 seconds in because the new group assignment will not take effect until the next dance change, in this case Dance3.

So an original Division-ing of ABBBC via
Division,CUSTOM_ABBBC
on the *sequences nc
would need to be changed by either 1 of 2 choices on autofx.
Assuming an *events nc of:

TRACE,off
ELAPSED
1,”Event 1″,15

Then you need  an *autofx entry of 1 of the 2 following choices

1,DPC=AAAAC
or
1,DPC=BBBBC

=====================

Group A
*sequence1

Dance1 | 10
Dance2 | 10
Dance3| 10
Dance4| 10
Dance5| 10
Dance6 | 10

Dance2 | 10

Group B
*sequence2

Dance2 | 10
Dance1 | 10
Dance3| 10
Dance4| 10
Dance5| 10
Dance2 | 10
Dance6 | 10

In the above situation,  you would have 2 DPCs.
So you need 2 events.

*events
1,”Event 1″,15
2,”Event 2″,45

*autofx
1,DPC=AAAAC
2,DBC=ABBBC
or
1,DPC=BBBBC
2,DBC=ABBBC

 

 

ANIMESH 102 – Palette-Based GROUPING v1.2

So…this new methodology allows you to use a MIX of ANIMESH and AVATARS and keep them in relative ANIMATION SYNC.  It also allows for DIVISION ING (A,B,C,D).

You will use CUSTOM_ABBACDA (as example) on the *sequences nc to assign GROUPS.

The first A will be assigned to ANIMESH and/or AVATAR with an A or J in the 19th position of its name (usually you will only be dealing with A-I or J-R)

The next position, B will be assigned to ANIMESH or AVATAR with a B and/or K in the 19th position of its name.

The next position, B will be assigned to ANIMESH or AVATAR with a C and/or L in the 19th position of its name. etc etc

This version, marked by v12.xx in the HUD requires:

 

1 – The HUD v12.xx

2 – A NEW Palette with proper naming and special ANIMESH script

3 – A NEW ANCHOR v3.00

4 – One to 9 COPY/MOD ANIMESH with special script and nc  embedded.

5 – (OPTIONAL)  SmartDancer Controller for FORMATIONS

WARNING: You MUST RESET the HUD after any RESET on a PALETTE.

So, Ok I have switched from TROUPE-based where DIVISIONS(A,B,C,D) are assigned by name….

TO

PALETTE-based where DIVISIONS are assigned by Palette-Name, more to the point.  So it is a switch from WHO you are to WHERE you are.

HUD CONTROL

*autofx

To play groups you use the following autofx commands when SequenceOnPlay,0  These will start on an event and events have to be at least 1 second after play. To start at time zero use SequenceOnPlay,7
GroupSeq=A
GroupSeq=B
GroupSeq=C

GroupSeq=D

or

GroupSeq=ABCD  will start ALL groups at same time.

Set SequenceOnPlay to 7 and its the same as starting all groups as soon as PLAY button is pressed.  Similar to GroupSeq=ABCD but at time zero instead of a time 1 second  or greater.

(GroupSeq=ABCD)  is no longer fixed at group assignments as before and now relies on the Division entry in *sequences.  Totally configurable instead of hard-assigned.  i.e. CUSTOM_????????? where ????????? is any combination of GROUPS A,B,C, or D.

And for ADVANCED GURUS, you can CHANGE the GROUPING on the FLY using an *autofx command DivisionPaletteChange=,  but wont take effect until the next dance change in the sequence. In essence you are changing the CUSTOM_???????? entry dynamically.  This allows for tricky grouping changes.

PERMISSIONS 

Permissions are controlled in the PALETTE for avatars and NOT in the HUD as before. Of course ANIMESH need no permissions as its assumed.

SO…

NO MORE

NO MORE dancer scripts in the HUD. ALL 9 are GONE!
No more failed dancer invites.

Also no need for ExcludeHudOwner. It is now gone.
UseTroupeForDivs gone.
ABorder has been gone.

Be sure that at least the ABILITY for Animatable is ON in the *palette nc in the Palette.

UNATTENDED OPERATION

An little known feature that has been in the HUD for some time  is DANCE CHAINING and RANDOM DANCE and DANCE LOOPING.  Someone wanted unattended performance but never followed thru on its use.

Random Dance AND Dance Looping CAN be combined.  I will be making sure they work for ANIMESH too with further testing.  This allows for ANIMESH AI.  It will still require a rezzed HUD be left at the show-place.

ANIMATION TRANSFER

The dark-side is that animations must be copied into the Palettes AND in the ANIMESH.

I have a tool to make that easier.

Animation Transfer / FileCopy box.  It can:

COPY all the animations in its box TO all ANIMESH and PALETTES within 20 meters that have the letter A thru R in the 19th position.

Example:  ArtistePalette_01_K

It can also KILL/DELETE all ANIMATIONS that are NON-COPY into objects with an A thru R in the 19th position that ALSO have the special ANIMESH script.  It can ALSO delete all animations inside of ITSELF.

In conjunction with SmartDancer for Formation control I have embedded and tested the ANIMESH with SmartDancer script embedded and they work as expected since they are an object just like the TALL-BOTS and Palettes.

SmartDancer

See our earlier posts on SmartDancer

ANIMESH 101 – Introduction and How To for Artiste Integration

From my early understanding, ANIMESH is a mesh object that can be animated.  It can obey inserted scripts.

You can attach it or rez it.

I finally got animated objects (Animesh) to work with our Artiste Performance HUD.  Very intricate endeavor.

Animated objects (Animesh) also work with our SmartDancer, allowing it to move in formation with other Animesh and/or normal avatars.

Theoretically, Animesh can ALSO be a Palette and be moved as well.  The SD Palette script IS a modified Artiste Palette script.

Because it hosts embedded scripts, it can do everything Artiste tools do except handle permissions.  Permissions are assumed because you* own the animated object.

NOTE: Animesh do NOT have to be animated.  They can instead be operated upon without animating by using scripts

RULES for USING with our Artiste Performance HUD are STRICT with regards to DANCING with Animesh dancers in a group.

  1. First buy at least a MOD Animesh and preferably COPY/MOD.
  2. Unlike, avatars, as of this writing. Animesh need to have animations loaded into them.  If they are the only ones (no avatars) using the animations, then those animations don’t need to be loaded into the HUD. UPDATE 01/23/21 we now have poseballs that avatars can sit on that can have animations in them so animations never HAVE to be loaded into the Performance HUD.
  3.  Above all INSURE you have DancersInGroup set properly.  Total of Animesh + Avatars
  4. *smartdancer notecard is used for SmartDancer and must be inside your Animesh.  Be sure to adjust the PaletteHeightOffset
    TRACE,off
    ColorHead,off
    PaletteHeightOffset,1.0
    ChannelForSmartDancerFollower,-897434670
    END
  5. In the *sequences nc add Animesh to the end.
    Animesh,on
  6. In the *sequences nc add AnimeshTrace to the end.
    AnimeshTrace,on I suggest leaving this on while you are getting familiar with Animesh, as it provide information on what is going on.
  7. Copy the Animesh Receiver 1.6 script into the Animesh. This allows the Animesh to tell the HUD what its key is because, unlike an avatar, its key changes every-time it is rezzed if Copy.

 

 

 

 

SmartDancer 107 – Turns

TurnHomeTurns happen immediately when invoked.
Turns can be dependent upon Divisioning and Send? commands.

TurnLeft

 


TurnRight

 


TurnHome

 

Note: With Selective Targeting (example J-Q or A-H, you could eliminate turning the middle bot/Palette (Gray) so it stays facing the audience.

 

With HALF Divisioning


TurnIn


TurnOut

 

TurnLeft – SendA

 

With ALTERNATE Divisioning


TurnIn


TurnOut

 

TurnIn and TurnOut have no effect when there is no divisioning.