| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This introduces expected contact point hints to the ODE Collider to better determine when to throttle updates as excessive. This /should/ smooth physics objects out again, however, I cannot know every configuration of OpenSimulator, so I'm requesting that testers please examine this change on their build.
Thanks!
|
|
|
|
| |
to control the reporting of a new angular velocity. I think that this could be here for one of two reasons, 1. vehicles and llMoveToTarget with axis lock, or 2. To attempt to make things look more stable in the physics scene then they really are, however, this also really affects the angular velocity reporting negatively causing things to spin wildly and jump back into place repeatedly. To compromise, if the prim is a vehicle or is being used as a motor target, the original functionality is still applied. If that's not the case, angular velocity is reported with a linear velocity of 0.02m/step. To be clear on the effect of the physical world... When you push things, there's still a lag time where you walk into the object but once the object is in motion, it begins to move as you would expect so results in slightly more realistic motion.
|
| |
|
|
|
|
| |
and what is in OpenSimDefaults.ini. Comment and debug printout changes.
|
|
|
|
| |
children of BSPrim and BSCharacter.
|
|
|
|
| |
type changed.
|
|
|
|
| |
was using the child shape address at call time rather than the one created at taint time.
|
|
|
|
| |
no lag between what the vehicle code sees and what the physics engine is using.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
destroyed. This fixes many problems with physical linksets.
|
|
|
|
| |
keep the creation of constraints separate from runtime.
|
|
|
|
|
|
|
|
|
| |
use.
Added callbacks for shape and body changes in GetBodyAndShape() so the linkset
constraints can be picked up and restored. A better design might be to have
a "prim shape changed" event. Think about that.
Added constraint types to general constraint class.
|
| |
|
|
|
|
| |
going back now.
|
|
|
|
|
|
|
| |
pointers at runtime and at taint-time. Now passes the body into the
taint.
Vehicles zero inertia when active to eliminate Bullet's contribution
to vehicle motion.
|
|
|
|
|
|
| |
Static objects are set to ISLAND_SLEEPING rather than DISABLE_SIMULATION.
Might reconsider this and, alternatively, have dynamic objects force activation.
Clean up use of DetailLog().
|
|
|
|
|
|
|
|
|
|
| |
Rearrangement and cleanup of shape collection code. Much more readable.
Enabling and use of collision filters and masks.
Addition of ID to body creation BulletSimAPI calls so always set in
shape for collision reporting.
Change default of ShouldSplitSimulationIslands and ShouldRandomizeSolverOrder
from 'false' to 'true'. When 'false', this suppresses NO_CONTACT_RESPONSE
which makes volume detect fail.
|
|
|
|
|
|
|
|
|
|
|
|
| |
so the members case is consistant. Caused modifications everywhere.
New logic in BSShapeCollection to track use and sharing of shapes.
I just reslized, though, that shapes cannot be shared because the
shape's UserPointer is the localID of the prim and is required
for tracking collisions. More changes coming.
Added DuplicateCollisionShape2() to API and changed BuildNativeShape2
to take a ShapeData structure so don't have to pass so many parameters.
This matches the latest version of BulletSim.dll.
Additions and removal of DetailLog() statements for debugging.
|
|
|
|
| |
collision shape
|
|
|
|
|
| |
Eliminate some null exceptions created adding the above code.
Add and remove some detailed logging statements.
|
|
|
|
|
| |
tracking in the C# code. Needed for the changing body type
(to and from GhostObjects) for volumeDetect.
|
|
|
|
|
|
|
| |
Fix avatar height calculation to properly account for the capsule ends.
Rearrange some locking in TerrainManager to eliminate possible race conditions.
Move DetailLog() definition into common BSPhysObject class.
Some variable renaming to make usage clearer (refactor.rename makes this so easy).
|
|
|
|
|
|
| |
and into the parent class BSPhysObject.
Rework collision logic to enable extra collision after done colliding.
Rename 'Scene' to 'PhysicsScene' to differentiate it from the simulator 'Scene'.
|
| |
|
|
|
|
| |
children.
|
| |
|
| |
|
|
|
|
| |
setting. There is no reason these should be using the simulation time interval for parameter calculation.
|
|
|
|
|
| |
Fix collision code to properly sense mega-region children regions as terrain.
When setting an object physical, reset all the physical properties (friction, ...).
|
|
|
|
| |
center of mass
|
|
|
|
| |
Reset center of mass on an object when going dynamic.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many changes to BSDynamic for readability and commentary.
Linkset hacking for vehicles: don't over mass the root prim.
Add parameter for link constraint solver iterations.
Correct uses of timestep in timescale calculations for vehicles.
Reorganize code/logic for making objects static and dynamic for readability
and use of API2.
Changed most calls in BSPrim to use API2 calls (the new way).
Avatars do not generate default Bullet collision events but do call up
to the simulator for every avatar. Reduces overhead.
Objects added to collision list only if they are processing collisions.
Reduces overhead especially for large numbers of avatars.
Generalize call for water height to GetWaterHeightAtXYZ().
Catch and correct exception getting terrain height when out of bounds.
Correct race condition in Terrain Manager where creation wasn't at taint-time.
Add API calls for constructing compound shapes.
Move NeedsMeshing() logic into object class.
Reorganize logic for object meshing to reduce rebuilding of meshs/hulls.
|
|
|
|
|
|
|
|
|
| |
'Body' to 'BSBody' for disambiguation when reading code.
Complete the API2 interface so nearly all methods on bullet
classes are available to the managed code. The efficient
single call simulation step is kept in place while all
other creation/destruction/parameterization can be done
in the managed code.
|
| |
|
|
|
|
| |
'unknown'.
|
|
|
|
|
|
| |
Track current collision flags in BSPrim.
Add BulletSimAPI calls for saving and restoring rigidBodies using
construction information structure.
|
|
|
|
|
|
|
|
| |
Major rework of terrain management which finally makes mega-regions work.
Update heightmap of terrain by rebuilding the terrain's body and shape.
There is a problem with just replacing the shape so this workaround
will do for the moment but it will need to be resolved for
mesh and hull switching.
|
|
|
|
|
|
|
| |
Update DLL API for new terrain and shape/body pattern methods.
Terrain creation and modification uses new shape/body pattern.
Move debug logging callback set to initialization call so logging
is per physics engine.
|
| |
|
|
|
|
|
|
|
|
|
| |
Moved all terrain code out of BSScene and into new BSTerrainManager.
Added logic to manage multiple terrains for mega-regions.
Added new functions to BulletSimAPI to match the library.
Moved all of the terrain creation and setup logic from C++ code to C# code.
The unused code has not yet been removed from either place. Soon.
Moved checks for avatar above ground and in bounds into BSCharacter.
|
|
|
|
| |
BSLinkset only know of BSPhysObject's and there is only one list to search in BSScene.
|
|
|
|
| |
move nearly all of the logic into the C# code.
|
|
|
|
|
| |
This fixes the problem of non-base shapes (cubes and spheres)
falling through the terrain.
|
|
|
|
|
|
|
| |
no effect on non-logging running.
Capture region name that is passed to the physics engine and use
it for detail logging file name prefix.
Fix problem with avatars dropping when flying across region boundries.
|
|
|
|
|
|
| |
level of detail for large meshes.
Remove parameter and code for DetailLog (conditional logging into
regular log file).
|