mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
802 lines
24 KiB
C++
802 lines
24 KiB
C++
#include "script_component.hpp"
|
|
|
|
class CfgPatches {
|
|
class ADDON {
|
|
units[] = {};
|
|
weapons[] = {};
|
|
requiredVersion = REQUIRED_VERSION;
|
|
requiredAddons[] = {"ace_common"};
|
|
author[] = {"KoffeinFlummi", "Opticalsnare"};
|
|
authorUrl = "https://github.com/KoffeinFlummi/";
|
|
VERSION_CONFIG;
|
|
};
|
|
};
|
|
|
|
/*
|
|
* BASED ON OPTICALSNARE'S WORK
|
|
* He gave permission to use his code here:
|
|
* http://forums.bistudio.com/showthread.php?171771-Flying-bodies-Physics-Mod&p=2603042#post2603042
|
|
*/
|
|
|
|
class PhysXParams {
|
|
epeImpulseDamageCoef = 1320.0;
|
|
impulseForceRagdollCoef = 200;
|
|
impulseTorqueRagdollCoef = 100;
|
|
maxRagdollImpulseForceMagnitude = 500;
|
|
maxRagdollImpulseTorqueMagnitude = 150;
|
|
ragdollHitDmgLimit = "0.01f";
|
|
ragdollHitForceCoef = "20f";
|
|
ragdollHitTime = "0.05f";
|
|
ragdollOnCollideForceCoef = "20.0f";
|
|
ragdollOnCollideMassLimit = "0.0f";
|
|
ragdollOnCollideMaxForce = "25.0f";
|
|
ragdollOnCollideMaxOffset = "2.0f";
|
|
ragdollOnCollideMaxOffsetSpeed = "50.0f";
|
|
ragdollOnCollideSpeedLimit = "2500.0f";
|
|
ragdollOnCollideVehicleImpulseCoef = "0.5f";
|
|
ragdollUnconsciousSleepCoef = "0f";
|
|
ragdollUnderwaterBuoyancyCoef = 9.7;
|
|
ragdollUnderwaterResistanceCoef = 0.005;
|
|
ragdollVehicleCollision = 1;
|
|
};
|
|
|
|
class RagDollDefaultLimit {
|
|
value = 0;
|
|
restitution = 0.9;
|
|
hardness = 0.5;
|
|
};
|
|
|
|
class RagDollDefaultSpring {
|
|
enabled = 0;
|
|
value = 0.5;
|
|
damper = 1;
|
|
targetValue = 0;
|
|
};
|
|
|
|
class RagDollSphericalJoint {
|
|
class TwistLimitLow : RagDollDefaultLimit {};
|
|
|
|
class TwistLimitHigh : RagDollDefaultLimit {};
|
|
|
|
class SwingLimit : RagDollDefaultLimit {};
|
|
|
|
class TwistSpring : RagDollDefaultSpring {
|
|
enabled = 1;
|
|
};
|
|
|
|
class SwingSpring : RagDollDefaultSpring {
|
|
enabled = 1;
|
|
damper = 2;
|
|
};
|
|
|
|
class JointSpring : RagDollDefaultSpring {
|
|
enabled = 0;
|
|
};
|
|
type = "spherical";
|
|
enableCollision = 0;
|
|
projectionDistance = 0.05;
|
|
projectionMode = "point";
|
|
};
|
|
|
|
class RagDollRevoluteJoint {
|
|
class LimitLow : RagDollDefaultLimit {};
|
|
|
|
class LimitHigh : RagDollDefaultLimit {};
|
|
|
|
class Spring : RagDollDefaultSpring {
|
|
enabled = 0;
|
|
};
|
|
type = "revolute";
|
|
enableCollision = 0;
|
|
projectionDistance = 0.05;
|
|
projectionMode = "point";
|
|
};
|
|
|
|
class RagDollD6Joint_PX3 {
|
|
type = "D6";
|
|
enableCollision = 0;
|
|
projectionDistance = 0.05;
|
|
projectionMode = "point";
|
|
swingLimitY = "0.0f";
|
|
swingLimitZ = "0.0f";
|
|
swingSpring = "0.0f";
|
|
swingDamping = "0.0f";
|
|
swingRestitution = "0.6f";
|
|
swingContactDistance = "0.05f";
|
|
twistLimitLower = "0.0f";
|
|
twistLimitUpper = "0.0f";
|
|
twistSpring = "0.0f";
|
|
twistDamping = "0.0f";
|
|
twistRestitution = "0.6f";
|
|
twistContactDistance = "0.05f";
|
|
driveSpring = "20.0f";
|
|
driveDamping = "20.0f";
|
|
driveMaxForce = "1000000.0f";
|
|
driveUseAcceleration = 1;
|
|
driveLinearVelocity[] = {0, 0, 0};
|
|
driveAngularVelocity[] = {0, 0, 0};
|
|
};
|
|
|
|
class CfgRagDollSkeletons {
|
|
class BaseRagdoll {
|
|
primaryWeaponBone = "";
|
|
secondaryWeaponBone = "";
|
|
networkBonePrimary = "";
|
|
networkBoneSecondary = "";
|
|
weaponSleepLinearVelocity = 20;
|
|
weaponSleepAngularVelocity = 20;
|
|
weaponDropMinTime = 1.0;
|
|
weaponDropMaxTime = 100.0;
|
|
weaponDistanceLimit = "10f";
|
|
weaponDistanceLimitTime = "5.0f";
|
|
sleepLinearVelocity = 0.05;
|
|
sleepAngularVelocity = 0.05;
|
|
simulateMinTime = 30;
|
|
simulateMaxTime = 100.0;
|
|
simulateDistanceLimit = "0.05f";
|
|
simulateDistanceLimitTime = "5.0f";
|
|
recoveryBlendTime = "0.5f";
|
|
recoveryCosLimit = "0.3f";
|
|
recoveryDistLimit = "0.7f";
|
|
animBlendTime = "0.0f";
|
|
};
|
|
|
|
class Soldier : BaseRagdoll {
|
|
primaryWeaponBone = "weapon";
|
|
secondaryWeaponBone = "launcher";
|
|
networkBonePrimary = "chest";
|
|
networkBoneSecondary = "pelvis";
|
|
draggingMask = "dragging";
|
|
hitMask = "hit";
|
|
hitMaskUnderwater = "hitUnderwater";
|
|
|
|
class WeaponLinkBones {
|
|
class LinkBone1 {
|
|
bone = "leftHand";
|
|
canBeDropped = 1;
|
|
prefference = "1.0f";
|
|
};
|
|
|
|
class LinkBone2 {
|
|
bone = "rightHand";
|
|
canBeDropped = 1;
|
|
prefference = "2.0f";
|
|
};
|
|
|
|
class LinkBone3 {
|
|
bone = "chest";
|
|
canBeDropped = 1;
|
|
prefference = "1.0f";
|
|
};
|
|
};
|
|
|
|
class Masks {
|
|
class DraggingMask {
|
|
name = "dragging";
|
|
mask[] = {{"pelvis", 0, 1}, {"chest", 0, 1}, {"head", "0.6f", 0}, {"leftArm", 1, 0}, {"leftForeArm", 1, 0}, {"leftHand", 1, 0}, {"rightArm", 1, 0}, {"rightForeArm", 1, 0}, {"rightHand", 1, 0}, {"leftUpLeg", 1, 0}, {"leftLeg", 1, 0}, {"leftFoot", 1, 0}, {"rightUpLeg", 1, 0}, {"rightLeg", 1, 0}, {"rightFoot", 1, 0}, {"weapon", 0, 1}, {"launcher", 0, 1}};
|
|
};
|
|
|
|
class HitMask {
|
|
name = "hit";
|
|
mask[] = {{"pelvis", 1, 0}, {"chest", 1, 0}, {"head", 1, 0}, {"leftArm", 1, 0}, {"leftForeArm", 1, 0}, {"leftHand", 1, 0}, {"rightArm", 1, 0}, {"rightForeArm", 1, 0}, {"rightHand", 1, 0}, {"leftUpLeg", 1, 0}, {"leftLeg", 1, 0}, {"leftFoot", 1, 1}, {"rightUpLeg", 1, 0}, {"rightLeg", 1, 0}, {"rightFoot", 1, 1}, {"weapon", 1, 0}, {"launcher", 1, 0}};
|
|
};
|
|
|
|
class HitMaskUnderwater {
|
|
name = "hitUnderwater";
|
|
mask[] = {{"pelvis", 1, 1}, {"chest", 1, 1}, {"head", 1, 0}, {"leftArm", 1, 0}, {"leftForeArm", 1, 0}, {"leftHand", 1, 0}, {"rightArm", 1, 0}, {"rightForeArm", 1, 0}, {"rightHand", 1, 0}, {"leftUpLeg", 1, 0}, {"leftLeg", 1, 0}, {"leftFoot", 1, 0}, {"rightUpLeg", 1, 0}, {"rightLeg", 1, 0}, {"rightFoot", 1, 0}, {"weapon", 1, 0}, {"launcher", 1, 0}};
|
|
};
|
|
};
|
|
|
|
class BaseRagdollBone {
|
|
material = "Ragdoll";
|
|
childrenUseStartTrans = 1;
|
|
};
|
|
|
|
class Bones {
|
|
class Pelvis : BaseRagdollBone {
|
|
name = "pelvis";
|
|
type = "capsule";
|
|
startBone = "pelvis";
|
|
endBone = "spine2";
|
|
mass = 15;
|
|
radius = 0.12;
|
|
networkType = "root";
|
|
};
|
|
|
|
class Chest : BaseRagdollBone {
|
|
name = "chest";
|
|
type = "capsule";
|
|
startBone = "spine1";
|
|
endBone = "neck";
|
|
radius = 0.16;
|
|
mass = 15;
|
|
};
|
|
|
|
class Head : BaseRagdollBone {
|
|
name = "head";
|
|
type = "sphere";
|
|
startBone = "head";
|
|
mass = 8;
|
|
radius = 0.16;
|
|
};
|
|
|
|
class LeftArm : BaseRagdollBone {
|
|
name = "leftArm";
|
|
type = "capsule";
|
|
startBone = "leftArm";
|
|
endBone = "leftForeArm";
|
|
mass = 8;
|
|
};
|
|
|
|
class LeftForeArm : BaseRagdollBone {
|
|
name = "leftForeArm";
|
|
type = "capsule";
|
|
startBone = "leftForeArm";
|
|
endBone = "leftHand";
|
|
mass = 6;
|
|
};
|
|
|
|
class LeftHand : BaseRagdollBone {
|
|
name = "leftHand";
|
|
type = "sphere";
|
|
startBone = "leftHand";
|
|
mass = 6;
|
|
radius = 0.08;
|
|
childrenUseStartTrans = 0;
|
|
networkType = "leftHand";
|
|
};
|
|
|
|
class RightArm : BaseRagdollBone {
|
|
name = "rightArm";
|
|
type = "capsule";
|
|
startBone = "rightArm";
|
|
endBone = "rightForeArm";
|
|
mass = 8;
|
|
};
|
|
|
|
class RightForeArm : BaseRagdollBone {
|
|
name = "rightForeArm";
|
|
type = "capsule";
|
|
startBone = "rightForeArm";
|
|
endBone = "rightHand";
|
|
mass = 6;
|
|
};
|
|
|
|
class RightHand : BaseRagdollBone {
|
|
name = "rightHand";
|
|
type = "sphere";
|
|
startBone = "rightHand";
|
|
mass = 6;
|
|
radius = 0.08;
|
|
childrenUseStartTrans = 0;
|
|
networkType = "rightHand";
|
|
};
|
|
|
|
class LeftUpLeg : BaseRagdollBone {
|
|
name = "leftUpLeg";
|
|
type = "capsule";
|
|
startBone = "leftUpLeg";
|
|
endBone = "leftLeg";
|
|
mass = 15;
|
|
};
|
|
|
|
class LeftLeg : BaseRagdollBone {
|
|
name = "leftLeg";
|
|
type = "capsule";
|
|
startBone = "leftLeg";
|
|
endBone = "leftFoot";
|
|
mass = 10;
|
|
};
|
|
|
|
class LeftFoot : BaseRagdollBone {
|
|
name = "leftFoot";
|
|
type = "box";
|
|
startBone = "leftFoot";
|
|
size[] = {0.15, 0.035, 0.07};
|
|
mass = 8;
|
|
networkType = "leftFoot";
|
|
};
|
|
|
|
class RightUpLeg : BaseRagdollBone {
|
|
name = "rightUpLeg";
|
|
type = "capsule";
|
|
startBone = "rightUpLeg";
|
|
endBone = "rightLeg";
|
|
mass = 15;
|
|
};
|
|
|
|
class RightLeg : BaseRagdollBone {
|
|
name = "rightLeg";
|
|
type = "capsule";
|
|
startBone = "rightLeg";
|
|
endBone = "rightFoot";
|
|
mass = 10;
|
|
};
|
|
|
|
class RightFoot : BaseRagdollBone {
|
|
name = "rightFoot";
|
|
type = "box";
|
|
startBone = "rightFoot";
|
|
size[] = {0.15, 0.035, 0.07};
|
|
mass = 8;
|
|
networkType = "rightFoot";
|
|
};
|
|
|
|
class Weapon : BaseRagdollBone {
|
|
name = "weapon";
|
|
type = "weapon";
|
|
startBone = "weapon";
|
|
endPosRelToStart[] = {0.0, 1.0, 0.0};
|
|
mass = 3;
|
|
};
|
|
|
|
class Launcher : BaseRagdollBone {
|
|
name = "launcher";
|
|
type = "weapon";
|
|
startBone = "launcher";
|
|
endPosRelToStart[] = {1.0, 0.0, 0.0};
|
|
mass = 3;
|
|
};
|
|
};
|
|
|
|
class JointsPX2 {
|
|
class Pelvis_Chest_PX2 : RagDollSphericalJoint {
|
|
name = "pelvis_chest";
|
|
bone1 = "pelvis";
|
|
bone2 = "chest";
|
|
axis[] = {0, 1, 0.3};
|
|
|
|
class SwingLimit : SwingLimit {
|
|
value = 25;
|
|
};
|
|
|
|
class TwistLimitLow : TwistLimitLow {
|
|
value = -15;
|
|
};
|
|
|
|
class TwistLimitHigh : TwistLimitHigh {
|
|
value = 25;
|
|
};
|
|
};
|
|
|
|
class Chest_Head_PX2 : RagDollSphericalJoint {
|
|
name = "chest_head";
|
|
bone1 = "chest";
|
|
bone2 = "head";
|
|
|
|
class SwingLimit : SwingLimit {
|
|
value = 20;
|
|
};
|
|
|
|
class TwistLimitLow : TwistLimitLow {
|
|
value = -15;
|
|
};
|
|
|
|
class TwistLimitHigh : TwistLimitHigh {
|
|
value = 15;
|
|
};
|
|
};
|
|
|
|
class Chest_LeftArm_PX2 : RagDollSphericalJoint {
|
|
name = "chest_leftArm";
|
|
bone1 = "chest";
|
|
bone2 = "leftArm";
|
|
axis[] = {-1, 0.0, 0.5};
|
|
enableCollision = 1;
|
|
|
|
class SwingLimit : SwingLimit {
|
|
value = 60;
|
|
};
|
|
|
|
class TwistLimitLow : TwistLimitLow {
|
|
value = -20;
|
|
};
|
|
|
|
class TwistLimitHigh : TwistLimitHigh {
|
|
value = 20;
|
|
};
|
|
};
|
|
|
|
class LeftArm_LeftForeArm_PX2 : RagDollRevoluteJoint {
|
|
name = "leftArm_leftForeArm";
|
|
bone1 = "leftArm";
|
|
bone2 = "leftForeArm";
|
|
axis[] = {1, -1, 0.2};
|
|
|
|
class LimitLow : LimitLow {
|
|
value = -2;
|
|
};
|
|
|
|
class LimitHigh : LimitHigh {
|
|
value = 60;
|
|
};
|
|
};
|
|
|
|
class LeftForeArm_LeftHand_PX2 : RagDollSphericalJoint {
|
|
name = "leftForeArm_leftHand";
|
|
bone1 = "leftForeArm";
|
|
bone2 = "leftHand";
|
|
|
|
class SwingLimit : SwingLimit {
|
|
value = 20;
|
|
};
|
|
|
|
class TwistLimitLow : TwistLimitLow {
|
|
value = -5;
|
|
};
|
|
|
|
class TwistLimitHigh : TwistLimitHigh {
|
|
value = 5;
|
|
};
|
|
};
|
|
|
|
class Chest_RightArm_PX2 : RagDollSphericalJoint {
|
|
name = "chest_rightArm";
|
|
bone1 = "chest";
|
|
bone2 = "rightArm";
|
|
axis[] = {1, 0.0, 0.5};
|
|
enableCollision = 1;
|
|
|
|
class SwingLimit : SwingLimit {
|
|
value = 60;
|
|
};
|
|
|
|
class TwistLimitLow : TwistLimitLow {
|
|
value = -20;
|
|
};
|
|
|
|
class TwistLimitHigh : TwistLimitHigh {
|
|
value = 20;
|
|
};
|
|
};
|
|
|
|
class RightArm_RightForeArm_PX2 : RagDollRevoluteJoint {
|
|
name = "rightArm_rightForeArm";
|
|
bone1 = "rightArm";
|
|
bone2 = "rightForeArm";
|
|
axis[] = {1, 1, -0.2};
|
|
|
|
class LimitLow : LimitLow {
|
|
value = -2;
|
|
};
|
|
|
|
class LimitHigh : LimitHigh {
|
|
value = 60;
|
|
};
|
|
};
|
|
|
|
class RightForeArm_RightHand_PX2 : RagDollSphericalJoint {
|
|
name = "rightForeArm_rightHand";
|
|
bone1 = "rightForeArm";
|
|
bone2 = "rightHand";
|
|
|
|
class SwingLimit : SwingLimit {
|
|
value = 20;
|
|
};
|
|
|
|
class TwistLimitLow : TwistLimitLow {
|
|
value = -5;
|
|
};
|
|
|
|
class TwistLimitHigh : TwistLimitHigh {
|
|
value = 5;
|
|
};
|
|
};
|
|
|
|
class Pelvis_LeftUpLeg_PX2 : RagDollSphericalJoint {
|
|
name = "pelvis_leftUpLeg";
|
|
bone1 = "pelvis";
|
|
bone2 = "leftUpLeg";
|
|
axis[] = {-1.5, -1.1, 2};
|
|
enableCollision = 1;
|
|
|
|
class SwingLimit : SwingLimit {
|
|
value = 45;
|
|
};
|
|
|
|
class TwistLimitLow : TwistLimitLow {
|
|
value = -10;
|
|
};
|
|
|
|
class TwistLimitHigh : TwistLimitHigh {
|
|
value = 20;
|
|
};
|
|
};
|
|
|
|
class LeftUpLeg_LeftLeg_PX2 : RagDollRevoluteJoint {
|
|
name = "leftUpLeg_leftLeg";
|
|
bone1 = "leftUpLeg";
|
|
bone2 = "leftLeg";
|
|
axis[] = {-1, 0, 0};
|
|
|
|
class LimitLow : LimitLow {
|
|
value = -5;
|
|
};
|
|
|
|
class LimitHigh : LimitHigh {
|
|
value = 110;
|
|
};
|
|
};
|
|
|
|
class LeftLeg_LeftFoot_PX2 : RagDollRevoluteJoint {
|
|
name = "leftLeg_leftFoot";
|
|
bone1 = "leftLeg";
|
|
bone2 = "leftFoot";
|
|
axis[] = {-1, 0, 0};
|
|
|
|
class LimitLow : LimitLow {
|
|
value = -15;
|
|
};
|
|
|
|
class LimitHigh : LimitHigh {
|
|
value = 45;
|
|
};
|
|
};
|
|
|
|
class Pelvis_RightUpLeg_PX2 : RagDollSphericalJoint {
|
|
name = "pelvis_rightUpLeg";
|
|
bone1 = "pelvis";
|
|
bone2 = "rightUpLeg";
|
|
axis[] = {1.5, -1.1, 2};
|
|
enableCollision = 1;
|
|
|
|
class SwingLimit : SwingLimit {
|
|
value = 45;
|
|
};
|
|
|
|
class TwistLimitLow : TwistLimitLow {
|
|
value = -10;
|
|
};
|
|
|
|
class TwistLimitHigh : TwistLimitHigh {
|
|
value = 20;
|
|
};
|
|
};
|
|
|
|
class RightUpLeg_RightLeg_PX2 : RagDollRevoluteJoint {
|
|
name = "rightUpLeg_rightLeg";
|
|
bone1 = "rightUpLeg";
|
|
bone2 = "rightLeg";
|
|
axis[] = {-1, 0, 0};
|
|
|
|
class LimitLow : LimitLow {
|
|
value = -5;
|
|
};
|
|
|
|
class LimitHigh : LimitHigh {
|
|
value = 110;
|
|
};
|
|
};
|
|
|
|
class RightLeg_RightFoot_PX2 : RagDollRevoluteJoint {
|
|
name = "rightLeg_rightFoot";
|
|
bone1 = "rightLeg";
|
|
bone2 = "rightFoot";
|
|
axis[] = {-1, 0, 0};
|
|
|
|
class LimitLow : LimitLow {
|
|
value = -15;
|
|
};
|
|
|
|
class LimitHigh : LimitHigh {
|
|
value = 45;
|
|
};
|
|
};
|
|
};
|
|
|
|
class JointsPX3 {
|
|
class Pelvis_Chest_PX3 : RagDollD6Joint_PX3 {
|
|
name = "pelvis_chest";
|
|
bone1 = "pelvis";
|
|
bone2 = "chest";
|
|
axis[] = {0, 1, 0.3};
|
|
enableCollision = 0;
|
|
swingLimitY = 30;
|
|
swingLimitZ = 30;
|
|
twistLimitLower = -25;
|
|
twistLimitUpper = 25;
|
|
driveSpring = 30;
|
|
driveDamping = 30;
|
|
driveSpringWater = 5;
|
|
driveDampingWater = 5;
|
|
};
|
|
|
|
class Chest_Head_PX3 : RagDollD6Joint_PX3 {
|
|
name = "chest_head";
|
|
bone1 = "chest";
|
|
bone2 = "head";
|
|
swingLimitY = 45;
|
|
swingLimitZ = 45;
|
|
twistLimitLower = -40;
|
|
twistLimitUpper = 40;
|
|
driveSpring = 15.0;
|
|
driveDamping = 30;
|
|
driveSpringWater = 1.5;
|
|
driveDampingWater = 3.0;
|
|
twistSpring = 15.0;
|
|
twistDamping = 30.0;
|
|
};
|
|
|
|
class Chest_LeftArm_PX3 : RagDollD6Joint_PX3 {
|
|
name = "chest_leftArm";
|
|
bone1 = "chest";
|
|
bone2 = "leftArm";
|
|
enableCollision = 1;
|
|
swingLimitY = 85;
|
|
swingLimitZ = 85;
|
|
twistLimitLower = -60;
|
|
twistLimitUpper = 60;
|
|
driveSpring = 30;
|
|
driveDamping = 30;
|
|
driveSpringWater = 3;
|
|
driveDampingWater = 3;
|
|
};
|
|
|
|
class LeftArm_LeftForeArm_PX3 : RagDollD6Joint_PX3 {
|
|
name = "leftArm_leftForeArm";
|
|
bone1 = "leftArm";
|
|
bone2 = "leftForeArm";
|
|
axis[] = {-1, 1, -0.2};
|
|
swingLimitY = 10;
|
|
swingLimitZ = 10;
|
|
twistLimitLower = -5;
|
|
twistLimitUpper = 150;
|
|
driveSpring = 10;
|
|
driveDamping = 10;
|
|
driveSpringWater = 1;
|
|
driveDampingWater = 1;
|
|
};
|
|
|
|
class LeftForeArm_LeftHand_PX3 : RagDollD6Joint_PX3 {
|
|
name = "leftForeArm_leftHand";
|
|
bone1 = "leftForeArm";
|
|
bone2 = "leftHand";
|
|
swingLimitY = 10;
|
|
swingLimitZ = 10;
|
|
twistLimitLower = -20;
|
|
twistLimitUpper = 20;
|
|
driveSpring = 10;
|
|
driveDamping = 10;
|
|
driveSpringWater = 1;
|
|
driveDampingWater = 1;
|
|
};
|
|
|
|
class Chest_RightArm_PX3 : RagDollD6Joint_PX3 {
|
|
name = "chest_rightArm";
|
|
bone1 = "chest";
|
|
bone2 = "rightArm";
|
|
enableCollision = 1;
|
|
swingLimitY = 85;
|
|
swingLimitZ = 85;
|
|
twistLimitLower = -60;
|
|
twistLimitUpper = 60;
|
|
driveSpring = 30;
|
|
driveDamping = 30;
|
|
driveSpringWater = 3;
|
|
driveDampingWater = 3;
|
|
};
|
|
|
|
class RightArm_RightForeArm_PX3 : RagDollD6Joint_PX3 {
|
|
name = "rightArm_rightForeArm";
|
|
bone1 = "rightArm";
|
|
bone2 = "rightForeArm";
|
|
axis[] = {-1, -1, 0.2};
|
|
swingLimitY = 10;
|
|
swingLimitZ = 10;
|
|
twistLimitLower = -5;
|
|
twistLimitUpper = 150;
|
|
driveSpring = 10;
|
|
driveDamping = 10;
|
|
driveSpringWater = 1;
|
|
driveDampingWater = 1;
|
|
};
|
|
|
|
class RightForeArm_RightHand_PX3 : RagDollD6Joint_PX3 {
|
|
name = "rightForeArm_rightHand";
|
|
bone1 = "rightForeArm";
|
|
bone2 = "rightHand";
|
|
swingLimitY = 10;
|
|
swingLimitZ = 10;
|
|
twistLimitLower = -20;
|
|
twistLimitUpper = 20;
|
|
driveSpring = 10;
|
|
driveDamping = 10;
|
|
driveSpringWater = 1;
|
|
driveDampingWater = 1;
|
|
};
|
|
|
|
class Pelvis_LeftUpLeg_PX3 : RagDollD6Joint_PX3 {
|
|
name = "pelvis_leftUpLeg";
|
|
bone1 = "pelvis";
|
|
bone2 = "leftUpLeg";
|
|
enableCollision = 1;
|
|
swingLimitY = 35;
|
|
swingLimitZ = 35;
|
|
twistLimitLower = -10;
|
|
twistLimitUpper = 60;
|
|
driveSpring = 30;
|
|
driveDamping = 30;
|
|
driveSpringWater = 3;
|
|
driveDampingWater = 3;
|
|
twistDamping = 30.0;
|
|
};
|
|
|
|
class LeftUpLeg_LeftLeg_PX3 : RagDollD6Joint_PX3 {
|
|
name = "leftUpLeg_leftLeg";
|
|
bone1 = "leftUpLeg";
|
|
bone2 = "leftLeg";
|
|
axis[] = {1, 0, 0};
|
|
swingLimitY = 10;
|
|
swingLimitZ = 10;
|
|
twistLimitLower = -5;
|
|
twistLimitUpper = 120;
|
|
driveSpring = 20;
|
|
driveDamping = 20;
|
|
driveSpringWater = 2;
|
|
driveDampingWater = 2;
|
|
};
|
|
|
|
class LeftLeg_LeftFoot_PX3 : RagDollD6Joint_PX3 {
|
|
name = "leftLeg_leftFoot";
|
|
bone1 = "leftLeg";
|
|
bone2 = "leftFoot";
|
|
axis[] = {1, 0, 0};
|
|
swingLimitY = 10;
|
|
swingLimitZ = 10;
|
|
twistLimitLower = -15;
|
|
twistLimitUpper = 45;
|
|
driveSpring = 20;
|
|
driveDamping = 20;
|
|
driveSpringWater = 2;
|
|
driveDampingWater = 2;
|
|
};
|
|
|
|
class Pelvis_RightUpLeg_PX3 : RagDollD6Joint_PX3 {
|
|
name = "pelvis_rightUpLeg";
|
|
bone1 = "pelvis";
|
|
bone2 = "rightUpLeg";
|
|
enableCollision = 1;
|
|
swingLimitY = 35;
|
|
swingLimitZ = 35;
|
|
twistLimitLower = -10;
|
|
twistLimitUpper = 60;
|
|
driveSpring = 30;
|
|
driveDamping = 30;
|
|
driveSpringWater = 3;
|
|
driveDampingWater = 3;
|
|
twistDamping = 30.0;
|
|
};
|
|
|
|
class RightUpLeg_RightLeg_PX3 : RagDollD6Joint_PX3 {
|
|
name = "rightUpLeg_rightLeg";
|
|
bone1 = "rightUpLeg";
|
|
bone2 = "rightLeg";
|
|
axis[] = {1, 0, 0};
|
|
swingLimitY = 10;
|
|
swingLimitZ = 10;
|
|
twistLimitLower = -5;
|
|
twistLimitUpper = 120;
|
|
driveSpring = 20;
|
|
driveDamping = 20;
|
|
driveSpringWater = 2;
|
|
driveDampingWater = 2;
|
|
};
|
|
|
|
class RightLeg_RightFoot_PX3 : RagDollD6Joint_PX3 {
|
|
name = "rightLeg_rightFoot";
|
|
bone1 = "rightLeg";
|
|
bone2 = "rightFoot";
|
|
axis[] = {1, 0, 0};
|
|
swingLimitY = 10;
|
|
swingLimitZ = 10;
|
|
twistLimitLower = -15;
|
|
twistLimitUpper = 45;
|
|
driveSpring = 20;
|
|
driveDamping = 20;
|
|
driveSpringWater = 2;
|
|
driveDampingWater = 2;
|
|
};
|
|
};
|
|
};
|
|
};
|