Jump to content

Matrice Laville

Resident
  • Posts

    98
  • Joined

  • Last visited

Everything posted by Matrice Laville

  1. Feynt Mistral wrote: Do I need to keep all the bones? Can I relink everything so they're properly oriented and relationally everything makes sense at a glance? Are Collada files acceptable for animations yet? Or are they still just for mesh and bone positions? Assuming I can't relink all the bones, what is considered the bone's location? Blender doesn't use the bone's mid point, it only gives the head and tail positions. You can use any subset of bones in your models. But you need to maintain the bone relationship. When you work with joint offsets (edited skeletons) then for each bone that you actually use, you must also include all parent bones which have joint positions defined regardless if you use them or not. You need to follow the parenting up to mPelvis in that case. You have to maintain the bone relationship. the location of the joints can be edited. Collada files are only used for the skeleton, mesh and weighting information. Collada animations are not supported with the SL Importer. The Bone Head in Blender corresponds to the Joints in other 3D tools. the bone orientation vector in Blender normalized(bone_tail - bone_head) is equivalent to the joint rotation matrix in other 3D tools Question: From where do you get the "wrong" skeleton information? Are you importing from a dae file ? which one?
  2. I found the reason why the eyes need to be scaled up by 7 % . This is indeed a wrong lad definition based on a wrong scaled mesh eye. I overlooked that the mesh generator in Avastar scaled the eyes up by a factor of 1.074 while reading the mesh definitions. Here is what we think is the correct lad definition: <param id="30689" group="1" name="EyeBone_Big_Eyes" value_min="-1.1" value_max="1.1"> <param_skeleton> <bone name="mEyeLeft" scale="0.248 0.25 0.25" offset="0 0 0" /> <bone name="mEyeRight" scale="0.248 0.25 0.25" offset="0 0 0" /> <bone name="mFaceEyeAltLeft" scale="0.248 0.25 0.25" offset="0 0 0" /> <bone name="mFaceEyeAltRight" scale="0.248 0.25 0.25" offset="0 0 0" /> </param_skeleton></param> The min/max values are -1.1, 1.1 to compensate that the system eye morphs "overscale" at the slider end positions. The different scale in X compensates the morph's different scaling along the "look forward axis" The above is based on tests with meshes generated with our current development version of Avastar (Alpha 6 still uses the overscaled eyes, so you can not use it for further tests on the eyes) But i think we also need an ... independent test outside of Blender Replace the param 30689 in the avatar_lad.xml of the bento viewer by the definition above. On windows you find the file at C:\Program Files (x86)\SecondLifeProjectBento\character\avatar_lad.xml Create a Mesh eye model that precisely matches the mesh size of the System eyes (the exact definition is in C:\Program Files (x86)\SecondLifeProjectBento\character\avatar_eye.llm) This is the critical step, see below! (*) Weight the model to mEye[Left|Right] Create another model that is weighted to mFaceEyeAlt[Left|Right] upload both models and check if they behave similar to the system eyes. (check they have about the same size with all appearance slider positions, this can be done best in wireframe mode) (*) How to get a good approximation of the system mesh eyes 3 alternatives: - If you can read the avatar_eye.llm file then you should be able to create a precise mesh model (This is how we do it in Avastar) - You can create a default shape in SL, then open the Avatar appearance editor and set the head size to 72 and the eye size to 50. This seems to almost reproduce the neutral head shape. Now your viewer can possibly export the eyes as .obj or even as .dae in the correct size. - Possibly some older pre-mesh definition files of the system avatar contain "correct" eyes. But i would not count on that. Thanks for any feedback
  3. Leviathan Flux wrote: I am having all kinds of issues with the latest skeleton update. Can you tell which update worked for you and since which update your issues started? Is this only related to Fitted mesh or do you also get issues when you export classic rigged characters without using weighting to the Collision volume bones?
  4. Vistanimations wrote: We have a problem with the finger bones pivots. They are not aligned, and it makes rare or incorrect bones rotations. Can you give some more detailed examples how the finger rig is wrong and what you expect to see instead?
  5. I initially calculated the eye scale to <0.25, 0.25, 0.25> Those numbers made most sense to me first and they worked reasonably well in Avastar. At that time i found a small deviation of the Scale in the X axis in Avastar. But when i moved the lad definition to the Bento viewer the scales (when all sliders are applied) went completely out of control at the extreme slider settings (0 and 100). I ended up with a day of experimenting and testing directly in Aditi. The resulting numbers are now in the lad definition. But i recall we had some other oddities with the Head Shape slider and Head Length slider. Those oddities disappeared suddenly after i reduced the complexity of those sliders for the Bento bones. This happened after i worked on the eyes. Maybe the changes in the head sliders also affected the eye size sliders and the oddities there disappeared also? I tested your settings in Avastar and it appears to work well there. Have you tested this lad definition in the Bento viewer?
  6. For the Collad export options: If you disable "Only weighted Bones" AND "Only Deform Bones" then all 368 Bones of the Rig get exported. You better enable at least one of the 2 options when you intend to import to Second Life.
  7. To get the teeth working correct you must weight the upper teeth to the mFaceTeethUpper bone and the lower teeth to the mFaceTeethLower Bone. Take care that each vertex of the teeth mesh is weighted only to its correcponding tooth bone. As soon as you add weight for other bones to the teeth mesh, the result becomes unpredictable.
  8. hey Gael, thanks for the feedback. This issue is fixed by now. The fix is available in Avastar-2.0-alpha_6_blender-2-77.zip (already published)
  9. Last night we have updated to Avastar-2 Alpha 5. The update uses the most recent Bento Skeleton definition and lad files. The reported distortions on the face should be fixed.
  10. As far as i know this can be related to a wrong bone roll setting.
  11. Teager wrote: I believe that may be a problem in avastar. I get the same result when I use the "update rig" button The update rig tool is still not fully working. I will take a look into this soon. But we first have to finalize the slider support.
  12. The scaling of the system eyes is controlled by morphs and the slider definition uses multiple overlapping ranges which result in a not exactly linear dependency. For the Alt Eyes we decided to use the slider setting for 0 and 100 as reference markers and then make a linear interpolation. This results in some deviation between system eyes and alt eyes in the slider mid range. The differing scale value value_max="0.56" was necessary to map the eye scaling of the alt eyes to the scaling of the system eyes. We could use the slider midpoint (50) as third reference marker and split the lad definition into 2 overlapping ranges. This probably gives more precise matches. In whihc cases is this relevant? Mel Vanbeeck wrote: This lack of a neutral position for all involved bones results in a discrepancy between what you see in modeling tools and what you see after importing. Our tool are prepared to display bones for arbitrary slider settings (also for the alt eyes) exactly in the same way as they are displayed in Second Life.
  13. 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)
  14. Those .dae have been exported with Avastar's default settings... I have created 2 new demo files: A female demo model (Collada file) A male demo model (Collada file) I also forwarded the new files to Vir Linden for adding them to the wiki. Attention: I did not check if the files can upload to SL (they should be ok though)
  15. mFaceJaw is there and very alive. If you refer to Avastar then you need to know about a recently added change: By default Avastar exports only the bones which are used for weighting in at least one of the exported meshes. We have moved the weights from the jaw bone to the jaw shaper bone some days ago (in our default models). Consequently new exported meshes possibly do not include the jaw bone (by default). The Collada exporter has options to enforce the export of all animation bones including those which are not used on the exported meshes: Open the advanced export options. The provided tool tips should be self explaining. If they are not, then please complain !
  16. Very brief summary: Jaw angle: remove because confusing Upper Eyelid: Dito Outer Eye Corner: Dito Mouth Corners: Dito Lip Fullness: Reduce influence for high slider values Lip Thickness: dito Lip Ratio: Dito Reparent Tongue to Lower Teeth: leads to unfixable animation issues when not fixed Lip Bone Position: moving joints to (x=0) Easier to create mouth animation with rotation only This is my proposed order of fixing: Reparent Tongue (essential) Reduce Lip Slider ranges (fullness, thickness, ratio) (easy to change) Move the joints of the lip corners to x=0, y a bit closer to the teeth but not crossing over, see image Move the joints of the 4 middle lip bones to x=0  I can predict that the first 2 points can be done in a reasonable time (probably less than a day). The points 3. and 4. result in heavy changes in the lad file, not sure how long that would take. @Mel, Medhue: I understand your points about the lip bones. But doesn't all of this boil down to the 2 opinions: Should work reasonably with rotation only Rotation only never can yield quality face animation My opinion: I am not fully convinced that the proposed change of the bone layout is worth the effort (not that i say it's a bad idea). But i am happy with reparenting the tongue to the teeth. This has truly essential benefits.
  17. We have 2 problems that we can discuss to eternity, they won't vanish: Animations with Translation components interfere with Translation components in the Sliders Animations with Translation components interfere with Rotation components in the Sliders Here is the table of animation capabilities for sliders and animation: Transform Sliders Animation Translate Yes Yes Rotate No Yes Scale Yes No I do not have any idea about a solution that fits perfect to all situations. All we can try is to make the rig as forgiving as possible. This can be done by removing translation components from sliders where possible and by optimizing the skeleton layout. Mel has proposed a couple of such changes. The current proposal is based on those changes but does not fully cover all of the changes. Any changes from here must be reasonable and justifiable. The following changes can probably be done with a reasonable amount of time (this affects only custom meshes): Changes which seem very reasonable Reparent the Tongue to the Lower Teeth BonesModifications that are doable with small effort reduce the influence on the lips by ~25% (lip fullness, lip thickness) reduce the movement of the upper eye lid by ~25 % reduce the change of lip ratio by ~25% More drastic changes Remove slider for Jaw Angle Remove slider for Upper eye lid Corner Remove slider for Upper Eyelid Remove slider for Mouth corners Changes yielding significant workload Move all lip joints on the same vertical axisI further believe that for mesh heads we can define 2 use cases and then derive recommendations: Static facial expressions This is where the sliders can be used to mold the face into shape. This is what we always could do for System Meshes. Now we also can do the same (almost) for custom meshes. Facial animations This can not be done with system characters (keeping aside the mostly troublesome facial animation morphs) but custom mesh face animation becomes possible now. Recommendations for mixed use case (sliders and animataions) Do not use these sliders (set them to specific values) when you play an animation: Jaw angle Mouth Corners Outer Eyelid corner Upper Eye Lid ... Creators are advised to add information about animation specific limitations like for example: Using sliders with extreme range settings are likely to yield bad animations Following sliders must be set to specific values to let the animations work perfect. ... Maybe the next step can be to add some LSL support for example to set slider values before an animation starts (just an example, there may be better ideas). But that sounds like something that can be done after the project is released.
  18. I have made a list of troublesome sliders (please complete it, i have not looked at all sliders): Jaw Angle (this is an oddity) Upper eyelid Outer Eye Corner Mouth corner Lip Fullness Lip Thickness what else... Please can you tell which other sliders are still troublesome with the recent skeleton proposal? Can you make screenhsots?
  19. Ok, then i propose to ask others for feedback on this. Here are 3 questions that come to mind (There may be more): Do you prefer that the teeth bones get removed and the shift mouth sliders get removed? Or do you prefer to keep the teeth bones in place and keep support for the the shift mouth sliders? Is Mel's proposed bone layout for the lips easy to use or too complicated in your animation projects? Which of the sliders in the list are wanted, needed, nice to have, or not useful for bento heads: Head Size Head Stretch Head Shape Head Length Face Shear Crooked Nose Lip width Lip Fullness Lip Ratio Mouth Position Mouth Corner Lip Cleft Depth Shift Mouth Jaw Angle Jaw Jut Looks like this is something like a poll.
  20. Hey, Medhue; I believe the Mel has got some points as long as we talk about making life easier for the animators. If a rotation only rig already yields acceptable results, then tweeking with translation might be faster compared to tweek everything from scratch. Getting animation to work more smoothely with sliders probably gives another benefit. I understand that whatever we dicsuss here is mostly relevant for human mesh heads and does not affect so much non human creations because there you will probably make use of joint positions anyways. What i want to find out is how much effort we have to put into this to get it to work and how much benefit will we get from this. I can not judge at this moment if the change is feasible, doable, wanted, needed. But still i like to understand about what we are talking regarding workload.
  21. ok, now lets take sliders into account. The following sliders are affected by changing the lip bones: Head Size (1) Head Stretch (1) Head Shape (1) Head Length Face Shear Crooked Nose Lip width Lip Fullness Lip Ratio Mouth Position (2) Mouth Corner Lip Cleft Depth Shift Mouth (3) Jaw Angle Jaw Jut (1) This slider needs to adjust scaling of the face root on all child bones. This makes it necessary to also adjust the lip bones to keep them where they are (This is an unfortunate property of the slider system). (2) The upper teeth can not be moved along Z when weighted to the face root or head. The lower teeth can not be moved along Z when weighted to the Jaw Bone. The only solution that i see for this is introducing extra bones for the teeth which allow to add an offset from the Jaw bone. (3) Shifting the mouth to left/right can not be done when the teeth are weighted to jaw or face root. The only solution that i see for this is introducing extra bones for the teeth to allow moving the teeth independent from the Jaw and face root Do you agree with that so far?
  22. Like that? Pivot of lip bones now at center of "teeth circle": 
  23. Move all lip joints to the same x location (x=0) Are we talking about a bone setup like this ? Do you want the pivots all be placed at same X and Y but different Z like in the image? Or should the bones all be placed at the same location in x,y,z? Is there any ideal distance from the joints to the lips? Which one should we choose?
  24. I did not say that the system was designed so that the sliders and the animations do not cooperate in an ideal way. It is simple fact that the appearance sliders have been added as an extra goody after the skeleton was defined. Remind: the original intention (of LL) was to not support the sliders at all. Lets separate 2 things: Defining a skeleton that works well (that was the goal of Bento) Adding a slider system that works well with the skeleton (that was a user driven addition) We can safely pretend for a moment that we have no sliders available. Then we can concentrate on checking how the skeleton could possibly be optimized. Your proposed changes on the skeleton are (please correct me if i overlooked something): Move all lip joints to the same x location (x=0) Lower teeth bones can be replaced by weighting to the Jaw Upper teeth bones can be replaced by weighting to mFaceRoot or mHead Something missing here?
  25. It must have been clear to all involved people from the very begin that the appearance sliders would not work well together with the animation system. As a consequence the ability to configure facial expressions with sliders should not be mistaken as "must work together with animations". I'd rather see it like "gives a quick way to define poses without need to create animations" And i am sure i get complains now for that statement. However there is a good reason why animators want to get a customisable slider system that cooperates well with animations especially when only rotation is used. And as was stated before the probably best option is to abandon all translation components from the sliders and only work with scaling. But i doubt that we can do a "scale only" slider system. How to get rid of translation components While we certainly can try to optimize the sliders further by replacing offset by scale wherever possible, we still have to take care about how the mEye bones react to the sliders. And in that case we can not get away from using translation components like in the eye spacing slider and in the eye size slider! We can consider to remove translation as much as possible with the downside that the sliders behave different on custom meshes than on the system character. But this rework comes with a lot of extra work. It took us about 4 days only to rework the jaw bone and the eye lids. Here are the slider candidates which could possibly be reworked in a reasonable amount of time: Nose size (i can see the benefit to rework that one) Nose width (dito) Nostril width Upper Bridge Lower Bridge If we want to mimic the behavior of the sliders on the system meshes then i have difficulties to see how we can get rid of translations on the eye sliders. Also i do not know how we should handle the lip sliders in that case. Of course if we agree that the sliders do NOT mimic the system slider behavior but get their own behavior, then things can change a lot and many of your proposals could be adopted. But the decision was to mimic the system behavior as much as possible. One could consider this was a wrong decision, but that was made in January and we followed that decision as good as possible. However i see how optimizing the sliders for working together with animations can be helpful. The location of the Lip bones I see how it can be beneficial to have the lip joints all moved to the center (x=0) However i believe the current location of the bones was the result of some long lasting discussions. i did not follow those in detail, i just took the skeleton as it was defined and worked out the lad definitions without putting the bone locations into question. My Conclusion The sliders do not work fluently together with animations in all cases. But they serve a good job when it comes to quickly doing facial expressions without need to define custom poses and animations. It is largely depending on a custom mesh topology, its weighting and the usage of joint positions how good or bad a product works with the appearance sliders. This sounds to me like "building up experience". I would rather keep the sliders as they are even if they do not cooperate well with animations. We only should ensure that the default settings for the face expression sliders are good enough to serve as basis for any animation work. And then treat the sliders as additional tool for "defining on the fly expressions". I still believe (and that's just my opinion on this) that educating the users to follow the advises of the creators and follow common sense is the better (more flexible) option compared to removing some of the sliders just to avoid user complains.
×
×
  • Create New...