PhysicsDrag trait limit props
This commit is contained in:
parent
b664e3a010
commit
4c34c2a5ce
|
@ -2,6 +2,7 @@ package armory.trait;
|
||||||
|
|
||||||
import iron.Trait;
|
import iron.Trait;
|
||||||
import iron.system.Input;
|
import iron.system.Input;
|
||||||
|
import iron.math.Vec3;
|
||||||
import iron.math.Vec4;
|
import iron.math.Vec4;
|
||||||
import iron.math.Mat4;
|
import iron.math.Mat4;
|
||||||
import iron.math.RayCaster;
|
import iron.math.RayCaster;
|
||||||
|
@ -14,6 +15,11 @@ class PhysicsDrag extends Trait {
|
||||||
public function new() { super(); }
|
public function new() { super(); }
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@prop public var linearLowerLimit = new Vec3(0,0,0);
|
||||||
|
@prop public var linearUpperLimit = new Vec3(0,0,0);
|
||||||
|
@prop public var angularLowerLimit = new Vec3(-10,-10,-10);
|
||||||
|
@prop public var angularUpperLimit = new Vec3(10,10,10);
|
||||||
|
|
||||||
var pickConstraint: bullet.Bt.Generic6DofConstraint = null;
|
var pickConstraint: bullet.Bt.Generic6DofConstraint = null;
|
||||||
var pickDist: Float;
|
var pickDist: Float;
|
||||||
var pickedBody: RigidBody = null;
|
var pickedBody: RigidBody = null;
|
||||||
|
@ -56,10 +62,10 @@ class PhysicsDrag extends Trait {
|
||||||
tr.setOrigin(localPivot);
|
tr.setOrigin(localPivot);
|
||||||
|
|
||||||
pickConstraint = new bullet.Bt.Generic6DofConstraint(b.body, tr, false);
|
pickConstraint = new bullet.Bt.Generic6DofConstraint(b.body, tr, false);
|
||||||
pickConstraint.setLinearLowerLimit(new bullet.Bt.Vector3(0, 0, 0));
|
pickConstraint.setLinearLowerLimit(new bullet.Bt.Vector3(linearLowerLimit.x, linearLowerLimit.y, linearLowerLimit.z));
|
||||||
pickConstraint.setLinearUpperLimit(new bullet.Bt.Vector3(0, 0, 0));
|
pickConstraint.setLinearUpperLimit(new bullet.Bt.Vector3(linearUpperLimit.x, linearUpperLimit.y, linearUpperLimit.z));
|
||||||
pickConstraint.setAngularLowerLimit(new bullet.Bt.Vector3(-10, -10, -10));
|
pickConstraint.setAngularLowerLimit(new bullet.Bt.Vector3(angularLowerLimit.x, angularLowerLimit.y, angularLowerLimit.z));
|
||||||
pickConstraint.setAngularUpperLimit(new bullet.Bt.Vector3(10, 10, 10));
|
pickConstraint.setAngularUpperLimit(new bullet.Bt.Vector3(angularUpperLimit.x, angularUpperLimit.y, angularUpperLimit.z));
|
||||||
physics.world.addConstraint(pickConstraint, false);
|
physics.world.addConstraint(pickConstraint, false);
|
||||||
|
|
||||||
/*pickConstraint.setParam(4, 0.8, 0);
|
/*pickConstraint.setParam(4, 0.8, 0);
|
||||||
|
|
Loading…
Reference in a new issue