mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 01:06:30 +08:00
remove effect of avatar mass, so all jump similar height
This commit is contained in:
@@ -688,7 +688,7 @@ namespace OpenSim.Region.PhysicsModule.BulletS
|
||||
|
||||
public override void AvatarJump(float impulseZ)
|
||||
{
|
||||
AddForce(false, new OMV.Vector3(0, 0, 0.22f * impulseZ / PhysScene.m_fixedTimeStep));
|
||||
AddForce(false, new OMV.Vector3(0, 0, 0.22f * Mass * impulseZ / PhysScene.m_fixedTimeStep));
|
||||
}
|
||||
|
||||
public override void AddForce(OMV.Vector3 force, bool pushforce)
|
||||
|
||||
@@ -745,7 +745,7 @@ namespace OpenSim.Region.PhysicsModule.ODE
|
||||
public override void AvatarJump(float forceZ)
|
||||
{
|
||||
m_pidControllerActive = false;
|
||||
m_taintForce += new Vector3(0, 0, forceZ / _parent_scene.ODE_STEPSIZE);
|
||||
m_taintForce += new Vector3(0, 0, m_mass * forceZ / _parent_scene.ODE_STEPSIZE);
|
||||
_parent_scene.AddPhysicsActorTaint(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -808,7 +808,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
||||
|
||||
public override void AvatarJump(float impulseZ)
|
||||
{
|
||||
AddChange(changes.Force, new Vector3(0, 0, impulseZ * m_sceneInverseTimeStep));
|
||||
// convert back to force and remove mass effect
|
||||
AddChange(changes.Force, new Vector3(0, 0, impulseZ * m_sceneInverseTimeStep * m_mass));
|
||||
}
|
||||
|
||||
public override void AddAngularForce(Vector3 force, bool pushforce)
|
||||
|
||||
Reference in New Issue
Block a user