Jump to content
Linden Lab

Project Bento Feedback Thread

Recommended Posts

No, I'm not saying it's a bad idea because people are "stupid," I'm saying it's a bad idea because it'd reduce compatibilty between avatars while also straining the servers more than they would need to be. The beauty of the current system is that no matter how something is created, how the skeleton is shifted around and distorted, you can use the same techniques for creating animations and rigging compatible objects. My main worry with the introduction of custom skeletons is that there would be nothing stopping some more talented creators from creating "branded" skeletons, ones that would only be compatible with approved products. As it is, some creators are very guarded about what can and cannot be created for their avatars, and I'm worried that issue would only be driven further. Of course, some of these would flop, but when the highest quality or only product available for what you're looking for is set up like, that, of course it would succeed.

Bento's skeleton is very robust. It can be made into almost anything, provided you have some creativity with how you alter it. Currently, I'm making a cartoony mesh avatar that swaps the arm and the wing bones to achieve more expression in the wings, while still having the same number of bones in the arms for animation. There's a ridable dragon mount being created solely using the bones introduced in Bento; There's mermaid tails, centaurs, fully animated pets, I've seen people playing with using the wing bones for hair. I've seen hints of gorgeous, realistic bird wings using just what's given for the wing bones. The limit is only how much work you're willing to put into making something happen, custom skeletons wouldn't make it any easier, it'd just complicate everything further.

 

I you kinda lost me when you started talking about using animated skeletons in rezzable objects though...

 

Edit: Also, with Bento you can put wings on your arms or your head. It just requires you to edit the bone positions and make custom animations. You could totally make a car avatar, very easily in fact. It'd only require, at most, 12 bones to be rigged to.

Share this post


Link to post
Share on other sites

One of the great things that have been implemented because of Bento is we now have the ability to make animations with rotations and translations of all the bones in the skeleton.  Before only the mPelvis bone could rotate and translate.  All the other bones could only rotate.

Because of this basically we do now have the ability to make custom skeletons.  You can use any bone anywhere in combination with other bones even if those bones are not connected to each other.  Medhue made a video showing how he used face bones that were not connected to each other to animate the trunk of his elephant.  The end result was as if he created a new chain of bones from existing bones.

Basically the work flow is like this.  Create your custom skeleton.  Then take the default skeleton and snap them one by one to the bones in the custom skeleton.  Then constrain the default skeleton to the custom skeleton and animate the custom skeleton.  The default skeleton bones go along for the ride and you export out the default skeleton's animation.

This does mean you have to make all the animations like walk, sit, run, fly and so on.  If you were going to be making a custom skeleton you be making these animations anyway.

So with translation animations you can use the tip of the ears as hip bones.  Two forehead bones for the knees and a finger bones for the feet.  They don't have to be connected.  You are only limited to the total number of bones that are in the default skeleton. :D

It is a bit more complicated than being able to upload custom skeletons directly but there was never enough time or man hours available to be able to write major code changes to SL to allow custom skeletons in the Bento's budget.  We did discuss custom skeletons early on in Bento.

As far as increasing the capacity of simultaneous attachments I think that would make lag worse.  Too many attachments with large textures and scripts is a big problem already causing too much lag.

You got good ideas overall.  Just that they aren't going to happen with Bento but maybe in the future they will. :)

Share this post


Link to post
Share on other sites

Well, I'll chime in a bit, as I do think being primarily an animator allows me to more easily envision what is possible with a rig like this. Animation touches every aspect of a character, and learning all aspects of animation forces you to learn all aspects of the avatar.

The Bento Rig far surpasses what even I envisioned was possible. It really does say something about just how ingenius some of the parts of SL actually are, despite it's issues. The whole animation system is somewhat of a work of art. Again, despite it's issues. Slider support tops it all. To do anything like this with a custom skeleton, would need that same genius, completely redone for a new system.

Bone translation support changed everything. When I first got ahold of the initial Bento rig, my excitement quickly turned to a realization just how limited we were with only using rotations. I've been creating Unity characters and animations for years now, creating my own custom rigs. I knew that bone translation was key to all those rigs, because bones aren't always bones, but also muscle and skin deformations. Without translation, there is no way an SL character could ever be as good as any character in modern games. I knew it was possible, because I've used it on the original rig. It just didn't work with all bones. This is why I lobbied so hard for bone translation. Kudos to LL for seeing and understanding how important it is.Now, anything is possible. For a creator, it's like all the chains have been lifted. There are limits, but the possibilities are endless.

 

Bento is HUGE! Again, Kudos to LL for seeing how important this is. So, what's next. That's what I'm thinking about. And what other change could be as big as Bento. Well, to me, custom skeletons for NPCs is as HUGE as Bento is. It changes everything. Not only is it awesome for creators, but also for SL reputation and pocketbook. 1 of the big criticisms about SL is that there is not enough to actually do, outside of fashion, socializing, and creating. Engaging NPCs changes all that. They allow a sim to be fun, without any actual other people around. LL made this crazy awesome pathfinding system, but it is useless because we don't have good NPCs to use it. NPCs with skeletons is a game changer.

  • Like 2

Share this post


Link to post
Share on other sites


Matrice Laville wrote:

Mel Vanbeeck wrote:

That file is clearly very messed up.

Can you give more details about where the file is clearly messed up?

The Jaw Bone is missing in the files that we created on 12 july because the collada exporter dropped all bones which are not used for weighting. This is an intentional optimization to only provide the used bones. This optimization was discussed in the bento meetings a couple of months ago (allow partial rigs). I do not see where the collada files are messed up.

The files from 15 july have been exported with the "include all animation bones" option and the jaw bone is again available in the dae (although it is not used for weighting the models)

The incomplete skeleton is the main issue I was referring to. If I try to import that into Maya it's completely useless since the missing jaw bone causes every child to become parented to mFaceRoot instead, so all the correct bone positions become a mystery. It was of course also missing all the tail, wing, and hind leg bones.

There is another bit of fun when importing to Maya which is also true of the 15 July export:

The following parent and/or ancestor node(s) is/are not part of the BindPose definition.	mHead	mNeck	mChest	mTorso	mPelvis

as well as 

While reading or writing a file the following notifications have been raised.	Warning: The transform of node "mPelvis" is not compatible with FBX, so it is baked into TRS.	Warning: The unsupported technique element with profile "blender" in node element "mPelvis"	Warning: The transform of node "mTorso" is not compatible with FBX, so it is baked into TRS.	Warning: The unsupported technique element with profile "blender" in node element "mTorso"	Warning: The transform of node "mChest" is not compatible with FBX, so it is baked into TRS.	Warning: The unsupported technique element with profile "blender" in node element "mChest"	Warning: The transform of node "mNeck" is not compatible with FBX, so it is baked into TRS.

etc. going on for every bone in the skeleton. This also puts every bone into its own layer, which takes a while to clean up.

Share this post


Link to post
Share on other sites

Hi, Mel;

Transferring data between tools seems to be never any joyful experience. I have taken a look into this and i modified the Avastar exporter a bit in the hope it helps Maya users:

For the Blender Profile issue:

I added an option to not export with the blender profile. This is supposed to stop the Maya importer from complaining about the blender profile.

For the Bone Layers issue:

It is possible that Maya's importer does not know how to handle the layer information and then decides to add each bone on its own layer. Can you tell us how the bone layers are named after import? Maybe this can give us a hint what's wrong. However, i added an option to export the data without the Bone Layer information. This should stop Maya from adding bone layers.

For the Node Transform issue:

I am not sure what to do there. As far as i recall Maya complains about invalid transform nodes also when it is given its own Collada exports for importing back :matte-motes-mad: It could be related to the usage of Matrix elements in the node hierarchy instead of the also valid <location>,<rotation> and <scale> decomposition.

Before i try anything based on believe, can anybody tell me about what exactly Maya complains and how we can make it happy?

Here are 3 new Collada files which should work for Maya and for SL:

The files contain the full skeleton, no bone layer data and no Blender profile data. The files should work for import to SL and for import to Maya:

 

Please can you report back any issues with these files?

Share this post


Link to post
Share on other sites

About: "

The following parent and/or ancestor node(s) is/are not part of the BindPose definition.

I suspected that something like this will happen. The reason for this warning is most probably that each mesh part has only those bones defined for its bind pose which are actually also used for animating the particular mesh. This means when you have the full skeleton defined in the skeleton node hierarchy, but only some of the defined bones are included in the Bind poses of the meshes then a tool might consider this to be an inconsistency.

However for the SL Import we want it exactly like this. The reason is: The SL Importer refuses meshes if they have more than 110 bones in their bind pose. But if you split the character into 2 or more sub meshes (head and body for example as we did for the bento angel) and then only specify the necessary bones for each mesh, then you can still import the character with a full skeleton into SL without hitting the bind pose bone limit :matte-motes-evil-invert:

I am not sure if we should change anything here.

Share this post


Link to post
Share on other sites

Hi;

Yesterday i added 3 new Collada files which are meant to be useful for import to SL and for import to Maya. Could someone who has access to Maya please check if everything is good for you and report back any issues?

The files contain the full skeleton, no bone layer data and no Blender profile data. The files should work for import to SL and for import to Maya:

 

If i know what to fix, then i can try to improve the files for tool exchanging purposes :matte-motes-smile:

And if all is well or acceptable at least, then we can ask LL to replace the dae files in the wiki by the new ones.

Share this post


Link to post
Share on other sites

Hi Gaia, thanks for taking a look at these Maya import problems. The 7/18 file is much better. I still receive the errors regarding the bind pose and transforms, but the errors concerning the blender profile and the one layer per bone are gone.

For curiosity's sake, the 7/15 file created bone layers that looked like ths:



To reiterate, though, this is not a problem with your 7/18 file. From what I can tell, the errors during the import of the 7/18 file are inconsequential.

 

Share this post


Link to post
Share on other sites

Can you tell me which bones are assigned to which bone layers for a couple of bones? I also presume Maya can assign a bone to more than one bone layer... correct?

For the Bind Pose warnings: I can add an option to Avastar for exporting "with full bind pose" . This would create a complete and fully valid Collada file. However this Collada file will not be usable for importing to SL because of the bone count limit of 110 in the bind pose.

But i believe the warning about not all bones in Bind pose is paranoid. Everything should be consistent as long as the mesh is only weighted to the listed bind pose bones.

Share this post


Link to post
Share on other sites

Since I updated to the most recent bento viewer and avastar 2.0.13, I'm experiencing a consistent inability to upload my mesh with custom joints applied. Since the last time I uploaded, I have changed from the next-to-last bento viewer to the most recent bento viewer (with facial bone changes), from blender 2.76 to 2.77, and from avastar 2.0.10 to 2.0.13. Theoretically the change could be in any of those, or user error.

 

And to get the easiest question out of the way, yes, I am selecting weights and joints in the mesh uploader :)

 



This is how my joints should look, as seen in blender prior to export.

 



This is how they appear in second life, when exported with the options on the left. You can see that the skeleton is still in its default human shape - this persists through relogs and reset skeleton. The mesh just doesn't appear to have any joint offsets.

 



I wasn't sure what exactly "sanity check" was checking for, so I tried without that as well. Same result.

I tried a few other different combinations of these new export options too, including "only bone weights" and "only deform bones" with various combinations of the other options, but saw generally the same thing.

 



This is what the first mesh looks like when I import the .dae back into blender. Everything appears fine; bones seem to be where I want them to be.

 

 

Has anyone else encountered this error who can either tell me what I've done wrong or lend more data for a jira?

 

 

 

Share this post


Link to post
Share on other sites

mh, I leave "Export with joints" unchecked, and then the bones keep the structure they have in Blender. Sounds a bit confusing for me, but you may give that a try...

  • Like 1

Share this post


Link to post
Share on other sites

We have trouble with getting the sliders to work together with modified skeletons and joint offsets. Here is a work around until we fixed the joint offset issues:

First of all: Do NOT use the joint offset editor in the Rig Config Panel.

More precisely do not use the "Store joint edits" button in the rig control panel. Also take care that the list of "modified Joints"  in that panel is empty when you open your skeleton in Edit mode. You can "remove joint edits".

Also do NOT use the sliders in Avastar after you edited the skeleton. At the moment any use of the sliders will reset your edited skeleton to the default setting (this is what we need to fix).

And Second: When you export your models then take care to use the following settings in the Collada exporter:

Enable(necessary to get your models into SL!):

  • Only Deform Bones
  • Export SL Rotation

Disable:

  • Export with Joints (Yes, disable it, see below!)

All other options can be set as you like.

Why disabling the "Export with joints" is necessary:

The joint offsets are the differences from the original location of the bones to their current location after you edited your skeleton. We need this information only to get the Sliders to work correctly. But as long as you do not touch the sliders, you can edit the skeleton as you like.

But then Avastar should also not take any joint offsets into account when exporting: So when you do not use the sliders and when you do not define joint offsets, then you can safely disable the usage of joint offsets during export. In that case the Rig is exported "as is" and that is actually exactly what you want. Sounds complicated? yes, but i have already plugged in my irons to make this part going smoother :matte-motes-sour:

  • Like 1

Share this post


Link to post
Share on other sites

Confusing is right! I never would have guessed that I'd need to disable "export with joints" in order to successfully export my joints. Definitely looking forward to the future avastar with shape sliders all fixed and that export option a little more clearly defined.

 

Thanks for the help - the joint offsets are working as expected now :)

Share this post


Link to post
Share on other sites


Teager wrote:

Confusing is right! I never would have guessed that I'd need to disable "export with joints" in order to successfully export my joints.

Please be patient with us. This stuff is totally fresh made and there was close to no time to make things work nice for the everyday usage. It is just a lucky coincidence that disabling this option makes the exporter work! Name it Contrabug it you like :matte-motes-nerdy:

Share this post


Link to post
Share on other sites

Gaia Clary wrote:


Please be patient with us. 

promised! You do such a great job! It's amazing to have all those doors open to new stuff to build, even apart from all those avatar animation possibilities.

This is just the first step:

now the fingers are waiting to be animated...

Share this post


Link to post
Share on other sites

The bones shown in this list follow the joints in the outliner in reverse order, so the top layer contains mHindLimb4right, and you can see the second selected, and so on. 

The layer ending in 03228 (with no _ncl1_x extension) corresponds to the mGroin bone, keeping with the pattern.

As far as these layers go, a bone can only be part of one layer.

I suspect that in the long run, the .dae file in the wiki will not be used for anything other than importing the skeleton to various programs to bind custom meshes to, and possibly copy weights from. Other than just a basic test, I don't see why anyone would be importing this .dae directly to SL without doing some sort of editing on it first. From that angle, perhaps a .fbx rig would be the more useful file to have in the wiki for the purpose of getting started in whatever 3d program.

Share this post


Link to post
Share on other sites


Mel Vanbeeck wrote:

The layer ending in 03228 (with no _ncl1_x extension) corresponds to the mGroin bone, keeping with the pattern.

I mentioned already that data exchange between tools is a nightmare :matte-motes-sour:

So the main problem is that Maya can assign a bone only to one bone layer while in blender a bone can be assigned to multiple layers. I wonder about the layer name of the mGroin. I would expect to see something like this for example:

  • mgroin has bone layer "2328"
  • mHindLimb1Left has bone layer "2330"

Mel Vanbeeck wrote:

I suspect that in the long run, the .dae file in the wiki will not be used for anything other than importing the skeleton to various programs to bind custom meshes to, and possibly copy weights from. Other than just a basic test, I don't see why anyone would be importing this .dae directly to SL without doing some sort of editing on it first. From that angle, perhaps a .fbx rig would be the more useful file to have in the wiki for the purpose of getting started in whatever 3d program.

I see what you mean, the dae files are probably more useful as a reference and less useful for testing the Import to SL. So i can add another target "3dtool" to the Avastar Collada exporter. Exporting to this target would then:

  • export all mBones, all attachment bones and all Volume bones
  • add all bones to all bind shapes in the Collada file
  • does not provide any layer information
  • does not use the Blender profile

This export option may be useful for creators who need to exchange their modified skeletons with other creators who use different tools. However, you mentioned that FBX would be more useful. I am curious what makes FBX superior to Collada in this case? And which version of FBX do you recommend?

Share this post


Link to post
Share on other sites

It's beyond my level of expertise to opine strongly on the question of .fbx or .dae, honestly. There is a discussion of this topic that I found at http://forum.unity3d.com/threads/pros-and-cons-of-different-3d-model-formats-fbx-dae-ect.344009/ which seems to support my general impression of the issue, though, which was the top google result of "fbx vs collada".

My original idea was that the .fbx exporter in Blender worked pretty well for crossing platforms, but if you're already neck deep in doing custom .dae exports perhaps effort is better invested there. I really couldn't say.

Share this post


Link to post
Share on other sites


Gaia Clary wrote:


However, you mentioned that FBX would be more useful. I am curious what makes FBX superior to Collada in this case? And which version of FBX do you recommend?


I've worked on teams where we traded files between Blender and Maya. We used FBX and did not have very many problems. I've even trouble shot problems with an avatar with a Maya user, trying to figure out what was wrong with it.

Share this post


Link to post
Share on other sites

Small update to avastar - I noticed the alt eye bones are still parented to head, whereas in world they're now parented to face root (yay!)

Share this post


Link to post
Share on other sites

I am not sure how it might affect the skeleton in Blender, but in Maya, I noticed this version of the skeleton has "Segment Scale Compensate" turned off on all the joints.  For Maya, this means that when you scale a joint, it affects all the parented joints, so if you adjust the scale to widen the shoulder, the lower arm and hand will also go wider.  I would imagine that if this is carried over to uploads into SL, could cause lots of issues.

Also the skeletons dont have the fitted bones.

Share this post


Link to post
Share on other sites

We can speack of hand too?

This rig of hand not is good. 

I can make joint position, yes.... in this mode when creators of animation use basic skeleton of second life my hand move good...yes. Too bad we can only have one joint position for the same bones(if i undderstood) yes... but...As we put rings and nails?

Share this post


Link to post
Share on other sites

I'm on the record advocating to have the Eyelid bones on the same pivot point as the eye. I was wrong.

 

It seems to me, that offsetting them is the smartest route, but it needs the proper position. After some playing around, I found something closer to this to be the most desirable.

They aren't exactly opposite offsets, because the top eyelid usually moves farther than the bottom.

 

That said, I'm not really advocating for any skeleton change, as unique joint positions really doesn't, or shouldn't change anything else. At this point, they could be irrelavent.

Share this post


Link to post
Share on other sites

The hand rig is fine, there is no need for metacarpal bones ( as some people have requested ), they are fundamentally useless and can be managed with a simple translation animation for those who feel the range of mobility they would provide is absolutely mandatory.

 

You do not need new bones for rings and nails.  Sorry.

 

Please refrain from making suggestions / requests without having even a basic understanding of the content.

  • Like 1

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...