Jump to content

Project Bento Feedback Thread


Linden Lab
 Share

You are about to reply to a thread that has been inactive for 2254 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I can already tell you Vir's answer to this, "We're not looking to add this sort of functionality at this time, but maybe at a future date."

That being said ~ influencing the Avtar_lad.xml file on the fly would be an interesting proposal, (that is what you're suggesting here if I can understand it correctly? )

The problem is ~ I keep getting mired in the sticky details, such as:

"I'm wearing two mesh heads, one restricts the eye spacing slider, one restricts the nose length slider, which one wins out?" 

If you take the least-restrictive setup then one head is going to have it's sliders unlocked beyond the constraint you wished to place on it anyways, thus defeating the purpose of the feature.

If you take the most restrictive, theoretically you can lock up every slider to the point of unusability.

 

What about pre-existing shapes that have the slider values already set?  Will they be altered upon wearing them?

 

There's a lot of questions that seem to make this ~ a bit less than simple to solve.

Link to comment
Share on other sites

yes it may be that the coding implementation is done at a future time. The thinking about how it might be done and catered for in the design being done now is how these kinda issues are typically approached, so that when resources are available to do the code implementation and testing then there is a design consideration already in place for the work

on the second point

in the case of multiple heads, then the best practice for conflict resolution is the least restrictive premise. Example:

Head A, the slider setting is [40,60]. The viewer slider can be moved between 40 and 60 and Head A responds accordingly

take off Head A and wear Head B

Head B, the slider settings is [0,0]. The viewer slider can't be moved

wear Head A and Head B together. The viewer slider can be moved between 40 and 60. Head A responds, Head B does not

a more complex example:

Head B the slider setting is [10,20]. Head A is [40,60]

the viewer slider can move between 10 and 60. When the viewer slider moves above 20 Head B does not respond. When the viewer slider goes below 40 Head A does not respond

 

eta: the word settings, to make clear how a single UI control can be used to manipulate multiple dependent objects simultaneously

Link to comment
Share on other sites

Sorry to bug you about this Gaia~ but I think you're the one who has the highest liklihood of knowing the answer to this.

For linden .anim files on the really old skeleton, before fitmesh that 

MAX_CONSTRAINTS = 10

MAX_JOINTS = 32

 

What are these values now with Bento?

Link to comment
Share on other sites

  • Lindens

I think the stats you're looking for now are:

MAX_CONSTRAINTS = 10 (unchanged)

LL_CHARACTER_MAX_ANIMATED_JOINTS = 192

The latter is equal to the count of bones plus the count of attachment points, rounded up a bit to allow for a couple of other factors.

Link to comment
Share on other sites

During my tests with the last version of the viewer and avastar I still noticed some problems in the behaviour and definition of some sliders.

Here are my remarks and suggestions :

* EYES *

Outer Eye Corner
This slider uses today the mFaceEyebrowOuterRight and mFaceEyebrowOuterLeft which is not correct as these bones should normally be used for outer part of the brows not the eyes !
This induces rig problems for the animations.

* HEAD *

Head Shape
It does nothing today.
This slider can certainly be linked to some head bones for an interesting effect.

Egg Head
The effect on the chin seems much too strong!
This can certainly be improved.

Head Length
The jaw/chin should move with this slider too ! Today it is quite useless because of that.
Here is my suggestion of change :

<param
id="772"
group="1"
name="EyeBone_Head_Elongate"
wearable="shape"
edit_group="shape_eyes"
label_min="Eyes Short Head"
label_max="Eyes Long Head"
value_min="-1"
value_max="1">
<param_skeleton>
<bone
name="mEyeLeft"
scale="0 0 0"
offset=".016 0 0" />

<bone
name="mEyeRight"
scale="0 0 0"
offset=".016 0 0" />

<bone
name="mFaceEyeAltLeft"
scale="0 0 0"
offset=".016 0 0" />

<bone
name="mFaceEyeAltRight"
scale="0 0 0"
offset=".016 0 0" />

<bone
name="mFaceRoot"
scale="0.25 0 0"
offset="0 0 0" />

<bone
name="mFaceNoseCenter"
scale="0 0 0"
offset=".01 0 0" />

<bone
name="mFaceNoseRight"
scale="0 0 0"
offset=".005 0 0" />

<bone
name="mFaceNoseLeft"
scale="0 0 0"
offset=".005 0 0" />

<bone
name="mFaceNoseBase"
scale="0 0 0"
offset=".005 0 0" />

<bone
name="mFaceLipUpperCenter"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceLipUpperLeft"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceLipUpperRight"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceLipCornerRight"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceLipCornerLeft"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceCheekLowerLeft"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceCheekLowerRight"
scale="0 0 0"
offset="-0.012 0 0" />

<bone
name="mFaceTeethUpper"
scale="0 0 0"
offset="0.015 0 0" />

<bone
name="mFaceTeethLower"
scale="0 0 0"
offset="0.015 0 0" />

<bone
name="mFaceLipLowerLeft"
scale="0 0 0"
offset="0.015 0 0" />

<bone
name="mFaceLipLowerRight"
scale="0 0 0"
offset="0.015 0 0" />

<bone
name="mFaceLipLowerCenter"
scale="0 0 0"
offset="0.015 0 0" />

<bone
name="mFaceChin"
scale="0 0 0"
offset="0.01 0 0" />

<bone
name="mFaceJaw"
scale="0 0 0"
offset="0.008 0 0" />

</param_skeleton>
</param>

* CHIN *

Jaw Shape
This slider moves too much the lips and not enough the jaw.
I think this slider should only work on the mFaceChin bone. This has the big advantage to not move the lips at all, only the jaw/chin.
So I would recommend this change :

<param
id="30017"
group="1"
name="Square_Jaw"
value_min="-0.5"
value_max="1">
<param_skeleton>

<bone
name="mFaceChin"
scale="0.0 0.7 0.0"
offset="0.0 0.0 0.0" />

</param_skeleton>
</param>

  • Like 2
Link to comment
Share on other sites

To animate the hair so credible, as well as the skirts (they may not fit into the legs of the avatars) need to be created a complete and specific AO for THAT hair. I experienced the skirts 4 years ago using the collision volume. If instead you want to create hair for photos and small videos with firm avatar, you can use the bones of wings modifying it in edit mode. So you can create different pose with a single hair.

Link to comment
Share on other sites

  • Lindens

Hi MoonHowler, sorry I didn't see your question earlier.

Re: ankle attachment points: it certainly seems like a reasonable thing to have. At this stage in Bento development we are trying to keep the skeleton stable and focus on bug fixes, though, so it's most likely something to be considered later (unlike some types of skeleton changes, this is the sort of thing that could be added without affecting existing content, so it's not a now-or-never feature)

  • Like 1
Link to comment
Share on other sites

Hey, Gael;

The goal for the slider lad of the Bento bones was to reproduce the slider influence on the System character as much as possible. This clearly can not be done precise, but IMHO we got it pretty close for most sliders. keeping that goal in mind, i have taken a closer look into your proposed changes (see my comments below).

Maybe i also should mention that combining the appearance sliders with facial animations is a complex field. We always have been aware that this might not work well in every case. But as far as we have seen it is not totally impossible. Some parts do not work well, other parts work pretty good.


Gael Streeter wrote:

Outer Eye Corner

This slider uses today the mFaceEyebrowOuterRight and mFaceEyebrowOuterLeft which is not correct as these bones should normally be used for outer part of the brows not the eyes !

This induces rig problems for the animations.

Which bones do you propose to attach to the outer eye corner slider instead? We can not add new bones here. The only alternative i see here is to not provide outer eye corner sliders.


Gael Streeter wrote:

Head Shape

It does nothing today.

This slider can certainly be linked to some head bones for an interesting effect.

Yes, it could. But what is an "interesting effect" ? We could have implemented something arbitrary here. But we run out of time and ideas for this slider. Also we did not find any reasonable configuration to replicate the system character's morph for this slider. So we kept it unsupported.


Gael Streeter wrote:

Egg Head

The effect on the chin seems much too strong!

This can certainly be improved.

The Egg head slider was the last one we implemented. The problem with that slider is that we tried to combine bone drivers which had already been created for other sliders. It turned out that something unexpected happens here.

For the technicians: The driven values do not combine as expected, but they seem to overwrite each other. This might be intentional or a bug, but in any case it can not be fixed without breaking compatibility.

IMHO the Egg head slider is a failure. But i do not want to touch this one again as it will probably fall apart just by looking at it. I even propose to scratch it. (or mark it as experimental at least)


Gael Streeter wrote:

Head Length

The jaw/chin should move with this slider too ! Today it is quite useless because of that.

I can not verify that. the Jaw and Chin actually do move with the slider. Your change also seems to introduce some other flaws:

  • The tongue moves wrong (it sticks out when the slider is moved to 100)
  • The upper teeth move out of the mesh
  • The lower teeth keep too deep inside the mesh

Of course all of this is also influenced by the weight maps. But as i mentioned above our goal was to replicate the slider influence on a mesh that is compatible to the default avatar. And that seems to work pretty well for this slider in its current implementation, although it could be optimized a bit.


Gael Streeter wrote:

* CHIN *

Jaw Shape

This slider moves too much the lips and not enough the jaw.

I think this slider should only work on the mFaceChin bone. This has the big advantage to not move the lips at all, only the jaw/chin.

Yep, this change work for me. In fact the Chin Bone was added very late in the project. At that time the lad definitions for the Jaw Shape slider had already been implemented. So we overlooked this simplification.

Thanks for that one! I have added this change to the lad definition. Linden Lab will need to approve the change still, but there is a good chance that it will make it into the release.

  • Like 1
Link to comment
Share on other sites

Thank you Matrice Laville !
I am happy to see that you took into account my remarks and suggestions.:matte-motes-smile:

I do not think that the sliders should do exactly the same as for the System character by all means. But I think they should rather offer interesting and useful deformation possibilities in agreement with the sliders name and purpose...

Regarding the weights, I use Avastar 2.0.10 for my tests as I know that the sliders settings have been made in accordance with the Avastar weights.

Following your message, I made some additional tests and tries and here are my last remarks and suggestions.

Outer Eye Corner
Indeed, the right solution would have been to add dedicated FaceEyecornerOuter bones as there are for the Inner Eye Corner...
Personally, I do not know what is the best decision without those dedicated bones :
- To leave it as it is ?
- To remove this Outer Eye Corner slider (from Bento) ?
I just raise the problem and let Linden Lab take the decision...

Head Shape
I made some tries and here my suggestion for this slider (I used an unused id number as I do not know how is made the numbering) :

<param
id="40186"
group="1"
name="Square_Head"
value_min="-1"
value_max="1">
<param_skeleton>

<bone
name="mFaceChin"
scale="0.0 0.5 0.0"
offset="0.0 0.0 0.0" />

<bone
name="mFaceCheekLowerRight"
scale="0.0 0.0 0.0"
offset="0.0 -0.005 0.0" />

<bone
name="mFaceCheekLowerLeft"
scale="0.0 0.0 0.0"
offset="0.0 -0.005 0.0" />

<bone
name="mFaceForeheadRight"
scale="0.0 1.5 0.0"
offset="0.0 0.0 0.0" />

<bone
name="mFaceForeheadLeft"
scale="0.0 1.5 0.0"
offset="0.0 0.0 0.0" />

</param_skeleton>
</param>

<param
id="193"
group="0"
wearable="shape"
edit_group="shape_head"
edit_group_order="3"
name="Head Shape"
label="Head Shape"
label_min="More Square"
label_max="More Round"
show_simple="true"
value_min="0"
value_max="1"
value_default=".5"
camera_elevation=".1"
camera_distance=".5"
camera_angle="20">
<param_driver>
<driven
id="188"
min1="0"
max1="0"
max2="0"
min2=".5" />

<driven
id="642"
min1="0"
max1="0"
max2="0"
min2=".5" />

<driven
id="189"
min1=".5"
max1="1"
max2="1"
min2="1" />

<driven
id="643"
min1=".5"
max1="1"
max2="1"
min2="1" />

<driven
id="40186" />

</param_driver>

</param>

Head Length
Indeed, I did not have had a close look to the tongue and teeth. So I made some additional tests taking care of what is happening in the mouth...
And I noticed that this slider has today a big problem regarding the teeth !
Indeed, when playing with the slider, the upper teeth are going before and behind the lower teeth, which is absolutely unentended.
I think this slider is often used in SL (notably to adapt the head shape for some hair) so it is important that it is well set also for Bento...
I improved my last suggestion regarding this slider and fixed all the remarks you made regarding the teeth and tongue.
Here is it :

<param
id="772"
group="1"
name="EyeBone_Head_Elongate"
wearable="shape"
edit_group="shape_eyes"
label_min="Eyes Short Head"
label_max="Eyes Long Head"
value_min="-1"
value_max="1">
<param_skeleton>
<bone
name="mEyeLeft"
scale="0 0 0"
offset=".016 0 0" />

<bone
name="mEyeRight"
scale="0 0 0"
offset=".016 0 0" />

<bone
name="mFaceEyeAltLeft"
scale="0 0 0"
offset=".016 0 0" />

<bone
name="mFaceEyeAltRight"
scale="0 0 0"
offset=".016 0 0" />

<bone
name="mFaceRoot"
scale="0.25 0 0"
offset="0 0 0" />

<bone
name="mFaceNoseCenter"
scale="0 0 0"
offset=".01 0 0" />

<bone
name="mFaceNoseRight"
scale="0 0 0"
offset=".005 0 0" />

<bone
name="mFaceNoseLeft"
scale="0 0 0"
offset=".005 0 0" />

<bone
name="mFaceNoseBase"
scale="0 0 0"
offset=".005 0 0" />

<bone
name="mFaceLipUpperCenter"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceLipUpperLeft"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceLipUpperRight"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceLipCornerRight"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceLipCornerLeft"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceCheekLowerLeft"
scale="0 0 0"
offset="0.012 0 0" />

<bone
name="mFaceCheekLowerRight"
scale="0 0 0"
offset="-0.012 0 0" />

<bone
name="mFaceTeethUpper"
scale="0 0 0"
offset="0.023 0 0" />

<bone
name="mFaceTeethLower"
scale="0 0 0"
offset="0.023 0 0" />

<bone
name="mFaceTongueBase"
scale="0 0 0"
offset="0.015 0 0" />

<bone
name="mFaceLipLowerLeft"
scale="0 0 0"
offset="0.015 0 0" />

<bone
name="mFaceLipLowerRight"
scale="0 0 0"
offset="0.015 0 0" />

<bone
name="mFaceLipLowerCenter"
scale="0 0 0"
offset="0.015 0 0" />

<bone
name="mFaceChin"
scale="0 0 0"
offset="0.01 0 0" />

<bone
name="mFaceJaw"
scale="0 0 0"
offset="0.008 0 0" />

</param_skeleton>
</param>

Link to comment
Share on other sites

Can someone please update the skeleton dae's and/or maya scene files on the bento wiki?  For some reason, the current dae files have no collision bones so I can't do the fitted weight sliders on the body and am getting all kinds of problems trying to upload.  I was told Avastar has the most up to date version though I am not as familiar with Blender.  Otherwise, woudl be great if someone could email me the file and I could message you my address.  Thanks in advance :)

Link to comment
Share on other sites

  • Lindens

At the last user group meeting, I mentioned that we had done some script work for .anim files during Project Bento. The code for this can be found at  anim_tool.py  This is just part of the viewer source tree in the Bento repo, so once Bento becomes the default viewer you will be able to find the latest version of the file in the viewer-release repo.

The disclaimer here is that this is not documented and isn't likely to be officially supported. It's mainly something we put together for testing so we could make test animations for Bento. However, it should understand all the fields of .anim files, so if you want to write python code that reads or writes .anim files this might save you some time.

Requirements: you'll need python 2.7 installed, with the lxml module for etree. You'll need a version of avatar_skeleton.xml and avatar_lad.xml, which you can get from any viewer install or viewer repo.

An example usage would be:

% python <path>/anim_tool.py --skel avatar_skeleton.xml --lad avatar_lad.xml --joints bone attachment_point --no_hud --rand_pos input_file.anim output_file.anim

This would read the animation fille input_file.anim, and add a new random position track for every bone and attachment point it found in avatar_skeleton.xml/avatar_lad.xml. The result would be written to output_file.anim. no_hud tells it to skip the on-screen attachments so you don't scramble them too. You could run this using either the bento or pre-bento versions of the skeleton and lad files.

If you wanted to make an animation that sort of reversed this one, you could use --reset_pos instead of --rand_pos. That would move all bones and attachment points back to the default position defined in avatar_skeleton.xml. (It's not a true reset because it would still clobber the effects of any sliders, but it would make your avatar look no longer scrambled.)

 

 

  • Like 2
Link to comment
Share on other sites

  • Lindens

Sorry if that was unclear. There's no change with respect to our support of .anim and .bvh as file formats. I just meant that the script itself isn't an officially supported part of the viewer, so there may or may not be bug fixes or other future work on it. It would be useful mainly as a starting point for someone who was already interesting in writing python code to manipulate .anim files (for example, in a blender plugin). The read and write parts are basically python ports of the corresponding C++ code in LLKeyframeMotion::serialize and deserialize.

Re: bvh files, the bento project viewer does allow position animations now, but we don't have any other changes in the pipeline. If you know of other issues with bvh upload please do file bugs against them.

  • Like 1
Link to comment
Share on other sites

Vir would it be possible ot update the skeleton files on the wiki so non-blender users can use them?   For some reason, the current dae files have no collision bones so I can't do the fitted weight sliders on the body and am getting all kinds of problems trying to upload.  I was told Avastar has the most up to date version though I am not as familiar with Blender.  Otherwise, woudl be great if someone could email me the file and I could message you my address.  Thanks in advance

Link to comment
Share on other sites

It's a pity that Linden Lab didn't tackle improving the base human avatar first so there wouldn't be such a huge need for human form replacement bodies and heads with all their add-on lag, HUDs, appliers, etc., etc. IMHO, Bento put the cart before the real horse. 95% of the avatars I see in SL (and not because I go to human places) are human avatars. The vast majority of them simply want to look good. They want perkier boobs; more defined chests; clothes and skins that don't look all warped because the triangles are weird in certain spots; more definition in the face, etc., etc. Yes some of that can be sort of addressed in Bento. But, wouldn't it have been nice to look as good as wearing a Maitreya body with a Catwa head using the stock SL avatar while being able to use the stock sliders and normal wearable skins?

I'll say it again (yes I'm a broken record on this), all of this add-on stuff for human avatars is simply making SL needlessly complex, more expensive and increasing laggy. If I go to a busy sim, it can take fully 10-20 minutes of rezzing before I see everyone due to the mesh body overload. (And yes I have a good connection, fast computer and a fair amount of graphics power.)

Sadly, a side-effect of Bento seems like it will "bake in place" the current SL avatar.

  • Like 1
Link to comment
Share on other sites

  • Lindens

Hi Teager,

No, we're not live yet. Should be soon, but we still need to get the project viewer update pushed out first, and a few documentation updates. Meeting today will be in our regular aditi location.

When we do go live, you'll see an announcement in this thread, a blog post, fireworks, etc... we'll try to make sure no one misses it :-)

  • Like 1
Link to comment
Share on other sites

  • Lindens

The Bento Project Viewer has been updated - you should receive this automatically when you run the previous version. The main changes here are support for Reset Skeleton, which can be used to try to fix "crunched up" avatars. If you get a chance to try it out, please let us know how it works for you.

There are also a few last-minute updates to the slider support for mesh avatars.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2254 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...