• 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-1792
Type: Bug Bug
Status: Reopened Reopened
Priority: Major Major
Assignee: Unassigned
Reporter: mystical cookie
Votes: 70
Watchers: 14
Operations

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

llSetBuoyancy is bugged

Created: 08/Mar/08 05:07 PM   Updated: 12/Aug/09 02:43 AM
Component/s: Physics
Affects Version/s: Havok4 Beta, 1.25 Server, 1.26 Server
Fix Version/s: None

Issue Links:
Duplicate
 
Relates
 

Linden Lab Issue ID: DEV-12338
Linden Lab Internal Branch: Havok4-5


 Description  « Hide
Consider the following script in an attachment :

integer targetID;

default
{
attach(key id)
{
if(id)
{ llSetBuoyancy(1.0); llApplyImpulse(-1 * llGetVel() * llGetMass(), FALSE); vector destination = llGetPos() + <0, 0, 1>; float range = 0.25; targetID = llTarget(destination, range); llMoveToTarget(destination, 0.2); } else { llSetBuoyancy(0.0); }
}

at_target(integer number, vector targetpos, vector ourpos)

{ llTargetRemove(targetID); llStopMoveToTarget(); llSetTimerEvent(0.5); }

timer(){ vector vel = llGetVel(); llOwnerSay((string)vel.z); }
}

o If you wear the item while standing and not moving; although the script has cancelled any remaining speed and buoyancy equals 1, at destination, the simulator will drag you to the ground.
o If you wear it when moving or when falling, it will not drag you to the ground, but any movement (back, forward, turn left, turn right, or select something that makes you turn) will trigger a sinking effect (same problem as SVC-2013, minus the movelock).



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
mystical cookie added a comment - 08/Mar/08 05:13 PM
I forgot to mention, this happens when the avatar is in flight mode (hovering) with llBuoyancy(1.0).

Gaius Goodliffe added a comment - 10/Mar/08 02:28 AM
Vehicles also slowly lose altitude when set to 1.0 buoyancy. Buoyancy is general seems to be on the fritz...

mystical cookie added a comment - 19/Mar/08 07:57 PM
This bug still exists in Havok4 build 1.19.1.82411 deployed today. I am increasing the priority level to Major.

Many flight assists rely on llSetBuoyancy(1.0) to keep the avatar hovering above the false flight ceiling. Release of Havok4 with this bug would affect thousands of MystiTool users.


mystical cookie added a comment - 30/Mar/08 06:18 AM
This appears to be fixed in server 1.19.3.83583 at high altitudes.

However, it still exists at low altitudes for some avatars - low altitudes such as 20-50 meters. Even when I detach ALL attachments and relog, ensuring that my buoyancy was set to 0.0 first by my last attachment, I still drift slowly downwards at low altitudes.

I have one relatively clean testing alt (only has worn MystiTool in her life) which does not exhibit any of these problems. Could this be the result of some scripted effects persisting even after "Detach All" + relog?

In any case, an avatar should not drift downward at low altitudes after removing all attachments and relogging.


Thorn Vanvleck added a comment - 31/Mar/08 08:01 PM
This sinking problem seems to exist for a lot of physical flight vehicles that you get into and fly also. Last night in a Havok4 region I tested a small shuttle style spacecraft that I have been working on under Havok1. Under Havok1I had that craft hovering stable at any altitude all day if you wanted to leave it there that long, by adjusting the Hover Buoyancy parameter (among others). However now, as of date 080331, under Havok4 the craft constantly sinks at a steady rate regardless of Altitude (tested from ground up to aprox.4000m that is...) and regardless of Buoyancy setting. Under Havok1 I also had straight and level flight working to where you could fly around a whole sim a couple of times, including banking, and come back to your original spot with your altitude unchanged. It involves the "lift" feature of a craft in "airplane" mode with wind under its wings, and for a spacecraft you want to null that out of course. But under Havok4 that energy seems to have changed and the craft sinks even faster when moving forwards or back now. However I think I can compensate for that problem by changing my lift parameters, once this other Buoyancy problem is worked out. I have worked out a dirty LSL level fix for the Buoyancy problem but I do not want to have to code it in and complicate the plumbing if the Buoyancy problem is going to be fixed Early! Thank You. End of report.

AJ Sporleder added a comment - 03/Apr/08 09:27 AM
OK... check this problem out with llSetBuoyancy ...

test script ....

integer Toggle = FALSE;

default
{
state_entry ()

{ llSetStatus(STATUS_PHYSICS, FALSE); }

touch_start (integer num) {
Toggle = !Toggle;

if (Toggle == FALSE)

{ llSetStatus(STATUS_PHYSICS, FALSE); llSetBuoyancy(0.0); llOwnerSay("Test off"); }

else

{ llSetStatus(STATUS_PHYSICS, TRUE); llSetBuoyancy(1.0); llOwnerSay("Test on"); }

}
}

put the script in a prim. when touched.. the object should turn physical... and neither sink nor float... but
remain neutral. Place the object at normal ground height.. somewhere around 20 meters high.
Now... if you touch it... it's behavior seems rather erratic. When standing on the prim above which the
item is placed.. the item sometimes floats up to a certain height.. and then may stay there.. or sink back
down again. When 'flying' in place next to it, it often will remain in place.. not floating or sinking. This applys not only to the owner.. if someone else moves near it while not flying, it often will start floating up
again. If the prim isn't over another prim... but over land or water... it will not float up when activated. If a prim is created beneath it... it will not raise or sink.. but if you move the test object over the new prim, and
are standing on the new prim beneath it, it will become erratic again (sometimes sinking.. sometimes floating), when activated. These effects are also not consistant. The one constant seems to be that
llSetBuoyancy(1), is completely erratic now, and no longer produces the effect of 'neither sinking nor
floating' in a physical prim in world. This has a major effect on lifestyle elements and products
throughout the world, including my personal item, free roaming physical swimming fish.

Please please please.. someone give us consistant neutral buoyancy in physical items back.


Supa Shang added a comment - 12/Apr/08 06:13 AM
I can also confirm this behavior in my items too. Many of my small aquatic physical animals and the adaptive flight assist in AVpack is also effected by this.

Yukinoroh Kamachi added a comment - 09/Jun/08 07:04 PM
Updated description.

Yukinoroh Kamachi added a comment - 14/Jul/08 01:13 AM
Updated description with a test script that triggers a worse 'sinking' behaviour.

Yukinoroh Kamachi added a comment - 17/Jul/08 06:22 PM
Is there something I can do to help? What Liden should I give a copy of my item for testing? One of them bought my product back in havok1, but I'm not sure he's part of the team that could be fixing this...

Soft Linden added a comment - 24/Jul/08 09:07 PM
I show this as fixed and deployed. Please reopen if this is still reproducing on the public grid.

Yukinoroh Kamachi added a comment - 25/Jul/08 12:54 AM
?!?!??!?!?

Hell no, it's not resolved.
Please see the two test scripts.


Yukinoroh Kamachi added a comment - 25/Jul/08 01:11 AM
Actually, I see that like SVC-2013 the "when not moving" part was fixed, but still, like SVC-2013, you still sink if you move or turn (or select somethign that makes you turn). Updated the desc with llOwnerSay()'s in the the test scriptts so that it be obvious...

Well, the only good thing about this is that unlike SVC-2013, you didn't partially fix this one with a z movelock, so llApplyImpulses seem to work. But this bug is still far from being resolved. The second test script is specially problematic.


Yukinoroh Kamachi added a comment - 26/Jul/08 06:35 AM
I simplified the description.

Both problems can now be tested with that one script.


Bloodsong Termagant added a comment - 29/Sep/08 10:47 AM
Second Life 1.21.3 (97611) Sep 24 2008 17:11:26 (Second Life Release Candidate)

buoyancy, impulse, and flying vs not flying are whacked.

i have a rideable creature that bobs up and down on alternating animation cycles.

1: buoyancy routine:
llSetBuoyancy(-1.2);
alternating with
llSetBuoyancy(1.2);

this works when the avatar is standing. it does absolutely NOTHING to the avatar height when the avatar is in fly mode (not moving).

2: impulse + buoyancy routine:
llSetBuoyancy(1.0);
llApplyImpulse(3.0, FALSE);
alternating with
llSetBuoyancy(1.0);
llApplyImpulse(-3.0, FALSE);

when flying, this works to bob the avatar up and down, though with slightly more 'up'ness.
if you press the Stop Flying button, you get a LOT more 'up'ness and start to rise faster. shouldnt you be more likely to FALL if not flying? i'd think so. (this routine is applied when AGENT_IN_AIR)

note, when flying forward (or 'falling' forward) no change in buoyancy/impulse force was noted.


Simon Linden added a comment - 31/Oct/08 12:07 PM
I've moved this to 'unassigned' as I realistically won't get time to look at this soon, so hopefully it can be picked up by another developer.

Yukinoroh Kamachi added a comment - 21/Nov/08 06:43 AM
If anyone wants to know more :

[2008/11/03 18:15] Simon Linden: (Saved Tue Nov 4 02:08:23 2008) I have passed the bug internally to another developer, so hopefully it will get some attention

After that I sent three IMs and one notecard to Simon to try to know the name of that developper, so that the 48 other voters and 7 other watchers of this bug here can get a better idea of what's going on, but all I got as a reply is :

[2008/11/04 18:05] Simon Linden: (Saved Wed Nov 5 04:31:07 2008) Hi everyone
[2008/11/04 18:05] Yukinoroh Kamachi: ... wrong window ?
[2008/11/04 18:05] Second Life: User not online - message will be stored and delivered later.

So, I don't know what to think about what Simon told me... It looks like this bug is still in limbo. I'm hopeless.


DoctorEigen Flow added a comment - 07/Dec/08 07:29 PM
I have three sims. In each one all my 10 meter cube asteroids keep falling out of the sky from 3000 meters up. I have tried every setting of Buoyancy all the way up to 400.0 in small increments... maybe it's time for the Lindens to come back from lunch?

Yukinoroh Kamachi added a comment - 03/Feb/09 08:59 PM
Simplified the summary.

Cheshyr Pontchartrain added a comment - 15/Jul/09 07:40 PM
Is this issue still present as of server 1.27? Simon, if you passed it to another developer, why is it not assigned? Thank you.

darling brody added a comment - 08/Aug/09 08:54 AM
Is it just me or does a llSetBuoyancy(1); with no other functions make you float upwards? Didnt this used to totaly nerf gravery under havok1?

Someone is playing with the maths, when they really need to look at how it was implmented.

Every fligh assist i have either floats up or down under havok4. Their are laggy work-arounds but it is much better to just fix the function.


Ezian Ecksol added a comment - 08/Aug/09 10:35 AM
Darling wrote: Every fligh assist i have either floats up or down under havok4. Their are laggy work-arounds but it is much better to just fix the function.

Yes, that's really annoying. It's so long time till this is reported, Lindens, could you pleeeaase put this in between of your other tasks to be done and fix this eventually? Thx


Cheshyr Pontchartrain added a comment - 08/Aug/09 11:09 AM
The "someone" is Andrew Linden. He stated in other JIRAs that he was experimenting with gravity and other Havok4 settings to prevent people from falling through floors. It did solve that problem, at the expensive of tunneling (very fast travel to move through prims) no longer being reliable when moving up or down, and the annoying flight assist issues. The latter can be solved, but not gracefully. I've had to resort to a weak movelock to hold the avatar in place when not actively flying.

darling brody added a comment - 09/Aug/09 09:35 AM
Weak movelock was the laggy fix I had in mind. Flight assist scripts are getting more and more complex to compensate for havok4 hacks.

Andrew stop messing with graverty. I know that Q from star trek could alter the gravertational constant of the universe, but you are not Q. So put it back where it should be. The the flow on effect breaks every other physics function that relies on this universal constant! What were you thinking? honestly? Altering graverty?

Messing with graverty is not the answer to people falling through prims. there was a point in havok4 when we could tunnel through prims by moving fast, elevators didnt turn phantom to the avatar after too many collisions, and flight assists didnt drift. Then somone yelled griefer about an old orbit cage and elevators got broken in an attempted fix, followed by fligh assists and god knows what else.

If you want to alter somthing, remove the silly 200-300 meter limit on flying. It was created in the early days of SL to keep people close to the ground for social reasons. We have millions of people now so it is not needed. Removing the flight limit will remove the need for flight assists. Think of all those flight assist scripts that can be removed and the lag that will be removed with them!

(noted that some people will use super speed flight assist scripts, but at least we dont NEED them which is the case right now)

Darling Brody.


Ezian Ecksol added a comment - 12/Aug/09 02:43 AM - edited
Ok, I understood that a fix for this problem probably won't finish so I built a work-around for my "flight feather" that needs to trigger timer 2 times the second to fix the "sinking" problem.

Why not use laggy work-arounds for things that could be so easy. To let run lot of residents heavy timer scripts shouldn't be any problem for the underchallenged server performance.