forked from bartvdbraak/blender
Set the physics scale on added objects. (Fix bug #1837)
This commit is contained in:
parent
5dc6d22e46
commit
551806bce8
@ -600,22 +600,24 @@ SCA_IObject* KX_Scene::AddReplicaObject(class CValue* originalobject,
|
||||
|
||||
MT_Matrix3x3 newori = ((KX_GameObject*) parentobject)->NodeGetWorldOrientation();
|
||||
replica->NodeSetLocalOrientation(newori);
|
||||
|
||||
if (replica->GetPhysicsController())
|
||||
{
|
||||
replica->GetPhysicsController()->setPosition(newpos);
|
||||
replica->GetPhysicsController()->setOrientation(newori.getRotation());
|
||||
}
|
||||
|
||||
// here we want to set the relative scale: the rootnode's scale will override all other
|
||||
// scalings, so lets better prepare for it
|
||||
|
||||
|
||||
// get the rootnode's scale
|
||||
MT_Vector3 newscale = parentobj->GetSGNode()->GetRootSGParent()->GetLocalScale();
|
||||
|
||||
// set the replica's relative scale with the rootnode's scale
|
||||
replica->NodeSetRelativeScale(newscale);
|
||||
|
||||
if (replica->GetPhysicsController())
|
||||
{
|
||||
replica->GetPhysicsController()->setPosition(newpos);
|
||||
replica->GetPhysicsController()->setOrientation(newori.getRotation());
|
||||
replica->GetPhysicsController()->setScaling(newscale);
|
||||
}
|
||||
|
||||
// here we want to set the relative scale: the rootnode's scale will override all other
|
||||
// scalings, so lets better prepare for it
|
||||
|
||||
|
||||
replica->GetSGNode()->UpdateWorldData(0);
|
||||
replica->GetSGNode()->SetBBox(originalobj->GetSGNode()->BBox());
|
||||
replica->GetSGNode()->SetRadius(originalobj->GetSGNode()->Radius());
|
||||
|
@ -174,7 +174,8 @@ void SumoPhysicsController::setPosition(float posX,float posY,float posZ)
|
||||
|
||||
void SumoPhysicsController::setScaling(float scaleX,float scaleY,float scaleZ)
|
||||
{
|
||||
m_sumoObj->setScaling(MT_Vector3(scaleX,scaleY,scaleZ));
|
||||
if (!m_bDyna)
|
||||
m_sumoObj->setScaling(MT_Vector3(scaleX,scaleY,scaleZ));
|
||||
}
|
||||
|
||||
// physics methods
|
||||
|
Loading…
Reference in New Issue
Block a user