aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* BulletSim: do not zero an avatar's standing velocity if it is standingRobert Adams2013-01-281-6/+7
| | | | | | | on a moving object. Rearrange pre/post action subscription code to put more in locks. Add meshmerizer params to BulletSimTestUtil scene creation (and fix line endings). Rebuilt version of DLLs and SOs with cleaned up code and no profiling for sure.
* BulletSim: allow changing position and rotation of a child of a linksetRobert Adams2013-01-211-1/+1
| | | | | without rebuilding the whole compound shape. Should make vehicles move smoother.
* BulletSim: More aggressive as setting character velocity to zeroRobert Adams2013-01-201-7/+23
| | | | | | | | | | | | when should be standing. Modify angular force routines to be the same pattern as linear force routines. BulletSim vehicle turning is scaled like SL and is DIFFERENT THAN ODE!! Fix some bugs in BSMotor dealing with the motor going to zero. Add a bunch of parameters: MaxLinearVelocity, MaxAngularVelocity, MaxAddForceMagnitude, VehicleMaxLinearVelocity, VehicleMaxAngularVelocity, and most of the values are defaulted to values that are larger than in SL. Use the new parameters in BSPrim, BSCharacter and BSDynamic.
* BulletSim: fix problem of avatar sliding very slowly occasionally after ↵Robert Adams2013-01-201-34/+41
| | | | stopping walking. Consolidate movement tests into the one prestep motion action
* BulletSim: modify motors to return correction rather than current valueRobert Adams2013-01-201-1/+2
| | | | | | | to better use them for incremental updates. Modify prim and character to use the new motors. Simplify the vehicle linear movement code to just update the velocity directly or the basic movement.
* BulletSim: reduce jitter in avatar velocity when walking or flying.Robert Adams2013-01-181-1/+8
| | | | | | | OpenSimulator is VERY sensitive to changes in avatar velocity and will send an avatar update message when velocity changes more than 0.001m/s. This significantly reduces the number of avatar update messages by smoothing the avatar velocity returned by Bullet.
* BulletSim: Add one function that all actors who act on the physicalRobert Adams2013-01-171-0/+3
| | | | | can use to know if the object is currently active. Code cleaning including use of Util.ClampV function.
* BulletSim: don't modify angular parameters when doing LIMIT_MOTOR_UP.Robert Adams2013-01-151-1/+1
| | | | | It was a dumb idea to try and do a nose over feature for jumping cars anyway. Add better logging of native shape creation/reuse so can tell the difference.
* BulletSim: add debugging messages to know when assets for physicalRobert Adams2013-01-151-1/+4
| | | | | objects have been fetched. Update TODO list with more work.
* BulletSim: fix not moving physical objects below terrain to over terrain.Robert Adams2013-01-141-2/+2
| | | | | Add locking on register prestep action list preventing potential race conditions. Little comment and formatting changes.
* BulletSim: Add IsSelected attribute to physical objects. Have vehicles check ↵Robert Adams2013-01-111-0/+4
| | | | to see if physical before trying to step. Replace vehicle gravity application. Previously relying on Bullet to apply gravity but since vehicles over-ride the velocity calculation, gravity never had a chance to accelerate the body down. Added AddForceImpulse as well as AddForce for those who need to apply immediate velocity updates. Use the impulse to apply the linear motion.
* BulletSim: add function to push avatar up when hitting stairs.Robert Adams2013-01-071-26/+71
| | | | | | | | | | It looks like BulletSim and ODE rely on penetration correction to cause the avatar to move up and thus allowing walking up stairs. Object penetration was minimized for walking and flying (so one doesn't go through walls) and this stopped stairs from working. This commit introduces avatar movement code to check for collisions at the feet while walking and attempts to raise the avatar for the steps. Not yet perfect but movement is better.
* BulletSim: comments and removing small compile errors introduced in last commit.Robert Adams2013-01-061-2/+0
|
* BulletSim: convert avatar movement from a force to an impulse. Shouldn'tRobert Adams2013-01-041-2/+2
| | | | change functionality but removes an oddity in computing the force.
* BulletSim: nearly complete in conversion from BulletSimAPI to BSAPITemplate. ↵Robert Adams2012-12-311-17/+17
| | | | Only initialization and debug fuctions left.
* BulletSim: another round of conversion: dynamics world and collision object ↵Robert Adams2012-12-311-23/+23
| | | | functions.
* BulletSim: first round of conversion from direct BulletSimAPI interfacing by ↵Robert Adams2012-12-311-5/+3
| | | | BulletSim core to using the BulletSimAPITemplate. Physical object creation and destruction first.
* BulletSim: remove check for small motor movement because, while itRobert Adams2012-12-291-2/+5
| | | | | | did the right thing for stopping (speed reducing to zero), it prevented movement from starting (speed increasing from zero). Will revisit when the generalize PID motor is debugged.
* BulletSim: an 'if' to suppress multiple setting of avatar orientation.Robert Adams2012-12-291-5/+9
| | | | | | | Looks like the viewer bombards the server with avatar orientation information (we're talking several hundred a second) when the avatar is being turned or when walking. This change just reduces the number of 'set' calls into unmanaged code.
* BulletSim: tweeking avatar capsule code in an attempt to haveRobert Adams2012-12-291-43/+61
| | | | | | | | | asymmetrical avatar capsule work now that rotation is being passed from the simulator. Turns out the Bullet capsule is just not very functional: it doesn't scale properly, the implementation only half does asymmetry and, in general, is hard to work with. Avatar shape is about what it was before these changes. Added initial data structures for avatar shape mesh.
* BulletSim: add 'AvatarAlwaysRunFactor' parameter and use in setTargetVelocityRobert Adams2012-12-281-3/+3
| | | | to implement the 'always run' feature.
* BulletSim: fix problem of avatars appearing to walk through wallsRobert Adams2012-12-281-51/+55
| | | | | by moving the movement motor to a pre-step action and out of its questionable previous home in UpdateProperties.
* BulletSim: move logic for IsColliding, CollidingGround and CollidingObj from ↵Robert Adams2012-12-271-22/+14
| | | | individual sub-classes and up to parent BSPhysObject class.
* BulletSim: complete applyImpulse function in BSCharacter (like I saidRobert Adams2012-12-271-8/+17
| | | | I did last time).
* BulletSim: stop avatar from sliding VERY slowly after walking byRobert Adams2012-12-251-3/+2
| | | | only zeroing the movement motor in the UpdateProperties routine.
* BulletSim: Fix single physical prim reporting its mass as zero.Robert Adams2012-12-241-4/+5
| | | | | | | Properly return root mass as mass of just the root prim rather than the mass of the linkset. SOG has the logic to add the masses together to get the linkset mass. Update TODO list.
* BulletSim: modify avatar motor code to make falling movement better. Clean ↵Robert Adams2012-12-221-34/+41
| | | | up some usages. Disable motor when done.
* BulletSim: remove the movement decay while flying. Made flying slow down ↵Robert Adams2012-12-211-6/+0
| | | | over time.
* BulletSim: add BSPhysObject code to manage registrations of preStep events. ↵Robert Adams2012-12-211-0/+2
| | | | Use same to implement setForce and setTorque so the values are restored at the beginning of each step (since Bullet zeros forces applied last step). Simplify implementation of AddForce and AddTorque by relying on the addition of forces in Bullet.
* BulletSim: Move all the parameter variables, tables and get and fetch logic ↵Robert Adams2012-12-211-15/+15
| | | | to a separate, static class for easier addition and to remove all that bulk from the BSScene class.
* BulletSim: small fix to avatar movement motor use which keeps avatar from ↵Robert Adams2012-12-211-1/+2
| | | | flying up forever. This doesn't fix the overall problem but keeps avatar flying from being totally unusable.
* BulletSim: avatar movement smoothed with motor that modifies avatar velocity ↵Robert Adams2012-12-211-1/+76
| | | | to target velocity. Fails in incorporating physical world effects (gravity) so avatar doesn't fly correctly.
* BulletSim: add check for border crossing in character position sanity check.Robert Adams2012-12-161-2/+10
|
* BulletSim: Add 'BulletSimData' which separates structures createdRobert Adams2012-12-131-3/+2
| | | | | | for the operation of BulletSim and those defintiions/structures defined so they can be used in the unmanaged world. Consolidate setting of collision flags so implementation is not scattered.
* BulletSim: fix problem of avatar's floating off the ground after unsitting. ↵Robert Adams2012-12-121-8/+10
| | | | Reworked size/scale logic so physical scale is kept in Bullet and physObject scale is the preferred size -- usually same as size but avatars are computed differently.
* BulletSim: protect character property setting to remove crash from taints ↵Robert Adams2012-12-111-20/+40
| | | | setting properties after the destroy character taint.
* BulletSim: Fix crash on the destruction of physical linksets.Robert Adams2012-12-101-0/+2
| | | | | | | | | While fixing the above, add methods to physical body and shape pointer wrapper so routines won't have to know that IntPtr.Zero means no physical instance. Fix problem with physical linksets failing after a few sits and unsits by properly restoring child prom positions for compound linksets after multiple selection and deselections.
* BulletSim: Reduce idle region physics overhead where there are MANYRobert Adams2012-12-031-2/+2
| | | | | | | | | | | | static objects by more restrictive selection of objects that collide with static objects. Rename collision mask fuctions from 'filter' to 'group' so it is clear what is being set. Rename BulletSimAPI.SetCollisionFilterMask() to SetCollisionGroupMask to match above. Restore passing of time step to linear and angular motion component routines. Use buffering vehicle physical parameter get/set routines consistantly. Make range enforcement clearer by using ClampInRange() function for parameter setting. Remove commented out experimental vehicle calculations.
* BulletSim: move GetWaterLevelAtXYZ from BSScene to BSPhysTerrain.Robert Adams2012-11-281-1/+1
|
* Rename BulletSim's PhysicsShapeType to BSPhysicsShapeType because itMelanie2012-11-221-2/+2
| | | | conflicts with PhysicsShape type defined in later libOMV
* BulletSim: Make avatar capsule so it is not circular.Robert Adams2012-11-211-7/+17
| | | | | | | | | Simple attempt to make avatars better shaped. Replace parameter 'avatarCapsuleRadius' with 'avatarCapsuleWidth' and 'avatarCapsuleDepth'. More tweeking to avatar height calculation. A little better but short avatar's feet are above the terrain and tall avatar's feet are a little below the ground.
* BulletSim: rename SHAPE_AVATAR to SHAPE_CAPSULE with the eye to eventually ↵Robert Adams2012-11-211-1/+1
| | | | having mesh avatars.
* BulletSim: uplevel PhysicsShapeType out of ShapeData structure (since it is ↵Robert Adams2012-11-211-2/+2
| | | | getting simplified out of existance someday) and update all the references to that enum.
* BulletSim: tweek avatar capsule parameters so avatar feet don't go below ↵Robert Adams2012-11-211-3/+4
| | | | ground. This solves the bouncing, short avatar problem (Mantis 6403).
* BulletSim: fix the problem with flying being disabled when crossing region ↵Robert Adams2012-11-181-2/+6
| | | | boundries.
* BulletSim: Add ZeroAngularMotion method to physical objects. Add inTaint ↵Robert Adams2012-11-061-7/+20
| | | | flag to ZeroMotion method. Update the references to those functions.
* BulletSim: debugging of compound shape implementation of linksets.Robert Adams2012-11-031-7/+6
| | | | | | | | | Add compound shape creation and freeing in shape manager. Add optional taint-time execution method and update code to use it. Add API2 linkage for more compound shape methods (get num, get/remove by index, ...) Modify perferred shape return so linkset children can have differet shapes than root. Add Position and Orientation calls to linksets so children can be moved around by the linkset by its own calculation. Allows for very general linkset implementations.
* BulletSim: Add RawPosition and RawOrientation to BSPhysObject and rename ↵Robert Adams2012-11-031-5/+15
| | | | MassRaw to RawMass. Fix BSShapeCollection to use Raw* for creating the body to eliminate exception from referencing the physical body before it has been created.
* BulletSim: Remove use of shapeData in ShapeCollection and rely on the ↵Robert Adams2012-11-031-15/+4
| | | | available BSPhysObject varaiables. Fix line endings in BSLinksetCompound.
* BulletSim: rename BSBody and BSShape to PhysBody and PhysShape. Add skeleton ↵Robert Adams2012-11-031-39/+39
| | | | of BSLinksetCompound.