On Mon, 2 Feb 2015 20:49:49 +0100 Henri Beauchamp <sl...@free.fr> wrote:
> Are you ***kidding*** me ???? etc... LOL - Henri, I respect you a LOT, for technical reasons. I even once told Oz that if you said something he better listen because it would be worthwhile. However, sometimes I wonder why you aren't being smarter than this :p At the time I was enthusiastic about working on an opensource viewer (even though that meant given my private info, which I agree is rather silly and annoying; and I understand why you refuse that)... That was before Oz - we worked on the viewer for a YEAR before finally being confronted with the fact that Linden Lab ('s internal coders) hadn't even LOOKED at our contributions and EVERYTHING we did had been /dev/null-ed and not used in their next release. I didn't reconfirmation: I left. Then Oz came and promised change: everyone would work on the same repository and be treated the same (Lindens and open source programmers a-like). I never believed that, but I gave him a chance: because of his promises I ported ALL of (one year) of work to the new code base. Then I gave them TWO MONTHS to merge my work - which failed; and I left again and never returned. By now (years and years later) it's a blatant fact that the above was a lie: Lindens and open source coders are still *not* being treated the same. Bottom line is. Linden Lab only uses and likes "invented here". The don't listen to others, nor are they interested in what others have to say. Things are STILL being developed behind closed doors mostly (and have been since the very beginning), that will never change. If you come with a good idea, it will be shrugged of. Trying to communicate with Linden Lab is a waste of your time. When the viewer developers figured this out and therefore concentrated on COOL INNOVATIVE stuff that they didn't NEED Linden Lab for; Linden Lab got very very frustrated, until they finally came with the Third Party Viewer ToS that literally forbids TPV devs to come with cool innovate stuff; so now it's again and 100% closed-door-"invented here"-Linden-Only stuff pushed out to some repository after which it is Oz's task to make sure all the TPV's copy and support the new functionality in the name of 'shared experience' etc. At no point in this development cycle they are going to listen to you, let alone do something (different) because of a bright insight that you have. Stop Wasting Your Time. Just let them kill SL in peace. Regards, Carlo Wood <ca...@alinoe.com> PS Needless to say that I completely agree with the technical point you have been making. But it's not just the hover height that is problematic lol. The whole animation (format) is useless. That format was never intended to be used by many different shapes (but only by a single shape, one that the animation is specifically intended for). However, if you accept that design error then what is really needed is neither a Z-offset nor a fake bounding box. What a viewer (script) would need control over are two reals: an offset and a (vertical) scaling factor. The problem is this: If an avatar of 2 meter is standing straight up, then -say- by default their feet are on the floor (tuned to be on server side). If the same avatar bends its knees so that the feet--pelvis distance decreases from 1 meter (say) to 0.4 meter (say), then its feet would be 0.6 meter above the ground because the pelvis height is fixed (well, the avatar center is, but that has the same height basically). Therefore, in order to get the feet on the ground again the used animation format includes an offset of -0.6m: moving the whole avatar down 0.6 meter. This is why this format is only usable for a single shape: that 0.6 meter is only fixed for a given shape. A smaller avatar, lets say one of 1.5 m (with otherwise the same shape) has thus a feet--pelvis distance of 1.5/2 = 0.75m. This is "known" by the server and corrected for: the pelvis is moved down 0.25m so that the feet touch the floor when standing up. Then, when that smaller avatar plays the same animation (made for the 2m tall one), it pulls up its feet 0.6/2*1.5 = 0.45 meter and the animation moves the whole avatar down 0.6 meter... resulting in the feet being buried 0.15m into the ground. The old way to "fix" this is by telling the server: Hey, I'm REALLY 1.8 meter tall (instead of 1.5m), causing the server to not move you down 0.25m but only 0.1m - causing the feet to precisely touch the ground again. I don't consider that a good solution :p. The new Hover solution is actually better - except that it was baked into the shape itself and isn't the correct way to fix this either - and therefore (like the first case) needs fast and dynamic changes (ie, every time you change animation) which is no longer possible - making it MUCH worse than what we used to have. Still, the Hover is just an offset and therefore not what we need. The main problem with both is that it only works for a static pose, not for an animation where the knees are bend and stretched again, like in certain dance animations, or in animation where someone goes from standing up to a (ground) sitting pose for example. In order to address those dynamic animations you need to make the vertical offset a function of this builtin-offset (in the animation), by allowing to provide a factor. In fact, that would work SO well for general humanoids that you can automate it and do away with Hover or whatever special user- or script defined variables that depend on the animation being played completely! Ie - ignore Hover, ignore whatever Linden Lab is working on now... Instead make the following implementation in your viewer: Let h = avatar (shape) height (when standing straight up). Let x = animation defined (dynamic) vertical offset. Let most animation be created for H = 2 meter tall avatars. Then avatar should be drawn with an offset of not x (like they are now), but with h / H * x. To apply that to the above examples: when standing up x=0, the 2m tall avatar when being it's knees would move 2/2*x=x down, still being x thus, still moving down 0.6 meter thus. The smaller avatar however would be drawn at 1.5/2*0.6=0.45 meter down, exactly as needed. Not that this is NOT a magic 0.15 meter offset, but a CORRECT scaling: the avatars feet touch the ground when standing up and while bending its knees all the way from the beginning of the animation to the end of the animation. _______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges