Search This Blog

Showing posts with label sequences. Show all posts
Showing posts with label sequences. Show all posts

Thursday, December 8, 2011

Barre Version 3.0 Almost Ready

New Features – Version 3.0
Skins! Barre now has the ability to theme the HUD. We have included some
additional themes with this version. See Skins section for details.

Club Invite! This is great for club hosts. Club Invite can be found when clicking

on the Invite Button. You will see in the display list the option to invite all. When
you click this it send out invites to any open dance spots left in your HUD to
anyone in range. It won’t re-invite someone that is currently on the HUD.

Cache Loader! The Cache Loader will cycle thru the animation in the HUD

until you stop it. This will load them to your cache helping to eliminate that
stall you see after you selected a dance. You can find the trigger for this
in the tools menu by clicking on the ‘TOOLS’ button then look for
‘Cache Loader’.

Timer Function! The Timer script was added to help deal with laggy

regions. It’s not a perfect fix but it does help. LSL scripts are horribly 
inaccurate when it comes to timing due to the heavy influence that dilation
and FPS have on it.

Here is a quote from the LSL Wiki that explains an issue with dilation on scripts…
“Time dilation is a method the server uses to cope with simulator lag.

Physics and script generated lag can result in time dilation. Time dilation
slows script time & execution. When time dilation is zero script
execution halts.”

What I have done is to add a timer that takes the influences of server lag,

recalculates the effect on the scripts, and then sends a termination signal. 
This in combination with the primary timer brings the timed dances better in
line with the requested play time. You still get some inaccuracies due the way
scripts are treated by the server but it is now closer to the requested play time
then we have ever seen.

In the Tools button menu you will find a macro called “M!Timer Toggle”. This will

turn on and off your timer script in the event you find you don’t need it. The script
is suspended when it is turned off so that it will have less of an impact on script 
cycles.

You will also find in the Tools button menu the macro “M!Timer Debug” . This

turns on and off a feed of information to chat that you the HUD owner can only
see. It gives you the name of the dance that was just completed, total time
executed, the dilation at completion, and the FPS at completion of the
dance. These are all important things to look at when calculating sequences 
and adjusting play times. This will also let you see the effects of a laggy SIM
on the HUD. Keep in mind this will only give you information during a timed
dance or a sequence where timing is a factor for each dance.


Host Solo! On far right side of the dance display list you will see that the texture

is highlighted in a different way. This is to indicate that clicking in this area will
solo the host with the dance indicated. All other dancers will not be affected by
the dance change. The host can rejoin the rest of the dancers by clicking in the
main body of the dance button just left of the Host Solo button. Host rejoining the
main dance is done by simply re-syncs the dancers.

SKINS
Barre now has the ability to change its look. A variety of skins have been included

with version 3.0. You can find more skins at the Rachael Rockers Shop.  To
change the skin/theme of the HUD click the ‘TOOL’ button. You will find in the
display list ‘M!SKIN ---‘ Clicking on the M!SKIN macro will change the theme
of the HUD. There are varying contrasts to pick from.

SKIN DEVELOPERS
I will be posting a link here for the Skin Template and Info after the release of

version 3.0.

The Note Card Macro
[SKIN]Front texture UUID key, Top hide texture UUID key, Sides and back

color vector,  Button highlighter texture UUID key, Speed scroll highlighter
bar texture UUID key, Text color vector, Text highlight color texture vector

This method reveals the UUID of the textures you use and is not a great

way to use if you wish to sell a skin. So I have developed a script that can
be used by skin vendors. See the downloads above for the script and the
note card Macro [DO] command. The Skin Vendor Development Pack
includes the resources to help you make commercial skins for the HUD
. But keep in mind Rachael Rockers and its staff makes no promises
that your creations (skins) will not be copy botted by some malicious
person.  Content theft is not something that is in our control. 

For vector color options see this website: http://lslwiki.net/lslwiki/wakka.php?wakka=color

The default skin macro looks like this…
[!NAME]SKIN - Default|[SKIN] f32c8958-e1a3-e451-445c-d869a9ad5a5e,

f62a82fb-8177-370b-6d0b-659806476be6, <1.0, 1.0, 1.0> ,
d54af482-8c5b-603b-c455-e781883be79e,
e3e6ae24-435f-a95f-6b5a-fbf950034430, <1.0, 1.0, 1.0>, <1.0, 0.0, 1.0>

Fixes
There are a few fixes in this version. 


Re- Sync when clicking the dance again


Active Check has been modified to function quicker to help prevent

errors is someone crashes or logs out while they are on the HUD. This
should boot them quicker, limit errors and help prevent lag.

Random and Sequence Modes have been modified to stop when in none

dance modes in a menu. This will stop the HUD from selecting thing when
the user goes into a menu that dances or sequences are not listed on.

Random and Sequence Verbose text has been changed to be more user

friendly.

Macro Say comments have been modified to stop double lines in chat.


Commas are not allowed in Emotes. Use /’ to put a comma in an Emote now.

[NAME]Commas work now|[SAY]|HI Guys/’ How are you all?

Fixed [REPEAT] it was sending text to chat when it repeats

IN THE WORKS – To be done
Login sizing and positioning
Configuration options set in Tools NC
Loader occasionally starts a new load when it is actively loading
Add new missing AV filter options – prevent bug error
Shorten timing on the invite to keep the

Friday, November 11, 2011

Choreography & Dance Theory in SL

Just a few notes on choreography & dance theory in SL. I will add more to it as things pop into my head. If you have anything to add please do so in the comments below.

Lead – The lead manages the micro choreography of the dance. This person initiates step changes that the followers continue. Typically a signaled change is done with hand pressure, but other signals are common.  In SL the HUD host is the lead. Ultimately it is the host’s responsibility to make your dance crew look awesome.

Choreography – A sequence of movements. In SL we blend many different styles of animations to create a look that meshes with the environment and as well as music. To many it has become a mathematical formula using a stopwatch to manage these abilities. In doing so much of the emotional aspects were removed from the dance.
Typically all SL dance HUDs allow choreography in a linear fashion. When Poetry of Dance came along these preconceived method were broken by the ability to use 3 dimensional movements without the need of animations to place the avatars position. (Poetry of Dance currently is by invitation only) 

Imperfection is Perfection – Art is beautiful to the beholder.  Sometimes parallels are appealing. But we find ourselves looking at the unusual with awe. When you remove the parallels, the linear you step beyond the common and into the unusual.  Dare to be imperfect… Dare to be different!

Pre-Stance – These are used to pose the lead and follower before the dance starts. Any professional dancer knows this is a very important stage in the dance. These movements or poses set the emotional stage for the dance that will follow.  A respectful pause is used to help build the audiences anticipation.

Post-Stance – Immediately after the dance concludes the lead and followers will pose in a completion stance. This is the final signal to the crowd of the conclusion. This must be choreographed carefully since it can leave the audience feeling as if they have missed out on the end of the dance.  Generally a reach or fall is used at this point with pause.  It is important for the lead to judge the response of the audience to know when to enter a respect and bow sequence.

Sense of Reality – The human mind does not check out when you log in to SL. Although some would argue that it does. The same thoughts and desires still apply. We have only moved them to a different environment. In that we need to think of what is expected for the dance to be enjoyable or needed for it to be possible for the mind to interpret.  2 rocks dancing the samba in a bowl of chili is a bit of a stretch for anyone’s mind.  (Now watch that be the next greatest hit on SL Broadway. *Rolls Eyes)

Sequence - This is a series of event or list. When referring to sequences in the dance realm of SL it is a list of dances with timing that is played sequentially. So dance A is played for a time specified then dance B... and so on. This is the main standard of SL.

Sequence Sets - A group of sequences played in sequential order. This is typically macro sequences. When played, these sequences continue on by playing the next macro event line or jump to a pre-specified macro sequence. The reasons behind using marco sequence set are many but primarily it gives you extended abilities far beyond that of standard sequences.

Offset - This is a choreography effect to create a dimension in your dance set. Lining up dancers in a linear method is a burlesque style. In modern dance offsets or staggers are used for a dimensional effect. As simple as this concept is it is not used in many stage shows in SL. In clubs a 180 offset give some wonderful effects to partner dancing or even groups if done right. 180 also gives a friendly non imposing style. Nothing is worse then trying to walk around a line dance group that is taking up all the dance floor in a laggy club.

Here is a nice discussion on modern dance that you may find useful. It outlines some points I leaned as a child being force to attent dance class. *Rolls Eyes*
Simple Guide To Choreography


A great source of information on SL dances and choreography can be found by following the link...
Dance Queens Blog





Tuesday, August 30, 2011

Sequences

SEQUENCING
This is a method that is used by performance artists to choreograph a dance set. Sequencing can be done in multiple ways. The first is notecards created with a list of animations and timings. A typical sequence notecard looks like the following list.
DanceA|12
DanceJ|9.9
JumpDance|6
NameOfDance|18.02
Last Dance

The list above when copied to a notecard, and loaded will run a sequence. When you click on the first dance listed on the display of your HUD it will animate the dances for 12 seconds with “DanceA”.  After that it will switch to the next dance and run it for the time listed and continue on to the next dance until it has completed the list.
Notice that the last dance does not have timing added to it. This will continue to run until it is stopped. NOTE: This is where you add a stand pose to the end of your sequence. This give the effect of a completed set. Add bow or curtsy animations before the final stand pose will also give a theatrical effect.
Using sequence cards are the simplest, cleanest way of choreographing a dance set.
The next method is to use Macros. This is a bit more complicated but it has the additional features of adding Emotes to the choreography at specific timing as well as the ability to trigger external scripts via channel voices. But one of the most powerful features is the ability to partition or multi-group. This is something that performance artists can find very helpful. You can get very very detailed using these features.  The main issue with sequencing from a macro is timing control. If you run other macro functions with dance animations you have to take them into account in choreographing out the timing of the sequence.
For more information follow the link. Please note that Group Macros are only relevant to 'Poetry of Dance' HUDs. 
Groups and Macros

Thursday, August 11, 2011

The Power of Groups

Groups
Group controls are specific to "Poetry of Dance" HUDs. They are not part of the "Barre Dance" HUDs features.

Groups are an advanced feature of this HUD. It is a bit complicated and confusing. *Rolls Eyes* With Groups you can run different animations for different dancers at different times all from 1 HUD. If you didn’t understand that last sentence… you are not alone.


You can divide up the people that join your HUD to dance into groups. Each one of these groups can be driven separately from the HUD. This lets you choreograph some amazing dance routines! Imagine 5 dancers on stage. 4 in the background dancing a slow sway dance, you in the foreground dancing center stage on a different animation. Via a sequence or live clicking, you animate the other dancers to sit while you ballet and vogue.

Or let’s say you are at a club and you don’t want your man to look like a DORK! You animate him in male dance animations while you dance female. Maybe you DO want him to look like a dork so you animate him with a ‘duck dance’ while you are animated in a ‘crossed arms OMG you didn’t’ animation.

With groups you get control over each animation slot. These abilities are controlled though Macros. The ‘G1, G2, G3’ buttons on the HUD allow you to click switch dances for groups 1 thru 3. There is a notecard called ‘! Group Macros’ included with your HUD. It illustrates the Macros used to control Group functions.


Macro Commands for Groups
The following commands can be used in combination with other dance Macro commands or independently by ‘live clicking’ from a Macro NC to create the effects needed.

NEW FEATURE... [LOADAV]
[LOADAV] - This is a menu driven macro function for inviting a dancer. It will give you a list of avatars in the area that you can select from. Then will ask what slot you wish to add them to by listing only available dance slots. You are then given a choice of group to set the dance slot to. Using this function will avoid trying to add dancers to occupied dance slots. 

[INVITE]SLOT#|UUID - Invites to a specific slot. You can only invite to a dance slot that you have a script in your HUD for. If you invite to Slot 25 and script Slot 25 is no in your HUD it will fail.
The Invite first looks for a UUID/KEY. If a KEY is not given in the Macro stream then the HUD will force display a list of AVs in the area for you to select from. If you click back or ‘exit click’ this function will silently fail. This function pauses the Macro stream until a selection is made.

UUID/KEY invites will only work if the Avatar you are inviting is in the same region. This is simply a limitation of second life.


[CLEAR]SLOT# - Resets that slot to null, dumps Dancers and resets group to null. This is like clicking on the STOP Button but without stopping the Macro stream.


[CLEAN]SLOT# - This function will remove ALL animations that are active on an avatar that is using the specific slot. If 0 is given for the slot number then ALL slots will be cleaned. (This function is somewhat redundant do to the nature of Macro function [NOANI]) [CLEAN] does not halt Macro stream execution.


[SET GROUP]SLOT#|GROUP# - (Puts slot on group channel x) this sets it to that group. So now any animation sent to that group will be animated by this slot. This does not halt Macro stream execution.


[GROUP]#|ANIMATION or PS …. (Tells group channel # to play that animation) PS is a Pause / stand command. This does not halt Macro stream execution.


[PAUSE]Seconds – Pauses the execution of the Macro stream. This is useful for delaying the execution of the next animation. It will pause the Macro stream but not the animations. [PAUSE]0.03 - PAUSE is not a group command but it is very useful in managing group sequence dances.


The following are 2 Macros to demonstrate how to use groups in a dance sequence. Please understand these use embedded SL dances. (They don’t download fast) You may see some pause in the switching of those dances. This does not happen with dances cached from the inventory of the HUD itself. You can find these Macros on the “! Group Macro” notecard in your HUD. Load it into an ‘Quick Card’ database by using the ‘Floppy Disk’ button.


NAME]Invite 3 Dancers|[CLEAR]1|[CLEAR]2|[CLEAR]3|[OWNERSAY]Inviting dancer 1|[AVSELECT]|[INVITE]1|Inviting dancer 2|[AVSELECT]|[INVITE]2|Inviting dancer 3|[AVSELECT]|[INVITE]3|Setting Groups|[SET GROUP]1|1|[SET GROUP]2|2|[SET GROUP]3|3


[NAME]Group Dance Demo|dance 8|4.85|dance 3|4.85|We DANCE because we can!!!|[GROUP]1|dance 6|[PAUSE]5|dance 8|5[GROUP]2|dance 6|[PAUSE]5|dance 8|5[GROUP]3|dance 6|[PAUSE]5|dance 8|5|We ALL fall Down!|falldown|8|[STOP]


The first Macro helps you invite 3 dancers onto the HUD. This can include you. If you invite yourself from an invite Macro the ‘ME’ Button will act differently. The Macro will then set the dance slots your dancers are on to the groups 1, 2 and 3 each independently. Keep in mind you can use the ‘G1, G2, G3’ buttons to control them by clicking the button and selecting a dance.

Dancer 1 will be on slot 1, and in group 1. Dancer 2 will be on slot 2 and in group 2. Dancer 3 will be on slot 3 and in group 3. The ‘G1’ Button will control Dancer 1, ‘G2’ controls dancer 2 and so on. If no ‘G’ buttons are highlighted then all dancers will be dancing the same dance when the dance is changed.

The second Macro shows how Groups can be used in a dance sequence. You need to run the ‘Invite 3 Dancers’ Macro first and add your dancers. Then run ‘Group Dance Demo’. You will see everyone start dancing, all switch to a different dance then in chat you see the e-mote “We DANCE because we can!!!” Next dancer 1 will dance separately, dancer 2 will then start to dance separately, then dancer 3. All will join together to dance in sync again and then fall to the ground.

This is just a simple sequence that can be done with the HUD. The HUD is capable of much more elaborate sequences and longer running using [JUMP] commands. Remember SL limits us to 256 characters per line on a notecard. If you go beyond that it will chop off the end of the line and it won’t run right on the HUD. I have no way of error checking that issue. This is where shorter lines and more [JUMP] commands helps!
*Happy Face*