Jump to content

Mel Vanbeeck

Resident
  • Posts

    75
  • Joined

  • Last visited

Everything posted by Mel Vanbeeck

  1. Just put on a regular body and show the bones and move them around with the sliders you'll see exactly what they're doing. Regarding the eyeballs I think that they aren't actually scaling with the eye size slider; there's probably a bug there. They do move in and out when you move that slider though so long as you aren't running a translation anim.
  2. I've just been experimenting with sliders in SL to see how it moves the bones around and discovered that the original position of the jaw is really just the tip of the iceberg when it comes to finding a good position for the jaw bone. Evidently the sliders were created with a very small amount of vertex weighting applied to the jaw bone, because the chin depth and jaw angle sliders make massive changes to the jaw bone position. Perhaps this is fine if this bone is just used for moving verts around with shape sliders, but any attempt to animate a bone that moves this much would end in disaster. If any bone needs to move this far to acheive whatever adjustment to the shape, that same bone can't serve as the pivot for the lower half of the face. 
  3. Medhue Simoni wrote: First, you say you want perfection, then you say you can only use rotation. You admitted yourself that some expressions are out of range when only rotations are used. So, the only fix is to use translation. I don't really see the reasoning on trying to make expressions that fit everyone. The expressions that are out of range when only rotations are used are mostly from the case where the designer can't fully control the original bone position. If you have full control over that, then you can faithfully reproduce most expressions of interest, though you still could not do something like puff up the cheeks, etc. Regardless, by having the ability to move the bones to their most useful positions, you can get quite a lot more range before you have to reach for the translations. Again if translations weren't such a disruptive thing, it would be less of an issue. Something needs to be improved before it can be used for a product that the entire grid is going to use, though. Imagine the insane number of customer service hours that would be required to explain to every last resident in every language on the grid how to deal with conflicting animations/shapes/leftover deformations. No thanks. Medhue Simoni wrote: I don't mind that people want to chase that dream. Go right ahead. If people really want that, I might do that also. What I predict tho, is that the consumers will want the best there could be. This means all animations, or at least expressions, are made custom for every single mesh. Depends on your definition of "best". Best also includes compatibility, usability, etc. If the customer needs to read a white paper just to figure out how to use your product, chances are that's going to be a very niche product, and although certain people will love that, the majority of humans will not. This sort of experience becomes one of those straws that breaks the camel's back and makes people leave SL. "Couldn't figure out how to xxx — it was all so complicated". Medhue Simoni wrote: Mel Vanbeeck wrote: Sliders which I suspect use translations: Head Shape, Egg Head, Face Shear, Forehead Angle, Brow Size, Upper Cheeks, Lower Cheeks, Cheek Bones, Eye Size, Eye Opening, Eye Spacing, Outer Eye Corner, Inner Eye Corner, Eye Depth, Upper Eyelid Fold, Eye Bags, Puffy Eyelids, Ear Size, Ear Tips, Nose Size, Nose Width, Nostril Width, Nostril Division, Nose Bridge... I'm just going to stop there because the trend is obvious. It's about 80% of the sliders that seem to use translation. So this approach you suggest basically means that you'd have to say that the head is flat out not compatible with shape sliders, or at least that you would have to choose between sliders and animation. I have no idea how many sliders use translation, but it is obvious to me that your list is bloated. I have rigged a minimum of 10 different heads with the Bento bones, and played a little with the sliders on some of them. Plus, I talk with Cathy regularly, and she tells people that most of the sliders use scale. Using scale is smart, as we can't animate it anyways. Many, if not most, I can see how simply scaling a bone can produce something similar to the SL slider's morph. Remember, that is what we are doing here, with these special bones, trying to mimic a morph/blend shape. Eye size is an obvious scaling of the eye bones. If it's not, then it should be, but I suspect it is. The are too many to name that are more likely scaling vs translation. A list might be nice to have, to more clearly see what is possible. Many of the bones that use the sliders aren't even facial expression bones, so you can easily avoid those bones when animating, and still sell the expression you want pretty well. That said, in the systems current state, setting them with animation, or including them in an animation will reset any translation brought on by a slider, which is problematic. I'm actually fairly certain of the accuracy of that list, since I created it by logging in and moving each slider while watching how the related bones moved. It's fairly easy to see when translations are happening vs scaling, since the joints visibly deform when something gets scaled. I think what's throwing you off is that many of those sliders have both translation and scale attributes, so yes when you have overridden bone position you will still see an effect from those sliders, but it's not the whole effect, and in many cases that translation element is what makes it work properly. As you said, though, an official, exhaustive list should certainly be documented somewhere if translations are going to be such a disruptive element. So yes, it may be true that most of the bones are using scaling, but from what I see it's also true that most of them are also using translations. Also, while some of those bones aren't necessarily used for expressions (though nearly all of them are anyway), it is also true that every single bone that is used for expressions has a translation element from some shape slider (with the single exception of the tongue), so that's that.
  4. Well, what you seem to be suggesting now essentially means completely abandoning slider functionality in favor of animation range. While that is an option, I don't really see that as an acceptable solution, especially when there actually is quite a lot of animation range available just using rotations so long as the bones are positioned well. In fact the whole scheme of putting the bones several inches from the surface of the skin is entirely for this purpose. Yes, it still needs some tweaking to hit that target, but if the final solution is just to abandon pure rotation animations and go all in on translations, then the bones should just be moved to the surface where translation+rotation control wouldn't be so awkward. Going back to your idea of making a dozen different smile animations in hope that maybe one or two of them look right on a given mesh/shape combo. Maybe that works for a third-party animator trying to build generic animations for mesh heads where the expectation of compatibility is lower, but when you're a mesh head designer, the animations you build for your heads need to work perfectly 100% of the time. It can't be that you have an animation that works for shape A, but the more you move your mouth position away from shape A it starts looking worse and worse until you opt for the other animation that works with shape B or the one that works with shape C. That's far too complicated, and generally just shoddy. This can be solved or at least vastly improved by applying one or several (hopefully all) of the proposed additions: Improved base bone positions (helps, but doesn't fully solve it for all heads) Adjustable bone positions that don't disable sliders Translation animations that are additive/don't disable sliders Any one of those changes makes getting a mesh built with highly functional animations achievable. Without at least one of those solutions, though, it will only be possible to do so with a mesh head that has a very specific set of landmarks, or one which is not compatible with shape sliders. Sliders which I suspect use translations: Head Shape, Egg Head, Face Shear, Forehead Angle, Brow Size, Upper Cheeks, Lower Cheeks, Cheek Bones, Eye Size, Eye Opening, Eye Spacing, Outer Eye Corner, Inner Eye Corner, Eye Depth, Upper Eyelid Fold, Eye Bags, Puffy Eyelids, Ear Size, Ear Tips, Nose Size, Nose Width, Nostril Width, Nostril Division, Nose Bridge... I'm just going to stop there because the trend is obvious. It's about 80% of the sliders that seem to use translation. So this approach you suggest basically means that you'd have to say that the head is flat out not compatible with shape sliders, or at least that you would have to choose between sliders and animation.
  5. Do the shape sliders not apply any translations to the mouth corners? Not a rhetorical question I really don't know (no sliders in Maya yet). Trying to use translations on a bone that has translations from sliders would mean trying to hit a moving target. If animation translations could be applied as relative position rather than overriding position then there is no problem with using them everywhere, but as I understand it that is somewhat of a can of worms when it comes to trying to use them on bones that move with shape sliders. Am I misunderstanding something?
  6. Ok I understand your premise, but sticking with this mouth corner bone as the example, I've put together an image that demonstrates that whatever your weighting, you can only do so much with the bone in a specific position without using translation animations.  So while you can somewhat resolve this by moving all of the lip bones to the center of the teeth that they will be sliding around (a position more likely to work with more types of heads), you won't ever get the best result for every head with that single bone position, and in the worst case, you'll get a result which completely prevents you from doing a certain expression (even if you can use translations, since the weighting you set up won't necessarily lend itself well to translations either). The issue is that we at LeLutka have a strong aversion to putting out a product that is not excellent in all respects. If there are limitations of the medium that prevent something from being darn near perfect, it's very likely that project will get shelved until the medium evolves to the point it can be executed to our satisfaction. So when it comes to animating a head, we won't be putting out animations that contort the face into something that is technically recognizable as a smile, but just looks awkward because something is off about it. If the bone position we wind up being stuck with starts by pulling the corner of the mouth straight sideways away from the teeth, or pushing it straight into the teeth, then we have a major quality problem to overcome which may result in certain facial animations simply being unavailable on account of being too ugly to live with. Regarding the other examples I gave, a deep yawn would be off the table with the current jaw position, since your jaw starts to look a bit awkward once it's open more than a cm or so, and by the time you're at 5cm it looks fairly grotesque. Again this is partially resolved for the majority of heads just by moving the jaw bone behind the ear as I suggested, but to perfectly resolve it for all heads, it's simply best if the jaw bone can be moved as needed. A deeply furrowed brow is unlikely to be difficult to manage, but with forehead angle going anywhere from straight up (lurch) to straight back, raising the eyebrows can be fairly hazardous depending on how far they need to go for your character .
  7. I'm not saying that the current bone positions wont' support Mr. Incredible. I'm saying that you can't use remotely the same bone positions for Mr. Incredible as you would use for Alfredo (even with slider changes) without making significant compromises to your ability to animate it. For the mouth, one requires a bone that's in the opposite corner of the mouth and set further back, while the other prefers a bone that's more toward the middle of the mouth or on the same side and shifted closer to the surface. There is no slider which makes that specific change. Also, yes, you can get by with a bone that's not in the perfect position, and customers will probably never question the fact that there's no such thing as a big smile animation, or a deep yawn, or a heavily furrowed brow, or whatever expressions are out of reach as a result of sub-optimal bone placement, but even from the perspective that this could substantially simplify the design process I think it's definitely worthwhile putting some time into making this feature work.
  8. There are only two reasons I could really foresee a significant need for more sliders for a head (though I'm not against additions if someone thought of a useful one). It turns out that it isn't possible to allow mesh to set the bone positions pre-shape-sliders, so more sliders would be needed to fine-tune bone positions of facial features pre-upload, like eye height, mouth corner position, jaw position, etc. If SL were attempting to allow mesh creators to make a new type of head that would serve as a direct replacement to the default head, meaning that it could be deformed into just about any type of appearance from old man to young girl to infant. This sort of thing really only seems possible when you're simultaneously designing a mesh and the rig functionality to go with it — not when you're designing a mesh to go onto a pre-existing system. To do it properly would also require access to blend shapes, rather than doing everything with just bones. So I think for heads the expectation should be more on making relatively minor tweaks to a head designed around a certain look, rather than sliders which can completely transform a head into wildly different types of faces from the same base mesh without creasing or growing weird lumps as features are contorted well past their intended appearance. Certainly a mesh that could distort to that extent without major problems would be a great item and fairly sought after, but I wouldn't set my expectations there from the start. If it is indeed possible to simply place bones where they are most effective for their job while skinning your mesh, I just don't see why anyone wouldn't embrace that feature wholeheartedly. The only con that I see is that it takes some work to implement it.
  9. Not sure what you mean by the user making a range. If you want a slider system that can take one mesh from Mr. Incredible there and turn him into Alfredo Linguini, I think you're expecting a bit too much from the shape sliders. Yes, it is good if the sliders can make substantial changes to a head, but when you're designing a head for SL the mesh you create isn't just going to be something generic that you can turn into anything, nor should it be. (Sasy Scarborough interjected here: the expectations of customers always surpass the limitations of the medium.) Aside from that, using the corners of the mouth as an example, Alfredo Linguini's corners of the mouth would require bones positioned in such a way that they can be drawn backwards along his teeth as he smiles, while Mr. Incredible's flat face would require bones that could draw the corners of the mouth more sideways to make his smile work with the overall head shape. That was the point I was trying to make regarding that variety of face shapes. As I see it now, you have two options when creating a head for SL (although for the moment Maya users only have one until we have sliders functioning in Maya). You model your head with all the features located according to the default bone positions, then skin it and let customers turn that head into whatever the sliders will allow. You model your head according to your own unique vision, then attempt to use the sliders in Avastar or Mayastar to position the bones appropriately for your head before skinning, write down all the slider settings, then revert the sliders to the standard shape before exporting to enable sliders. Once in SL, you create a shape that reproduces the slider settings you built the head on, and include that with the model. Situation 1 means that you're limited to relatively minor variations in the basic appearance of your head. Situation 2 means that you've got to cross your fingers that you can get the sliders to put the bones where you feel they belong, then hope that the head doesn't turn into a prune when you revert the sliders to export. In the case of Mr. Incredible, though, you're going to be stuck if the mouth corners are on the opposite sides and you need them in the middle instead, or anything like that. Agreed, eyelids won't be perfect since you really need blend shapes for eyelids, but they will be pretty good and at least in most cases you won't have the bones pushing your eyelid straight into your eyeball. For the moment I really have no idea which bones are using scales or translations or both with the sliders since I don't have access to facial sliders in Maya yet. Perhaps by sheer luck the bones that are most likely to be moved function purely on scale changes, but I'd be amazed if we were so lucky.
  10. JIRA for shape-slider-friendly custom bone positions is up. Sorry no photos this time, but I'll probably add some later.
  11. I'm going to start working on a JIRA concerning the need for modifiable bone positions that don't disable slider functionality, but just to introduce the subject here I want to make the point that by making the act of moving bones something that reduces functionality it has a sort of dampening effect on the creativity of head designers. These examples are from various films, but even when you're talking about making photoreal heads there is substantial variation in the position of the underlying bones and muscles that need to be represented by the rig.  When you're trying to build your face around an existing bone positioning, you'll probably wind up making basically the same face over and over rather than really flexing your creativity. 
  12. There is one other thing that I wound up not bringing up because I thought the fact that related animations are just about guaranteed to be transation animations it may not matter, but due to the resting position being so far off I think it's worthwhile to do this:  Obviously the positioning of the bones in that diagram is not precise, and I can understand that the intent was to make it possible to animate the tongue without use of translations, but I think this is just not realistic for the tongue. Fortunately this is actually one case where use of translation animations would probably have no ill effects on sliders or the like.
  13. In the 6/16 meeting I discussed the need for changing some of the facial bone positions in order for facial animations to work properly. Mainly the problems are with the eye and the mouth. Moving these bones would be the most obvious answer to this, but we also discussed possibly introducing a way to change bone positions without disabling related slider functionality. For this post, I'll focus on what I think would be the most important improvements to the bone positions.   The current upper eyelid position works decently with some verticies, but the further up you go on the eyelid the more of a problem you have with verts not tracking the curvature of the eye.  This change could be made by simply changing the names of the bones, or weighting it without regard to what side is intended, but unfortunately the sliders are set up based on the assumption that the bone on the right side will control the right side of the mouth.  The current position of the jaw joint works fine for opening the mouth a tiny bit, but for any major jaw movement it quickly turns into a disaster. This is probably the most important bone position change of all of them. Just quickly, this is what is needed for there to be any reasonable chance for a human face to be rigged in a way that can use simple rotation-based animations and still be able to use the head sliders to modify its shape, but realistically head designers will still be severely limited in how they can use this if it isn't possible to move any bones without disabling sliders. Male heads have a somewhat different optimal bone positioning, for example, so it would be a massive help if there were a way to simply make minor adjustments to bone positions without suddenly making major compatibility issues with shapes and animations. On a slightly separate issue, I don't know if Blender users are experiencing the same thing, but using the Maya skeleton posted in the wiki to upload our head and then wearing it in-world results in a different head shape compared to the non-bento version when wearing the "New Shape". I understand that this shape should be the starting point for all sliders, and that wearing this shape in the T Pose should make the model appear exactly the same in-world as you see it in your 3D program, but the differences are increasingly substantial depending on how much weight you put on various facial bones.  This means that either the sliders are not neutral at the "New Shape" bone positions, or that the Maya skeleton in the wiki doesn't actually have the "New Shape" bone positions/scales, or perhaps something else?
  14. I'm a little uncertain about what shape settings the bone positions in the "maya human female" file correspond to. Is that supposed to match the shape you get when you create a "new shape", or is it something else? This does not seem to be the case.
  15. This can be reproduced by showing transparency. If you are encountering the problem sporadically in addtion that perhaps try toggling show transparency a few times and see if it affects anything.
  16. The default avatar's lashes appear like invisiprims when you show transparency (ctrl+alt+t). Is this the root of your issue?
  17. If this is possible, this would be a huge help for many things, but especially for heads (faces) it would be even better if the same option were available for the mesh upload joint positions. As it is, these sliders are posing a very significant problem not just for animation of faces, but also for skinning in general. To have any significant variation in a face, the bones will need to be relocated relative to the different facial features (especially if there's any interest in making facial animations work with more than one face), which would disable many various sliders right off the bat. This basically threatens to make all the work on sliders pointless. Even if you do manage to skin your head using purely default bone positions, unless you could make translations relative, any translation animations would snap a bone completely out of position for anything but the default shape — and translations will be essential for proper animation of the jaw and tongue (edited: tongue translations won't affect anything) in particular, but also the corners of the mouth (which are rooted to the skull, but should really be halfway between the jaw and skull as the jaw opens and closes. It may be possible to fix this by moving the mouth corner bones further back into the head and across to the opposite side of the mouth (so that it still can be used to draw backward into a smile, but then you've gone and disabled most of the mouth sliders. If the position modifications were additive, e.g. original positon + mesh translation + slider translation + animation translation (using only one translation value from each category)It's just as confusing as it was previously, but also far more versatile. Regarding Jaw position: Also, if you're trying to make the jaw animate reasonably without using any translations, it needs to go in a place that's neither the current position, nor the anatomically correct position (since the jaw doesn't actually pivot on that position but instead floats and dislocates almost immediately as you open your mouth), but instead behind the ear, because as you open your jaw more than just a little bit you'll immediately start to dislocate it from the joint. 
×
×
  • Create New...