diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2012-03-03 06:47:01 +0400 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2012-03-03 06:47:01 +0400 |
commit | 1f928833f3677fa47a10099205c9f7ffa9adfadb (patch) | |
tree | 85b6fb8af88d7d459830e7b3fb51f6b84e74cf50 /source/gameengine/Converter/BL_ArmatureActuator.cpp | |
parent | 95bba22af075148f9cbdb5a9b1ef41aeff1f560f (diff) |
option for the Armature Actuator to change the influence of a bone constraint.
Also adds DampedTrackTo to the list of supported constraints in the BGE
Test file:
http://www.pasteall.org/blend/11715
Patch developed as part of a project to NF-UBC Nereus Program.
Development time 'sponsored' by the project.
www.nereusprogram.org
Diffstat (limited to 'source/gameengine/Converter/BL_ArmatureActuator.cpp')
-rw-r--r-- | source/gameengine/Converter/BL_ArmatureActuator.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/gameengine/Converter/BL_ArmatureActuator.cpp b/source/gameengine/Converter/BL_ArmatureActuator.cpp index 73403baa15e..3f4a261a972 100644 --- a/source/gameengine/Converter/BL_ArmatureActuator.cpp +++ b/source/gameengine/Converter/BL_ArmatureActuator.cpp @@ -53,7 +53,8 @@ BL_ArmatureActuator::BL_ArmatureActuator(SCA_IObject* obj, const char *constraintname, KX_GameObject* targetobj, KX_GameObject* subtargetobj, - float weight) : + float weight, + float influence) : SCA_IActuator(obj, KX_ACT_ARMATURE), m_constraint(NULL), m_gametarget(targetobj), @@ -61,6 +62,7 @@ BL_ArmatureActuator::BL_ArmatureActuator(SCA_IObject* obj, m_posechannel(posechannel), m_constraintname(constraintname), m_weight(weight), + m_influence(influence), m_type(type) { if (m_gametarget) @@ -173,6 +175,10 @@ bool BL_ArmatureActuator::Update(double curtime, bool frame) if (m_constraint) m_constraint->SetWeight(m_weight); break; + case ACT_ARM_SETINFLUENCE: + if (m_constraint) + m_constraint->SetInfluence(m_influence); + break; } } return result; @@ -216,6 +222,7 @@ PyAttributeDef BL_ArmatureActuator::Attributes[] = { KX_PYATTRIBUTE_RW_FUNCTION("target", BL_ArmatureActuator, pyattr_get_object, pyattr_set_object), KX_PYATTRIBUTE_RW_FUNCTION("subtarget", BL_ArmatureActuator, pyattr_get_object, pyattr_set_object), KX_PYATTRIBUTE_FLOAT_RW("weight",0.0f,1.0f,BL_ArmatureActuator,m_weight), + KX_PYATTRIBUTE_FLOAT_RW("influence",0.0f,1.0f,BL_ArmatureActuator,m_influence), KX_PYATTRIBUTE_INT_RW("type",0,ACT_ARM_MAXTYPE,false,BL_ArmatureActuator,m_type), { NULL } //Sentinel }; |