These forums are CLOSED. Please visit the new forums HERE
joints removed in SL 1.9 -- NEED EXPLANATION |
|
Eep Quirk
Absolutely Relative
![]() Join date: 15 Dec 2004
Posts: 1,211
|
03-03-2006 20:58
[post]919704[/post]
|
Torley Linden
Enlightenment!
![]() Join date: 15 Sep 2004
Posts: 16,530
|
03-03-2006 21:15
I'll ask Andrew about this.
![]() _____________________
|
Andrew Linden
Linden staff
![]() Join date: 18 Nov 2002
Posts: 692
|
03-04-2006 11:51
This is reposted from another thread with a few modifications:
Removing joints NOW doesn't help the Havok-2+ transition (which is still a couple of months away) so much as it hopefully reduces the amount of jointed content that would suddenly break LATER when the Havok-2+ transition happens (assuming we actually do break joints in Havok-2+). That is, we want to phase joints out of the picture instead of cutting them out suddenly. Here's our plan-A: Step-1 is to tell the SL Residents what we're thinking and why (that is where we are now). Step-2 would be to disable the UI that allows joints to be built (joints rezzed from inventory would still work). Step-3 would be to remove support for creation of new joints (this would be the point at which they actually break, and this would happen very close to the Havok-2 transition). Step-4 would be to re-implement joints better than they were before. Plan-B would be to bite the bullet and support joints through the Havok-2+ transition, and perhaps eventually clean them up (without breaking them) so that we can add better functionality. We would attempt Plan-B if the cost of removing joints appeared to outweigh the cost of supporting them. Since we are currently in Step-1, let me present the reasons why I'm in favor of Plan-A: Eggy asked why we didn't just scan the world and count the number of joints being used and thereby measure whether anyone was using joints. We did a while ago. As I recall, less than 10 active joints were found in-world between 1500 regions, about 10K land owners, and 40K active Residents. This is a testament to how useless most people in SL find joints, and one reason why Plan-A might be feasible -- it was very likely that few Residents would complain. Nevertheless, we are empbarking on Plan-A Step-1. The current implementation of joints in SL makes it difficult to add new features or to re-organize code because the joint code is scattered about in places where joints should not need to be considered. The reason for this is that joints were first done as a quick hack back when SL did not have many of the features that it has today or -- before groups, sitting on objects, and inventory. As the features were added they had to support joints and special-case code was added to handle the various cases where joints clashed with other features: What happens when you sit on a joint? What happens when you're sitting on a joint that crosses a region boundary? What happens when someone takes the joint you're sitting on into inventory? Supporting joints over the years has been a defensive campaign. So far we have tried to make them work most of the time, but have not enhanced them at all. Wouldn't it be nice to be able to edit joints with ease, translate and rotate the pivot points just like you might move linked prims? Wouldn't it be cool if you could make long chains of joints, or if you had a springy joint? Would you like to be able to create and destroy joints using LSL calls? In order to support any of that we would have to sprinkle lots of special-case code throughout the codebase. Meanwhile, some corner cases would undoubtedly be missed and those would show up as bugs. In other words, it could be done, but it would be a lot of work, it would be lengthy, and frustrating. In the past, when we've started working on Havok-2 I've always left the joint stuff to the last because I fear it. Havok-2+ handles joints in a slightly different way than Havok-1, which means that we would have to find and change most of that special-case code contributing a week or two to the whole effort. It could be done, but it would be a lot of work. It would be possible to rip joints out and re-implement them after Havok-2+. If we could do it fast enough we could include them with the Havok-2+ transition and continue joint support unbroken. However, it isn't clear how fast it could be done, and it would be a bummer to hold the whole project up while it waits for joints. So basically we're interested in taking the fast easy path at the expense of anyone who happens to be using joints. However, it is a significantly easier path, we're hope there aren't very many people who would be adversely affected, and we promise that the lack of joints will be temporary. |