Jump to content
Linden Lab

Project Bento Feedback Thread

Recommended Posts

Thank you (Bento team) very much for opening Bento to the Agni, expected it soon but not so soon :)  that is cool.

And for updating the skeleton files. However,there is a problem, or better to say stil, because I noticed it since long time. When I import the .dae files (mesh + skeleton) into Blender, I see the skeleton broken. Some bones are minimized and their head tips do not catch the tail tips of their child bones in the line. You can see it by comparing the leg lines with hind lines:



The same problem I have when I import into Blender 2.75 and into Blender 2.77a. Is there a way to import it in an unbroken way or do I have to corect this manually? It seems not too hard, although I am not sure if I can do it without a mistake.

 

Share this post


Link to post
Share on other sites

This is an issue with the Blender Collada importer. The default Collada format has no way to define the length of a bone. But we need this to make the skeleton look right. This problem has been partially solved in recent blender versions:

When you open the import panel, then you find a control panel in the tool shelf in the lower left corner of the Blender screen:



 

In the Armature options enable the options

 

  • Fix Leaf Bones
  • Find Bone Chains.

This setting tries to rebuild the bones as good as it can. But this is based on some assumptions so it can never create a perfect result. So you probably still need to manually fix the skeleton after importing.

However we have started to improve the Blender skeleton importer to also support bone end points. In fact the Secondlife reference dae files already are prepared for this and Blender version 2.78 will be able to import the dae files lossless. Here is a peek preview of how it will look alike after reimport:



 

If you like you can get this feature with the daily Blender build within about the next 2 weeks.

  • Like 2

Share this post


Link to post
Share on other sites

Wow!  That was fast!  Thanks for moving Bento onto the main grid so quickly!

I've been testing Bento more on Aditi the last couple of weeks.  I have an observation and a suggestion.  I wanted to use the hind legs as limbs other than hind legs.  I also wanted to appropriate some of the facial bones to use in other locations, kind of like Medhue did with his elephant.  However, I am facing a problem.  When I upload my mesh, the hind legs scale with the height of the avatar, and with the leg length of the avatar.  Since the facial bones scale with the face, they end up disproportionate with the part of the body they are actually on.  I'm not terribly surprised the facial bones scale, considering where they are on the skeleton, but I am quite surprised that the hind legs do.

Since I'm making an avatar add-on, not a full avatar, I can't really include a prepackaged shape with what I'm making.  Is there a way we could upload rigged Bento-mesh that did not scale with the sliders?  Or is there some way we can disable the sliders on our meshes other ways?

Share this post


Link to post
Share on other sites

Hi Tyrian, 

That's an interesting point about scale changes with some bones. What's going on there is that scale changes are being applied to the hind limbs in order to keep them matched up with the front limbs, to handle cases like a centaur model where you want the legs to match up. You can prevent the bone positions from being changed by applying a position override in the mesh, but there is currently no comparable way to prevent scale changes.

Perhaps we should also be preventing slider scale changes for bones that have position overrides defined? Usually that sort of change would break the expected behavior for some people, but I'm not sure how useful scale effects are if decoupled from position effects.

Share this post


Link to post
Share on other sites

Vir, implementing the change you're describing here would also make the hind legs unable to scale on a centaur or similar creature, since their body is likely to be much longer than the default distance between the avatar legs and the hind legs. And since centaurs were the main inspiration behind attaching the hind legs to the avatar legs, I don't feel that would be a good solution.

 

What WOULD be a good solution is to apply 3 new generic directional shape sliders to all new limb chains: an x-scale shape slider, a y-scale shape slider, and a z-scale shape slider each, for the hind legs, the tail, and the wings. This way, someone wanting to use the hind legs in the way Tyrian is describing could do so without being restricted by the length of the avatar legs, and someone wanting to use them for centaur legs could create a custom shape to stretch their hind legs down to the proper length to keep them on the ground.

 

This would also prevent people from having to make differently sized copies of the same tails, wings, and other avatar addons for taller avatars vs. shorter avatars. I see no logical reason why a short avatar shouldn't be able to wear the same wing mesh or tail mesh as a tall avatar, and be able to scale those wings down to appropriately fit their shape.

 

I know I keep bringing this point up, and you keep saying it's not in the scale of bento right now... but I really feel like it SHOULD be in the scale of bento. It will fix so many problems before they occur.

  • Like 3

Share this post


Link to post
Share on other sites

after gathering a lot of information about Bento I have the imprsession that it's not only interesting for avatar builders and maybe clothes designer, but also for builders of other mesh attachments like weapons, musical instruments and similar objects that could make use of the ability to animate moving parts.

the whole rigging stuff is completely new to me, and before I'll take my first steps into that subject I'd be happy if somebody could confirm my assumptions:

 

  • It's possible to build and rig attachments that are not body parts
  • I don't have to care about the bones that i don't use for my objects
  • classic SL avatars can wear and use that objects

if that is right it seems be worthwhile to dive into that matter...

Share this post


Link to post
Share on other sites

Hi Teager,

Disregarding questions of scope, could you clarify how these would work? The idea is you have a set of scale controls for each limb chain, and every bone in the chain gets scaled by that amount? Would this be in addition to the scale effects already present in the sliders, or would we remove those?

If I'm understanding this right, I'm not sure this would help with Tyrian's case - it sounds like the desire there is to create accessories that would work with a range of existing avatars, without requiring access to the shape.

Share this post


Link to post
Share on other sites

Hi Mikki,

Right, all of that should be true. For example, you should be able to make a rigged wing attachment that could be added to a system avatar to give them flapping wings, or an animated pet attachment using some of the extra bones that could accompany any avatar. The main thing to watch out for is that each attachment only touches the joints it needs, and that they don't conflict with each other. For example, if the wings and the animated pet were both trying to use the wing bones, you would get a huge mess if you tried to wear them both together.

Share this post


Link to post
Share on other sites

Hi Vir ! 

I`ve got issues with uploading the in motionbuilder imported skeleton.

I`ve marked all bones before exporting.
https://drive.google.com/folderview?id=0B7YPlLwe1uxWQ2xiLWQyLVBRTVU&usp=sharing

I did not used maya in any part of the workflow.

I would be very happy to get help from your guys in this case.

Thank you very much in advance,

Jason

Share this post


Link to post
Share on other sites

Let me start by clarifying that I'm not presenting a solution to make every mesh fit every avatar and every shape automatically. That's folly. That will never happen. What I'm presenting instead is to offer an easy way to make things fit the way we need them.

 

What I'm describing here is to first off, remove the connection between the avatar legs and the hind legs. Allow the avatar legs to scale on their own as they always have, without affecting the scale of the hind legs at all.

 

Then, create 9 new shape sliders which scale the new limbs:

  • hind legs, front to back 
  • hind legs, side to side
  • hind legs, up and down
  • wings, front to back
  • wings, side to side
  • wings, up and down
  • tail, front to back
  • tail, side to side
  • tail, up and down

 

The reason for the 9 different sliders is because we can't know what direction these limbs will be facing when people actually rig them. They could be positioned in basically any direction, and the sl shape sliders aren't intelligent enough to be able to recognize that "hey, those wings used to face front to back but on this model they face up and down, so let's scale them up and down instead".

 

By providing a single shape slider for each direction in each limb chain, you can assure that each set of limbs will be able to be made bigger or smaller, longer or shorter, in whatever direction they're facing.

 

To walk through how that would be applicable in live use, I'll use the example of the centaur:

  • Say someone buys a centaur butt, and their normal human shape is very short
  • When they wear the centaur butt, their front legs will also be short, due to their usual sl shape. Their hind legs will therefore be under the ground
  • So they enter edit appearance, locate the "hind legs, up and down" slider, and make their hind legs shorter until their back feet are on the ground where they should be.
  • This way, the creator of the centaur butt could include a variety of shapes with the centaur that make the avatar taller or shorter, and all have their hind feet on the ground where they should be... AND the user can use their own existing shapes and adjust them to fit their needs with very little difficulty.
  • We have the option, as creators, to provide several easy routes for quick wear with premade shapes, and the user still maintains the option to customize their purchases further if they so desire.
  • WITHOUT this suggestion, we as creators need to upload the same mesh and the same animations multiple times in various sizes, and the user has NO say in customization - they can only use what we provide them.

 

So, for Tyrian's case - hi Tyrian! - let's say she's using the hind legs to be extra arms instead. She'll rotate them so they're positioned side-to-side by default, and they will be completely unaffected by the avatar leg shape sliders. But if someone needed those arms to be longer or shorter, they could open up the "hind legs, side to side" option and make them fit their avatar as needed. They could also simulate making those arms thicker or thinner by using the "hind legs, up and down" and "hind legs, front to back" shape sliders. So this way, Tyrian would be able to make them fit and scale exactly the way she wants them, independently of any other body part.

 

What this suggestion would NOT fix would be wanting to use some of the facial bones in something that is not a face or head attachment. Not knowing exactly what Tyrian plans to do with the face bones, I can't really make an informed recommendation for alternate bones for her to use, but I think it would be ill advised to remove the facial bones from the head size slider, because for most things parented to the head it would be beneficial to also have them scale with the head. And I feel like the facial sliders we already have in place provide too much functionality to ditch those either.

 

  • For anyone wanting to make a head, back, or shoulder addon that does not scale with the head, I'd suggest getting creative with the wing bones.
  • If the addon isn't going to be on the head but will just be a free-floating pet or something of that sort, use the tail and hind bones.
  • If you just really need a ton of bones with minimal interference with other use cases, and you have the option of animating the arms to suit your needs, use the fingers! I know I have plans to rig a rideable version of my horse that attaches beneath your human avatar, and 30 bones will be more than enough for that purpose. :)
  • Like 4

Share this post


Link to post
Share on other sites

I agree with Teager's suggestion, without a control over sizes of the new limbs it should be a nightmare for every creator to provide and upload the same resized stuff many times, and if it contains bones translations to upload the animations too, as well it will make unneeded mess in customer's folders and maybe heads.

Share this post


Link to post
Share on other sites

I am attempting to make an avatar that is basically mesh add-ons attached to the standard avatar.  I do want the attachments to work on a range of shapes, therefore something like sliders for the tail, hindlimbs and wings would be helpful. It would be annoying to have to provide several sizes of the tail and wings. Also, I was planning to use the hindlimbs as additional bones for the tail, since the tail is rather long. Now when I change the pelvis length, my tail becomes longer at one of the segments. 

Share this post


Link to post
Share on other sites

Teager, outside of actually testing this, I think it's a great idea, and would really make these new bones much more compatible for everyone. I'm not so sure about side to side and front to back, but just scaling as a general rule for these new bones would be great.

Share this post


Link to post
Share on other sites

Not exactly sure where this goes, because I cannot determine if this problem is a bug or an error on my part. When I animate the separate eyelid mesh of my dragon head with an alpha flipping script, it causes the avatar hover height to flicker everytime the head blinks. I am using partial joint positions with only some of the head bones being utilized. I am uploading all the head meshes together. I double checked my weights on all of my meshes for the head and deleted unnecessary vertex groups. The eyelids are only rigged to mHead. I am using Avastar 2.0.10. I do realize that I could just animate them using the new bento bones, but I was unable to get it to blink precisely how I wanted it to using the bones.

  • Like 1

Share this post


Link to post
Share on other sites

Yeah, it's inconvenient, or depending on what you're trying to do, simply not an option. The eyes I mentioned in the JIRA are rigged because my wyvern's head geometry is actually rigged to Spine 2, and as such, so must the eyes be. 

Share this post


Link to post
Share on other sites

Hi Aki,

It looks like what's going on with the blink/height glitch may be that one of the bones that contributes to the avatar height calculation is changing position. You can see this by going into Advanced->Show Debug Settings and setting DebugAvatarAppearanceMessage to true. You will see a line of text above your avatar with a bunch of fields - one of these fields is bsz-z, that is, the z-componenent of the avatar body size. In the case of the wyvern, it looks like every blink also triggers a change in this value. Since the body size calculation works with the logic for maintaining ground contact, a change here can trigger a vertical movement of the avatar.

The body size is computed using the position and scale of a chain of joints from the left foot to the head: mPelvis, mSkull, mChest, mHead, mTorso, mHipLeft, mKneeLeft, mAnkeLeft, and mFootLeft. Is it possible that the blink animation is causing a change in one of these joints?

 

Share this post


Link to post
Share on other sites

@Vir: The eye mesh contains a single script which 'animates' eyeblinks by cycling through "open"/"half-open/""closed" texture offsets randomly. It otherwise has some functionality to change textures for the eyeball and pupil, but no actual .bvh or .anim are involved.

Share this post


Link to post
Share on other sites

Thanks for the additional info! Tracing through this in the debugger, it looks like some change related to the blink is causing a bunch of recalculations to take place for updating the geometry. Ultimately one of the effects of the updates is to update the body size calculation. So it's likely that the actual change to the joint positions took place earlier (presumably from some other animation), but the effect wasn't immediately visible because the body size didn't get updated right away. If this is all correct, there are a couple of possible routes to go here:

1) Be careful about animations that affect the positions of the chain of joints used for body size calculations (note that unless you need to change the shape of wyvern, you should be able to use rotations instead, and rotations won't have any effect on the height calculation).

2) Minimize the use of changes that trigger geometry updates - for example, if the eye blink was implemented using an animation of the eyelid bones, you probably wouldn't see the same behavior.

Neither of these is a really great solution for the problem, but they are things that could be done now on the content side. The underlying issue is that the height calculation was designed for upright humanoids at a time when animation of positions was not allowed, so it's not playing nicely with the current system. We'll have to do some more digging to see if there's a reasonable solution on the viewer code side.

Share this post


Link to post
Share on other sites

Re: the desire to create attachments that are rigged to bento bones (possibly in non-standard positions), without being affected by scale effects from the sliders:

What if we extended the notion of position overrides in mesh models to also allow for scale overrides? This would be an additional checkbox in model upload, where some information in the dae would be used to determine a scale override (but only if the checkbox was also checked).  If a scale override was present for a joint, this would prevent any scale effects from the sliders on that joint.

I'm not sure how feasible this change would be, or whether it would fit in the bento schedule, but if it is possible, would it be a good solution to the problem? (Note that this is separate from the discussion about adding more sliders to help with customization of limbs and such, because the goal here is to create an accessory that will work with a range of pre-existing avatars, where the creator of the accessory does not have access to modify the avatar's shape.)

  • Like 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...