Beatfox Xevious
is THOUSANDS OF PEOPLE
Join date: 1 Jun 2004
Posts: 879
|
11-30-2006 11:16
(continued from here) Nearly a month ago, Andrew stated that the small-mass issue, allegedly the cause of joints going haywire, was fixed in the codebase and would appear in the next update. As of today, joints are still just as broken as they were a month ago, and the out-of-order signs on my windchime vendors are gathering cobwebs. I understand you guys have a lot of tasks on your hands, but is there any kind of ETA on a real fix for this? Any honest estimate would be greatly appreciated.
_____________________
My Beatworks: Zephyr Chimes wind chimes, the KanaMaster Japanese kana tutor, and the FREE Invisibility Prim Public. Look for them at the Luskwood General Store in Lusk (144, 165).
"You have been frozen. You cannot move or chat. A pony will contact you via instant message (IM)." - mysterious system message I received after making off with Pony Linden
|
Torley Linden
Enlightenment!
Join date: 15 Sep 2004
Posts: 16,530
|
12-01-2006 05:20
I'll forward this to Andrew...
|
Andrew Linden
Linden staff
Join date: 18 Nov 2002
Posts: 692
|
Joints are dead
12-01-2006 09:25
Yes, I had been fixing another bug and I thought joints were a manifestation of that same problem. Unfortunately I did not test my theory, and I was wrong. The instability problem with joints showed up when we moved to gcc-3.3 versions of the Havok-1 libs and I now suspect the problem lies in the constraint solver in the new libs.
In any case, I have bad news for joints: I'm in the middle of a big cleanup of our interface with the physics engine and joints are a casualty in the battle. The cleanup is necessary before we can move forward on the "Havok-2" front. Our joint implementation under Havok-1 was so messy and fragile that it would have been a major headache to keep it working under the reorganization, so I have decided to rip it out entirely (it is already gone in my version of our code) so we can re-implement them properly after we finally get a new physics engine.
I'm hoping to get my cleanup deployed in January 2007. Any work on new joints will not begin until we have Havok-2 or higher. The plan is to do new joints right, with more types, easier user interface, multi-joints per object, and proper serialization on the server side.
|
Andrew Linden
Linden staff
Join date: 18 Nov 2002
Posts: 692
|
12-04-2006 08:31
I have been asked: "When joints come back, will they retain backwards compatibility with existing objects?"
Most likely not. Currently jointed objects are stored and loaded as two separate objects that just happen to have a joint between them. So as a jointed object is created from an asset file the joint specific info has to be stored off to the side as everything else is loaded, and then later the joint is created as an afterthought and the two jointed objects are still separate as far as many aspects of the system are concerned. This has caused us several headaches over the years, and as a result there was a lot of fragile special case code that checked for joints and did special handling when they needed to be treated as a single object (for permission checks, transmission across region boundaries, deletion, etc). Going forward I would like to have jointed groups of objects really be treated as a single thing.
It is unclear at this stage how easy it would be to support legacy joints. I'll know more when we have a new joint system working.
|