Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Overriding Typing Animation - but still problems!

Lum Pfohl
Registered User
Join date: 14 May 2007
Posts: 7
08-23-2008 08:51
I have a friend who sells Prim Nails (yes, Press-On Nails). Her business does well, but is sometimes plagued by the right hand closing in a fist while typing. This leaves her nails suspended while typing, where her fingers are not - and is disconcerting.

My initial solution was to create a new animation for typing and force the fingers to be straight - then stuff that into a Typing AO I developed.

Without knowing anything about animations, I took the standard "avatar_type.bvh" and edited it in Poser 7 (I have 5 also). I saw that it provided no "hints" for positioning the fingers - so I provided explicit angles for each of the digits on the hands - through all the frames.

I uploaded that animation as "NewTyping 3" into SL - and made it loop and set it to various priorities. However, I'm still clenching my right hand in a fist from time to time, and my attempts seem to be failing. This occurs whether I'm playing the animation directly, or through the AO.

My questions are:

1) why is my right hand clenching? I obseve that if I'm standing in a particular stance - that I am prone to typing with a closed right fist.

2) how can I configure the animation to overcome the right-hand clenching? Should I start out with a completely new animation?

3) are there other ways to overcome this? for example to see which animation is causing the right hand to be clenched and let's say "reposition" the nails - or force a different animation in its place?


Thanks so much in advance.

~lum
Viktoria Dovgal
Join date: 29 Jul 2007
Posts: 3,593
08-23-2008 08:58
SL doesn't use BVH data for the fingers, only the stock hand postitions (the ones you see in the animation upload window) are used. The hand position stuff also happens to be buggy. But any animation that runs, be it one of the stands or whatever, can trigger different hand positions.

You can try forcing straight hands in your typing animation upload, but you still could end up fighting those stands or whatever if they start up after your typing starts.
_____________________
Lum Pfohl
Registered User
Join date: 14 May 2007
Posts: 7
08-23-2008 12:17
"SL doesn't use BVH data for the fingers ... " WHOA!! Thank you! It really seems you're right.

But what of the "avatar_RPS_paper.bvh," "avatar_RPS_rock.bvh," "avatar_RPS_scissors.bvh," "avatar_point_me.bvh," "avatar_point_you.bvh" animations? They are implemented correctly in world (under the built-in animations).

But previewing them in Poser simply yields an open hand - and no finger data. So they are implemented with the "Fist Right," "Salute Right" and "Peace Right" hands?

How clever...

I can definitely force the clenched hands using the "Fist Right" upload. I wonder what's the difference between the "Typing" and "Relaxed" and "Spread" -- I don't readily see the difference...

~lum
Viktoria Dovgal
Join date: 29 Jul 2007
Posts: 3,593
08-23-2008 12:33
From: Lum Pfohl
But what of the "avatar_RPS_paper.bvh," "avatar_RPS_rock.bvh," "avatar_RPS_scissors.bvh," "avatar_point_me.bvh," "avatar_point_you.bvh" animations? They are implemented correctly in world (under the built-in animations).

That is one of the little details LL forgot to mention, those BVH files they give us only contain partial data. SL doesn't use BVH internally, it uses a format that allows a lot more flexibility than what is exposed to us on the outside.

It's here if you are curious:
http://wiki.secondlife.com/wiki/Internal_Animation_Format
Those hand poses amd facial expressions are indeed hooked into there, and also they get to do cool things like use different ease-in and priority on different joints that aren't really available to us.

the documentation is a little easier to find than it used to be, so maybe someday someone will feel like adding the format.
From: someone
But previewing them in Poser simply yields an open hand - and no finger data. So they are implemented with the "Fist Right," "Salute Right" and "Peace Right" hands?

Exactly, yes.
From: someone
I can definitely force the clenched hands using the "Fist Right" upload. I wonder what's the difference between the "Typing" and "Relaxed" and "Spread" -- I don't readily see the difference...

The hand poses have been kind of broken for a while, but when things are working, relaxed should have the fingers slightly separated and slightly curved, typing has the fingers in more of a "claw" kind of position, and spread should have straight fingers a little more far apart.
_____________________
Claari Shepherd
Danri CEO and Designer
Join date: 20 Feb 2007
Posts: 170
08-23-2008 13:26
Would turning off the typing animation be an option?
Here's a link to the video showing how
https://support.secondlife.com/ics/support/default.asp?deptID=4417
Lum Pfohl
Registered User
Join date: 14 May 2007
Posts: 7
08-24-2008 09:39
From: Viktoria Dovgal
The hand position stuff also happens to be buggy. /QUOTE]

I've found the Jira post for just this buggy hand position you mention. http://jira.secondlife.com/browse/VWR-1793 - and just recently reopened by Ramzi Linden on August 6, 2008.

Sigh...
Lum Pfohl
Registered User
Join date: 14 May 2007
Posts: 7
08-24-2008 16:49
I think I may have de-mystified the right-hand clench - thing...

During the course of "standing around" my avatar has any of the following combinations of poses:

stand
stand, stand_1
stand, stand_2
stand, stand_3
stand, stand_4

It is when I am performing a stand_3 (left arm at the side, right hand on hip), is when my fist is clenched!!!

To uncover this, I wrote a script (attached to the bottom of this post) and simply observed myself cycle through the various default animation - and typed to see if my hand would clench.

So, now I know which is the culprit - I believe I can now effect a "banker's algorithm." rather than trying to overcome the effects of a clenched fist, I can take steps to "avoid" it.

In my new Typing AO, instead of trying to force a typing animation with my right hand in a salute and HOPE that it will be "stronger" than the stand_3 animation, when I type I can detect that a stand_3 animation is indeed occurring and stop it...

In fact, it works pretty well - I can see as I begin to type - my hand is clenched. The timer which periodically checks the animation kicks in and detects that I'm typing - and that I'm also in stand_3 animation and simply stops it. I watched my hand unclench and type normally! YAY!

Thanks for everyone's insight, without which I couldn't come this far.

~lum

// -----------------------
default
{
state_entry()
{
llSay(0, "Hello, Avatar!";);
}

touch_start(integer total_number)
{
list anims = llGetAnimationList(llGetOwner());

if(llListFindList(anims,[(key)("c541c47f-e0c0-058b-ad1a-d6ae3a4584d9";)]) != -1) {
llOwnerSay("typing";);
}

if(llListFindList(anims,[(key)("2408fe9e-df1d-1d7d-f4ff-1384fa7b350f";)]) != -1) {
llOwnerSay("stand";);
}

if(llListFindList(anims,[(key)("15468e00-3400-bb66-cecc-646d7c14458e";)]) != -1) {
llOwnerSay("stand_1";);
}

if(llListFindList(anims,[(key)("370f3a20-6ca6-9971-848c-9a01bc42ae3c";)]) != -1) {
llOwnerSay("stand_2";);
}

if(llListFindList(anims,[(key)("42b46214-4b44-79ae-deb8-0df61424ff4b";)]) != -1) {
llOwnerSay("stand_3";);
}

if(llListFindList(anims,[(key)("f22fed8b-a5ed-2c93-64d5-bdd8b93c889f";)]) != -1) {
llOwnerSay("stand_4";);
}

if(llListFindList(anims,[(key)("6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0";)]) != -1) {
llOwnerSay("walk";);
}

if(llListFindList(anims,[(key)("9aa8b0a6-0c6f-9518-c7c3-4f41f2c001ad";)]) != -1) {
llOwnerSay("body_noise";);
}

if(llListFindList(anims,[(key)("ce986325-0ba7-6e6e-cc24-b17c4b795578";)]) != -1) {
llOwnerSay("hand_motion";);
}

}
}