• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-821
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Andrew Linden
Reporter: mathieu basiat
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

Havok 4 llGroundRepel using top of bounding box, not middle, also attracts downward

Created: 14/Oct/07 09:29 AM   Updated: 15/Nov/07 01:07 PM
Component/s: Physics
Affects Version/s: Havok4 Beta
Fix Version/s: Havok4 Beta

Issue Links:
Relates
 

Linden Lab Issue ID: DEV-4476


 Description  « Hide
Havok 4: llGroundRepel using top of bounding box, not the middle of the bounding box like Havok 1, also attracts downward

Steps to repro:

1. take this script:

default
{

touch_start(integer total_number)

{ llSetBuoyancy(1.0); llSetStatus(STATUS_PHYSICS, TRUE); llSetStatus(STATUS_PHANTOM, TRUE); llGroundRepel(0.1, TRUE, 4.0); }

}

place it in a cube, and duplicate above and below water at various heights, then touch.

result:

Havok 4:

Cubes below the water rise until the TOP of the bounding box is at llGroundRepel height.

Cubes above the water DROP until the TOP of the bounding box is at llGroundRepel height even though llBouyancy is 1.0
(commenting out the llGroundRepel allows the cube to remain floating)

Havok 1:

Cubes below the water rise until the MIDDLE of the bounding box is at llGroundRepel height.

Cubes above the water don't do anything at all, since llGroundRepel SHOULD NOT ATTRACT if llBouyancy is 1.0



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Andrew Linden added a comment - 22/Oct/07 06:14 PM
This is fixed internally.

I had added a damping effect for neutrally buoyant objects that were moving UP so they wouldn't wander off to the ceiling of the world. Turns out the damping was too strong. I made it very weak, and actually apply it in a slightly different way. The problem was only noticable when using very weak hover effects.

The "top of the box" verses the "bottom of the box" aspect of the bug was a mis-diagnosis based on the particular object being used to reproduce the problem.


Andrew Linden added a comment - 23/Oct/07 12:13 PM
Woops, this is not quite finished. Indeed the llGroundRepel() behavior now also pushes the object down. It appears that one of the Havok engineers that was helping me port Havok1 code to Havok4 (months ago) noticed that the HoverHeight was almost the same as the GroundRepel action, so he merged the two classes. Unfortunately he didn't finish the job and GroundRepel is the same as HoverHeight.

I'm going to fix it.


Andrew Linden added a comment - 23/Oct/07 04:29 PM
Ok, this is really fixed.

In order to test this you MUST rebuild the script that was calling llGroundRepel(). Rezzing from inventory with existing action will not show the fixed behavior. Basically any old llGroundRepel() object in the preview inventories is "corrupt" and will come up with a HoverAction instead.


Andrew Linden added a comment - 24/Oct/07 09:34 AM
That last comment was not very clear. Let try to rephrase it:

Any inventory items that use llGroundRepel and have been taken to inventory during the Havok4 preview must have their scripts recompiled ino order to work correctly. Any inventory items from before the Havok4 preview should work right when rezzed. The corruption problem only affects objects taken to inventory within the Havok4 preview.


mathieu basiat added a comment - 05/Nov/07 09:38 AM
great, thanks!

Alexa Linden added a comment - 15/Nov/07 01:07 PM
marking resolved