Gearsawe Stonecutter
Over there
Join date: 14 Sep 2005
Posts: 614
|
04-15-2009 19:17
I have been asked this question many times. As to why the Root Position and Hip Rotation are ignored for a single frame still animation. All I know is it does but have no idea why. I know it just does.
Trying to write documentation and have no explanation. Anyone have some technical info on this rather annoying quirk of SL to help new people to SL? My only guess is it was figured you can use the rotation and offset in a SitTarget and it was felt a long time ago to ignore these two values in the Pose file because of this.
|
Zach Wolfe
Outrider
Join date: 11 Dec 2004
Posts: 23
|
re:
04-15-2009 23:29
Hiya Gearsawe. If I am understanding your question correctly, the only way those values would be ignored is if the 1st frame (the scaling frame) values of the hip rotation and root position are set to the same values as the hip rotation and root position of the 2nd frame (2nd frame being the actual 1st and only frame of a single frame animation when it's uploaded to sl.) i.e. Hip rotation on the scaling frame = -90.000 and the second frame hip rotation is set to -90.000 That would be the same as hip rotation = 0.000 to SL on upload I"m sure that you know all of this already but I thought I'd try to help you anyway so I hope this is helpful. Zach
|
Darien Caldwell
Registered User
Join date: 12 Oct 2006
Posts: 3,127
|
04-16-2009 12:39
If you are talking about animations played in-world, it's because they would be relative to... what? The avatar is freestanding so there is nothing to be relative to. But the second frame can be relative to the first, and the third relative to the second... etc.
As for sitting, it's probably just done the same way, rather than writing a different set of rules for sitting.
|
Gearsawe Stonecutter
Over there
Join date: 14 Sep 2005
Posts: 614
|
04-16-2009 14:38
Well I am talking about a still pose where there is no refence frame one one line of data in the BVH file. Where all joints are automatically Locked, and they assume all angle values refence zero. Just find it odd the Hip rotation and Root Position don't assume a refernce of zero as well. Probably LL's way of saving a few bytes of data. Guess they figure if you are using a sit target there is no sense of sending redundent data.
Have gotton a couple answers from LL as well and they really don't know why either.
"That'is the way it was and we liked it"
|
Newfie Pendragon
Crusty and proud of it
Join date: 19 Dec 2003
Posts: 1,025
|
04-16-2009 19:19
Part of the reason it's that way is because BVH isn't a format defined by LL, but rather by the motion capture industry. In addition, the BVH file format is not specific to a human skeleton, but is more of a generic 'bones/links' system that in theory can handle any type of skeleton - human, animal, space alien, etc. Part of the downside of that is to properly record the full animation sequence, the BVH must include a reference frame, one that describes what the skeleton itself looks like.
LL uses the 'T' (human) standing pose by default, but there's no guarantee that any random BVH that can be imported will do the same. Thus, the reference frame becomes the method by which a non-SL animation (but is BVH) can be correctly brought into SL.
Even then, the imported BVH is not guaranteed to work. Just can't make that fish animation swim the human correctly.
(Edit) The other reason for the reference frame is to allow animation blending - that is, where an anim might be turning a person's head, but has no information (or event cares about) how to animate one's limbs. The animation blending allows multiple animations combine on the fly to appear as a single unit of movement.
- Newfie
|