Follow by Email

Monday, October 21, 2019

Stripping with BOM



It occured to me when the BOM enabled Firestorm was released that the "strip" function of The Artiste might once again be viable.  I've been testing it out this weekend and you can see my results in the video HERE: https://vimeo.com/367829869

As I say, the stripping of attachments has never been an issue as it still works perfectly, but the change-over to mesh bodies was a disaster as far as stripping went.   Are we all still stripping out there with Applier HUDs or have you given up?   Whipping your mesh bra off might have worked, but managing to take off a mesh corset and then having to use your body hud to make sure you didn't look like an Ex-magicians assistant was tricky...even with auto-hide.

I'm no expert on BOM by any stretch.  I didnt even try it until this weekend.  I watched my husband having a go on his avatar last week and decided to give it a shot.  Hopefully, by the time everyone has the BOM enabled viewer we might have started to move forward.  Remember when Bento mesh hands came in?  Everyone wanted to use them but to people who didnt have the Bento viewer you looked like a replicator from Stargate Atlantis.   Possibly there will be a work around but we will have to see.

If you are interested in Bakes on Mesh, take a look at this blog from Skell,  who is a great photographer and quite good at explaining things!
http://www.virtualbloke.com/archives/3358

Its one of the better articles I have found.



Wednesday, October 9, 2019

Strutting the Catwalk




Yummy and I have had many conversations about uses for The Artiste outside of dance, and often talked about fashion shows.

Well I finally did it :p

Check out the video here

No Sliding...smooth locomotions and turns.  All done with one palette - once you have your measurements in place all you have to do is change the animations :)

Monday, June 11, 2018

The Artiste Mover System - Move-Range - GoTo2ndMove Part 2


We learned, in the last post, the concept of move-range.  We can tell our mover to move a portion of the total number of moves.  We don't have to do all the moves of our mover at one time.  We did the 1st move out of a total of 5 moves.


In this example we will do the 1st TWO moves out of a total of 4 moves.

A common scenario comes up where you start off placing your movers backstage so your group of dancers in your routine can easily see and pre-mount them and be ready to go onstage. 

But ultimately you want them to rise up from below the stage.  This means they have to somehow get to the a position below the stage.  




Early mover designs dictated that once you started your move sequence, you had to finish it.  

So...you COULD move from backstage to under the stage and then move up all uninterrupted... but most performers wanted their 1st official routine move to start UNDER the stage and rise up. 

So what was needed was a way to start and stop the move sequence then restart it again.

The Artiste MoveRange feature, in combination with a show-time access-button that performs the 1st move and then stops, now makes this possible without the need for using extra HUDS to accomplish the starting and stopping and restarting of a move sequence.

With just one HUD, you can simplify this ordeal. 

After all of the dancers are in our group we press a button on the lead-dancer's HUD to perform JUST the first move which places them UNDER the stage.

First, we make sure GoTo2ndMove is 'on' in the Palettes that we want to respond to our request in the *palette nc.  Also increase the EditMoveSpeed from 0.5 to something greater as this is what is used for the GoTo2ndMove and not the speed in the *moves nc because if the time is too short, the move may not be as accurate as expected.

EditMoveSpeed,2.5
GoHomeSpeed,2.0
GoTo2ndMove,on

GroupID,AB

Then we tell the HUD that when we press Play we perform moves 02 thru 04 instead of 01 thru 04 because we have already performed the 1st move.

TRACE,on
1,r=p%sitters%mmove02-04

END

The sitters keyword sends the mmove command to all palettes that are moveable and sittable.  Else we would need an autofx command for each avatar-palette-mover. See example below:

1,r=p%01_A%mmove02-04$r=p%01_B%mmove02-04

 So this saves some nc line space as well as tighter palette-trigger coordination because all palettes get the command at exactly the same time, practically speaking.

So along with the "all" command there is "sitters", "non-sitters", as well as the group designations for sending moves and mmoves to select Palettes depending on their type and grouping designation


Step 1: Press GoTo2ndMove


Step 2: Press Play

We added a 1 second pause after each move to make them more discernible.

We left out animations (i.e. 'none') to focus on just the move-range concept and how it enables the GoTo2ndMove.\ feature.  There is a 5-second delay until the the 1st event fires that tells all of the seated avatars to start their 3-move trek (02-04).

*events
TRACE,off
ELAPSED
1,"Event 1",5
2,"Event 2",10
3,"Event 3",15

END

*autofx looks like this

TRACE,on
1,r=p%sitters%mmove02-04

END


*moves
M01_A,5.000000,<0.00000, -13.46509, -3.20166>,<0.00000, 0.00000, 0.00000, 1.00000>,none,1
M01_A,3.000000,<0.00000, 0.00000, 3.27832>,<0.00000, 0.00000, 0.00000, 1.00000>,none,1
M01_A,3.000000,<2.00000, -2.53491, 0.00000>,<0.00000, 0.00000, 0.00000, 1.00000>,none,1

M01_A,3.000000,<0.00000, -3.00000, 0.00000>,<0.00000, 0.00000, 0.00000, 1.00000>,none,1

*palette
DefaultSitAnim,lowbow
.
.
.
FinalMovePose,standing


See the Video




Wednesday, May 23, 2018

The Artiste Mover System - Avatar Movers - Part 1 - Move Ranges

We now know the basics of  how to move an object.

We learned about pairing a palette/object-mover to an anchor.

We learned how to use the menu-approach to creating simple moves and turns.

We learned some Palette-menu commands.  We learned a few move-related *palette nc entries and a few *move nc entries.

***

In order to prepare a Palette as an Avatar-Mover, we need to turn on 2 additional Abilities besides Moveable in the *palette nc.

Moveable,on
Sittable,on
Animatable,on


Abilities help prevent needless permissions requests as well as avoid conflicts.  

***

Ok so let us try and create a little story.  We already have a flying saucer with moves and turns.  Let's make the saucer follow/stalk our chosen avatar. (Now let it be known that Artiste also has a Follow feature for Palettes to auto-follow objects but for our purposes we will create our own home-grown follow function using autofx commands to move Palettes in sync).



So our avatar will climb up right-side stairs, turn left, walk to midway pointturn left, stop and posedance, stop and poseturn rightwalk to left-side stairsturn left again, and then climb down the left-side stairs.

1 - mover - move TO the stairs
2 - mover - move - climb up right-side stairs
3 - mover - turn - turn left
4 - mover - move- walk to midway point
5 - mover - turn - turn left
6 - mover or HUD - move or dance-pose - stop and pose

7 - HUD - dance
8 - mover or HUD - move or dance-pose - stop and pose
9 - mover - turn - turn right
10 - mover - move- walk to left-side stairs
11 - mover - turn - turn left again
12 - mover - move - climb down the left-side stairs

***

This example will demonstrate a few cool, mostly unique, features of the AMS, mainly:
1 - Embedded Moves
2 - Move Ranges
3 - Group Moves


***

FLYING SAUCER

First I redo the saucers moves so they move up at an angle to trace the stairs but off to the side and then move across the bridge and back down the stairs on the other side.  

So first we create a new InitialOffset value for the flying saucer. 

Then we create a bunch of moves and turns for the saucer to mimic stalking our avatar.  We just want to get a rough feel for the flow. We will tweak it later.  For this demo we will continue to use the menu system for creating moves, although it may be enough moves to warrant using the marker system if it appears too much to hold into ones head.


***

AVATAR MOVER

First, we rez a Palette, pair it with the Anchor. (AnchorName).  I rename the Palette to ArtistePalette_02_A.  (For sittable Palettes we must use the standard naming.  01_A thru 01_R are already in use on another project I am doing on this sim so to be safe and not conflict I chose "02_A".)

Second, we prepare it as an avatar-mover as discussed above by setting the appropriate abilities.
Moveable,on
Sittable,on
Animatable,on


Third, we reset it.

Fourth, we insure our active group matches the group of the Palette. Then we press ResetSit button on Palette menu and then SIT on the Palette and accept permissions when asked.

The initial pose when sitting on a Palette is determined by the DefaultSitAnim entry in the *palette nc.  This animation must be in the Palette.

DefaultSitAnim,standing

The final pose that happens at the end of a move sequence is determined by the FinalMovePose entry in the *palette nc. This animation must also be in the Palette.

FinalMovePose,bow



Fifth, we position Palette in front of the right stairs, and rotate it so we are facing the stairs. Then we create a new InitialOffset for the Palette by pressing DumpInitial and then pressing ReloadMoves as we have done before with the saucer.

 InitialOffset,<-3.29439, -0.15184, -0.00061>,<0.00000, 0.00000, 0.70711, 0.70711>

Sixth, we create the 1st 5 moves which is move, move, turn, move, turn.  We test it. All good.

Seventh, lets adjust the durations since the default, in this particular case, is 1 second for all moves and turns.  We learn a new button called QuickTest.  This tests 1 move/turn at a time vs TestAllMoves which runs thru all of the move/turns.

I will rename the move-names for easier identification. So, M02_A, the default, becomes M02_A_01 and M02_A_02, etc, though this is not required.

We add 2 animations to our move sequence. JD walk 1 and JD walk 2. Notice the second walking animation the avatar places her right hand on her right hip, different from the 1st walking animation.

1 second to walk to the stairs

M02_A_01,1.000000,<0.00000, -0.94051, 0.00000>,<0.00000, 0.00000, 0.00000, 1.00000>,JD walk 1,0

We do trial and error on just the 2nd move going up the stairs. I settled on 12 seconds.

M02_A_02,12.000000,<0.00000, -5.57140, 4.12061>,<0.00000, 0.00000, 0.00000, 1.00000>,JD walk 2,0,0,0

I will leave the turn, after the 1st move, at 1 second for now.

M02_A_03,1.000000,Turn,89.993520,none,0

I chose 5 seconds for the move from right-stairs to midway point

M02_A_04,5.000000,<2.94045, 0.00000, 0.00000>,<0.00000, 0.00000, 0.00000, 1.00000>,JD walk 2,0,0

I will leave this next turn that faces the audience also at 1 second for now.

M02_A_05,1.000000,Turn,90.000000,none,0


We will make the saucer ascend for 12 seconds instead of 5 to match the avatar's stair climb.

The command to move both the avatar and saucer from autofx is:

TRACE,on
1,r=p%Flying Saucer!%mmove01-02$r=p%ArtistePalette_26_RC_e%move0
END

We introduce abn arguably unique feature called the move-range.  We tell the flying-saucer to move just its 1st 2 moves, 01 and 02. The move0 is shorthand that  tells the avatar-mover to move ALL of its moves (01-05);

See the Video

We will stop for now so as not to clutter to much info at one time. 



Wednesday, May 9, 2018

The Artiste Mover System - Turns

Artiste has many approaches to turning and rotating . So many in fact that there is now a manual devoted just to turns so you can quickly find, review, and compare the available choices.

BK27 - The Artiste - Book - Turns & Rotations  - v1.0

***

A turn when talking about movers is a type of move and has its own entry line in the *moves nc.

Example:   M99_Z_01,5.000000,Turn,-70.000510,none,0

A cool unique thing about Artiste turns is that they have their own DURATION and can have their own ANIMATION.  Turn-animation has more significance when building an avatar-mover.

Artiste turns are smooth and contiguous and are NOT made up of discreet parts.

If you turn a Palette without also moving it then you can DumpMoves button on the Palette menu will now calculate a turn-entry instead of a move-entry. This is an improvement over the old way of having to type the turn entry in from scratch.

Let's try it with our flying saucer.

We will move, turn, move, turn.

I added a red dome and linked it to the saucer so that the turn will be more evident.










Tuesday, May 8, 2018

The Artiste Mover System - Menu-Based Object Mover

Menu-Based Object Mover

Ok so we know how to rez and place an ArtisteAnchor.   We insure the Palette knows its anchor by putting the anchor name in the *palettes nc.  AnchorName,ArtisteAnchor 

We make it a movable object by  setting Moveable,on in the *palettes nc.

We know how to use the DumpInitial button to find our InitialOffset value that goes in the *moves nc..

We know how to send our Palette to its initial starting step by pressing the GoHome button.

We know how to quickly read in changes to our *moves nc by pressing the ReloadMoves button.

We have the basic knowledge of preparing an Artiste Palette as a mover but without any moves yet.

***

I bought a freebie MODIFIABLE flying saucer for our object-mover demo.

Step 1:  I copy the 9 basic scripts and 5 notecards from our basic Palette into our flying saucer.

Step 2: I set its Moveable,on in the Palette nc.

Step 3: I place the flying saucer just over our Anchor though I could have put it anywhere.



Step 4: I reset the flying saucer by clicking on it and getting the menu to read in ALL the ncs.

Step 5: I press the DumpInitial button and copy/paste the InitialOffset output into the *moves nc.

Step 6: I press the ReloadMoves button on the 2nd page of the Palette Menu.  This reads in our NEW InitialOffset value.  Note:  We only have to do the InitialOffset maneuver once per Palette, unless we change our first position (home).

Step 7: One additional NEW thing we want to do is keep the flying saucer from turning into the default Palette colors upon reset by setting an entry in the *palette nc called Color.  We change it from Color,default to Color,none

All is good now. The Palette and Anchor are now paired.

There are 2 types of mover systems.

Menu-Based and

Marker-Based (bread-crumb trails).

 We will use the simple Menu-Based system because we only have 2 or 3 moves in our demonstration.

Step 1: I press the StartMove button on the Palette/saucer menu.

Step 2: I move the saucer up.

Step 3: I press the EndMove button on the Palette/saucer menu.

Step 4: I press the DumpMove button.

(We can repeat this process ( Step 2, 3, and 4) for as many moves as are needed).

Step 5: I move the saucer to the left

Step 6: I press the EndMove button on the Palette/saucer menu.

Step 7: I press the DumpMove button.

Step 8: I copy/paste the output carefully into the *moves nc..

Step 9: I change the duration of the moves from whatever they happen to be...to 5 for 5 seconds for both the move up and the move left. (They do not have to be the same times)

Step 10: I change NoOfMoves in the *moves nc from whatever it was...to 2.  NoOfMoves ,2

Step 11: I press the ReloadMoves button.

Step 12: I test our 2 saucer moves by pressing the TestAllMoves button on the Palette/saucer menu.

Flying Saucer Object-Mover Video

THATS IT: We just made a simple object mover without the need for markers / bread-crumbs.   This Palette/saucer is now show ready, short of any reorientation needed in case the show venue faces a different direction than the work platform.  It is also ready to be packed into a rezzer.

FYI, the command from the Artiste Performance HUD on the *autofx nc to make it do all of its moves looks like this:

1,r=p%Flying Saucer!%move0







Monday, May 7, 2018

The Artiste Mover System - Pairing - InitialOffset



We have prepared our Palette for an object move by changing the Moveable entry to on in the *palette nc. (I decided to create a simple object-mover first. Then after that we will do an avatar-mover).

Moveable,on

***

The first step in creating a move is pairing a Palette used as a mover to the Anchor.

In the *palette nc insure that the AnchorName matches the actual Anchor you are using.

AnchorName,ArtisteAnchorYumz

If they match then upon reset of the Palette you will get an acknowledgement:

[10:45:09] ArtistePalette_25_RC_d: [LDR] 10 - FOUND: ArtisteAnchorYumz - AnchorKey: 43b6b5ff-8ee1-d093-b8ef-518fbe03a99a @ <225.55920, 17.63139, 3501.32700>


If you have 2 anchors named the same then you will NOT get the acknowledgment and you will also get  a velocity error. 


***

There is a *moves nc that is used to store move information.  If all you are doing is changing move information then there is a button on the Palette menu called ReloadMoves (Page 2) to reload JUST the *moves nc after you make and save changes.  This is a huge time saver as the Palette will not reload the other ncs.


InitialOffset

We need to get this value. It is in the *moves nc.  It tells the Palette where to go when it is rehoming (reset, reloadmoves, GoHome button, GoHome command from autofx).

1 - Position and rotate your palette to where you want it to start its move.  In real practice this seems to be behind the stage wall.

2 - Press the DumpInitial, a button on the Palette Menu.

You get this as output:  ArtistePalette_25_RC_d: InitialOffset,<0.99988, 1.00007, -0.00073>,<0.00000, 0.00000, 0.00000, 1.00000>

All you need is the part that starts with InitialOffset.

InitialOffset,<0.99988, 1.00007, -0.00073>,<0.00000, 0.00000, 0.00000, 1.00000>

Replace the existing value with a copy/paste of this value. 

Then either Reset or ReloadMoves the Palette.


THATS IT!  


Your Palette is now paired with the Anchor and knows where its home position is. Note that if you move or rotate the anchor, the Palette, upon a GoHome command, will reorient its position to stay in sync relative.




You can test your pairing by moving and/or changing the rotation of your Palette then pressing the GoHome button on the Palette menu.  It should return to its home position.


GoHome Video


Note: The speed of the move back to home is set by an entry in the *palette nc called:
GoHomeSpeed,3.0

If this is value is too low and you are moving a big distance, then you could get a velocity error as an object can only move so fast but this is rare.