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. 



No comments:

Post a Comment