I just noticed that the llSetHoverHeight() method uses PhysicsActor PIDTarget/Tau/Active which is the same interface to the physics engine that is used for llMoveTo().
This creates a problem because, llSetHoverHeight() should only dampen a body's Z axis, not all three -- which is what the current implementation of MoveTo and the PIDTarget/Tau combination does. Thus if you use llSetHoverHeight() the object not only hovers at the correct height, but is now also immobile as it'll try to spring back to that position if moved. I suspect but have not tested yet, that conditionally not executing lines 1548 & 1649 in ODEPrim.cs would create the proper effect for llSetHoverHeight (). It would probably be a good idea to have llMoveTo() and llSetHoverHeight() be mutually exclusive, so perhaps adding another flag to PhysicsActor for PIDHover {True/False}, and then using that in the various physics implementations to signal when only the Z axis should be used. Thoughts? -- Mike _______________________________________________ Opensim-dev mailing list Opensim-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/opensim-dev