
|
If you were logged in you would be able to see more operations.
|
|
|
|
File Attachments:
|
None
|
|
Image Attachments:
|
|
|
Issue Links:
|
Relates
|
|
This issue Relates to:
|
|
|
VWR-2242 Specially formatted .BVH file can cause avatar distortion
|
|
|
|
|
|
This issue is related to by:
|
|
|
VWR-12103 "Stop all animations" does not stop animations with joint offsets (aka "deformers")
|
|
|
|
|
|
|
|
|
|
|
| Last Triaged: |
15/Jan/09 06:05 PM
|
| Linden Lab Issue ID: |
DEV-26189
|
Summary
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This Jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
Desired Implementation Criteria
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
Specifically
- If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
- Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it – just the deformation.
- Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
- When the deformation animation is no longer being "played," the avatar returns to normal. This can be done by replacing or adding a default priority 0 animation to the avatar that includes the default position information.
- The limits for the distance a joint can move would be no less than it is now, which is currently dependent on the joint and shape, and allows for extremely large avatars.
- Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
- Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation – and subsequent restoration, would be ideal.
Existing problems and solutions
P: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated – but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
S1: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
S2: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
S3: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars. Since the current limit for animations is to move within a 5m box away from the avatar's hip, an increase on this level to 10m, or even better 20m would allow for avatars of an acceptable size without requiring additional scripting resources to manually lift the avatar.
P: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
S1: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
S2: Automatically increase the bounding box when an avatar is deformed.
Examples
In the BVH file, the hierarchy for the head would normally be:
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
But if the joint is to be deformed, it would be changed to:
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
And three additional floats would be added to the motion data on each line in the second half.
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
The ideas in this Jira are the efforts of a
large collaboration of avatar creators and consumers, and not solely that of the
name of the Jira creator.
|
|
Description
|
Summary
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This Jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
Desired Implementation Criteria
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
Specifically
- If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
- Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it – just the deformation.
- Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
- When the deformation animation is no longer being "played," the avatar returns to normal. This can be done by replacing or adding a default priority 0 animation to the avatar that includes the default position information.
- The limits for the distance a joint can move would be no less than it is now, which is currently dependent on the joint and shape, and allows for extremely large avatars.
- Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
- Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation – and subsequent restoration, would be ideal.
Existing problems and solutions
P: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated – but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
S1: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
S2: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
S3: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars. Since the current limit for animations is to move within a 5m box away from the avatar's hip, an increase on this level to 10m, or even better 20m would allow for avatars of an acceptable size without requiring additional scripting resources to manually lift the avatar.
P: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
S1: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
S2: Automatically increase the bounding box when an avatar is deformed.
Examples
In the BVH file, the hierarchy for the head would normally be:
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
But if the joint is to be deformed, it would be changed to:
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
And three additional floats would be added to the motion data on each line in the second half.
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
The ideas in this Jira are the efforts of a
large collaboration of avatar creators and consumers, and not solely that of the
name of the Jira creator.
|
Show » |
made changes - 09/Sep/07 08:53 AM
| Field |
Original Value |
New Value |
|
Link
|
|
This issue Relates to VWR-2242
[ VWR-2242
]
|
made changes - 22/Dec/07 01:56 AM
|
Workflow
|
jira
[ 15189
]
|
jira-2007-12-21
[ 23699
]
|
made changes - 22/Dec/07 02:07 AM
|
Workflow
|
jira
[ 23699
]
|
jira-2007-12-21
[ 24365
]
|
made changes - 22/Dec/07 03:03 PM
|
Workflow
|
jira-2007-12-21
[ 24365
]
|
jira-2007-12-22
[ 30812
]
|
made changes - 22/Dec/07 03:26 PM
|
Workflow
|
jira-2007-12-21
[ 30812
]
|
jira-2007-12-22
[ 32674
]
|
made changes - 22/Dec/07 08:12 PM
|
Workflow
|
jira-2007-12-22
[ 32674
]
|
jira-2007-12-22a
[ 37808
]
|
made changes - 22/Dec/07 08:36 PM
|
Workflow
|
jira-2007-12-22
[ 37808
]
|
jira-2007-12-22a
[ 39269
]
|
made changes - 22/Dec/07 09:29 PM
|
Workflow
|
jira-2007-12-22
[ 39269
]
|
jira-2007-12-22a
[ 41765
]
|
made changes - 22/Dec/07 09:51 PM
|
Workflow
|
jira-2007-12-22
[ 41765
]
|
jira-2007-12-22a
[ 43139
]
|
made changes - 28/Oct/08 11:48 AM
|
Description
|
read and render properly both rotations and offsets for each of the joints set an uploaded bvh file
but remember to keep backwards compatibility by using the default offset any joint without offset defined
|
read and render properly both rotations and offsets for each of the joints set on an uploaded bvh file
but remember to keep backwards compatibility by using the default offset for any joint without offset defined
|
made changes - 13/Nov/08 11:01 AM
|
Workflow
|
jira-2007-12-22a
[ 43139
]
|
jira-2008-11-14
[ 62189
]
|
made changes - 13/Nov/08 11:17 AM
|
Workflow
|
jira-2007-12-22a
[ 62189
]
|
jira-2008-11-14
[ 67637
]
|
made changes - 13/Nov/08 04:31 PM
|
Workflow
|
jira-2008-11-14
[ 67637
]
|
jira-2008-11-14a
[ 87583
]
|
made changes - 13/Nov/08 04:44 PM
|
Workflow
|
jira-2008-11-14
[ 87583
]
|
jira-2008-11-14a
[ 91644
]
|
made changes - 13/Nov/08 04:57 PM
|
Workflow
|
jira-2008-11-14
[ 91644
]
|
jira-2008-11-14a
[ 95997
]
|
made changes - 13/Nov/08 05:07 PM
|
Workflow
|
jira-2008-11-14
[ 95997
]
|
jira-2008-11-14a
[ 99875
]
|
made changes - 13/Nov/08 05:25 PM
|
Workflow
|
jira-2008-11-14
[ 99875
]
|
jira-2008-11-14a
[ 106685
]
|
made changes - 13/Nov/08 05:44 PM
|
Workflow
|
jira-2008-11-14
[ 106685
]
|
jira-2008-11-14a
[ 113174
]
|
made changes - 13/Nov/08 05:59 PM
|
Workflow
|
jira-2008-11-14
[ 113174
]
|
jira-2008-11-14a
[ 118481
]
|
made changes - 13/Nov/08 06:20 PM
|
Workflow
|
jira-2008-11-14
[ 118481
]
|
jira-2008-11-14a
[ 126225
]
|
made changes - 13/Nov/08 06:36 PM
|
Workflow
|
jira-2008-11-14
[ 126225
]
|
jira-2008-11-14a
[ 132533
]
|
made changes - 15/Jan/09 06:05 PM
|
Last Triaged
|
|
15/Jan/09 06:05 PM
|
|
Linden Lab Issue ID
|
|
DEV-26189
|
made changes - 18/Feb/09 06:43 PM
|
Link
|
|
This issue is related to by VWR-12103
[ VWR-12103
]
|
made changes - 12/May/09 05:45 PM
|
Description
|
read and render properly both rotations and offsets for each of the joints set on an uploaded bvh file
but remember to keep backwards compatibility by using the default offset for any joint without offset defined
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implimentation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:grey}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
made changes - 12/May/09 05:46 PM
|
Description
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implimentation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:grey}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implimentation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:DarkGray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
made changes - 12/May/09 05:55 PM
|
Summary
|
read both rotation and offsets for each joint on a bvh file
|
Allow Deformations by Reading Position Information in BVH Files/Animations
|
|
Description
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implimentation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:DarkGray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implimentation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:gray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
made changes - 12/May/09 05:56 PM
|
Link
|
|
This issue is related to by VWR-2242
[ VWR-2242
]
|
made changes - 12/May/09 06:19 PM
|
Description
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implimentation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:gray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implimentation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal. This can be done by replacing or adding a default priority 0 animation to the avatar that includes the default position information.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:gray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
made changes - 13/May/09 05:55 PM
|
Description
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implimentation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal. This can be done by replacing or adding a default priority 0 animation to the avatar that includes the default position information.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:gray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implementation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal. This can be done by replacing or adding a default priority 0 animation to the avatar that includes the default position information.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars. If possible provide even bigger range than what is currently avaiable, the biggest possible.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:gray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
made changes - 15/May/09 05:29 AM
|
Description
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implementation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal. This can be done by replacing or adding a default priority 0 animation to the avatar that includes the default position information.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependant on the joint and shape, and allows for extremely large avatars. If possible provide even bigger range than what is currently avaiable, the biggest possible.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars, and that animations will only be able to stretch the hip a maximum of 5m away from a square around their origin, restricting what could be done without additional tools.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:gray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This Jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implementation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal. This can be done by replacing or adding a default priority 0 animation to the avatar that includes the default position information.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependent on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars. Since the current limit for animations is to move within a 5m box away from the avatar's hip, an increase on this level to 10m, or even better 20m would allow for avatars of an acceptable size without requiring additional scripting resources to manually lift the avatar.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:gray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
made changes - 20/May/09 11:45 PM
|
Description
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This Jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implementation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal. This can be done by replacing or adding a default priority 0 animation to the avatar that includes the default position information.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependent on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars. Since the current limit for animations is to move within a 5m box away from the avatar's hip, an increase on this level to 10m, or even better 20m would allow for avatars of an acceptable size without requiring additional scripting resources to manually lift the avatar.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:gray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
|
h2. Summary
----
This Jira is for official support for deformations. Deformations are what moves the bending joints of the avatar to new locations, to allow for large, small and interestingly shaped avatars with joints that bend as expected. Technically: This Jira is to allow for the reading and rendering of both rotation AND position information for any specified joint from an uploaded animation.
h2. Desired Implementation Criteria
----
Enhance BVH parsing, and allow positional information as an option. This allows for single-length snap-to deformations (single looping frame) as well as animated deformations (animating a limb getting longer or shorter). It also easily allows animations to be included in a deformation, meaning instead of 19 animations (18 deformations + 1 animation) the whole thing can be done in one animation.
h2. Specifically
* If a joint in the hierarchy data has x, y, and zposition in addition to the standard rotation, expect to have three new values in each frame of the motion data, or second half of the BVH file.
* Use the same "not changed between frame 1 and frame 2" tactic to ignore a joint, but separate the position and rotation. If the position changes between frame one and two, deform it. But if the rotation on the same joint doesn't, activate no animation on it -- just the deformation.
* Position information can be played like animations. That is, you can animate limbs lengthing and shortening, as well as simply snapping into place with a one-frame loop. Old deformations can do this.
* When the deformation animation is no longer being "played," the avatar returns to normal. This can be done by replacing or adding a default priority 0 animation to the avatar that includes the default position information.
* The limits for the distance a joint can move would be no less than it is now, which is currently dependent on the joint and shape, and allows for extremely large avatars.
* Continue to ignore the joint offsets in the hierarchy data in the first half of the BVH files. This joint position data in the hierarchy is essentially obsoleted by the appearance sliders within Second Life. Also, the data provided in the default SL BVH files do not match the default avatar, and many people use their own models in their 3D applications which generate very different hierarchy data in their BVH files.
* Eyes can currently be deformed, as they are a bone on the skeleton. Allowing the addition of the eye into the BVH heirarchy and their deformation -- and subsequent restoration, would be ideal.
h2. Existing problems and solutions
_P_: After deforming an avatar playing animations, the legs will buckle when attempting to IK at the ground. By changing the avatar's shape the hip height will be recalculated -- but not to the correct spot. Occasionally, different viewers will see the avatar's hip at different default heights while deformed.
_S1_: Preferably, the hip height should update with the length of the legs. This would mean that existing animations can be used on a deformed avatar. Currently, completely new animations are required for the hip height to be the correct distance off the ground.
_S2_: If that's not possible, second choice is perhaps a script-based method of setting the hip offset to a fixed value. This would still allow existing animations to be used by manually setting the hip offset to a proper height. For example, llSetAvatarHips(AVATAR_HIP_DEFAULT) or llHipHeight(30.0)
_S3_: Last choice is that deformations don't effect the hip height at all. This means that all new animations will be required for deformed avatars. Since the current limit for animations is to move within a 5m box away from the avatar's hip, an increase on this level to 10m, or even better 20m would allow for avatars of an acceptable size without requiring additional scripting resources to manually lift the avatar.
_P_: The bounding box on a large avatar is a peaspeck compared to the avatar itself.
_S1_: Create a separate script function to change the avatar's bounding box size. For example, llSetAvatarBBox(AVATAR_BBOX_DEFAULT), or llSetAvatarBBox(<10.0,5.0,5.0>);
_S2_: Automatically increase the bounding box when an avatar is deformed.
h2. Examples
In the BVH file, the hierarchy for the head would normally be:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xrotation Zrotation Yrotation
JOINT head
{quote}
But if the joint is to be deformed, it would be changed to:
{quote}
OFFSET 0.000000 10.266162 -0.273764
CHANNELS 3 Xposition Yposition Zposition Xrotation Zrotation Yrotation
JOINT head
{quote}
And three additional floats would be added to the motion data on each line in the second half.
{color:gray}
The existing problems with (old) deformations that the new deformations should solve:
----
1) Requires 18 animations to deform every joint. This can slow down the server and client.
2) All 18 animations must play at some point after a third party looks at the avatar for them to see the deformations.
3) A third party who looked at a now-not-deformed avatar and hasn't moved out of visual range and back must see the avatar play the "undeformation" animations to see them normal again. (Or, the avatar must be forced out of the third party's viewing range and back again.)
4) With the avatar being stretched vertically, if the shape changes, then the avatar will sink into the ground or float. Since when a third party loads the avatar, there's no real way to tell if the deformation animations or the shape will be applied first, then it's a dice roll if the deformed avatar is loaded in the proper order.
{color}
{panel:title=note}The ideas in this Jira are the efforts of a
large collaboration of avatar creators and consumers, and not solely that of the
name of the Jira creator.{panel}
|
Wanders Nowhere made changes - 21/May/09 05:20 PM
|
Attachment
|
|
screenshot-2.jpg
[ 24535
]
|
Wanders Nowhere made changes - 21/May/09 05:20 PM
|
Attachment
|
|
screenshot-2.jpg
[ 24536
]
|
Wanders Nowhere made changes - 21/May/09 05:27 PM
|
Attachment
|
screenshot-2.jpg
[ 24536
]
|
|
Wanders Nowhere made changes - 21/May/09 05:31 PM
|
Attachment
|
screenshot-2.jpg
[ 24535
]
|
|
made changes - 21/May/09 07:52 PM
made changes - 27/May/09 09:17 PM
|
Link
|
|
This issue is related to by MISC-2874
[ MISC-2874
]
|
made changes - 27/May/09 09:50 PM
|
Link
|
This issue is related to by MISC-2874
[ MISC-2874
]
|
|
made changes - 06/Jun/09 07:55 AM
|
Link
|
This issue is related to by VWR-2242
[ VWR-2242
]
|
|
made changes - 04/Sep/09 12:23 PM
|
Link
|
|
This issue is related to by VWR-15403
[ VWR-15403
]
|
|