forked from bartvdbraak/blender
BGE: removed support for time dependent modifiers, they don't make sense in the GE. Disable modifiers when Bullet soft body is used: bullet needs the original vertex array.
This commit is contained in:
parent
a5f4d7cb53
commit
252928ab36
@ -2158,6 +2158,7 @@ static void mesh_calc_modifiers(Object *ob, float (*inputVertexCos)[3],
|
||||
|
||||
if((md->mode & required_mode) != required_mode) continue;
|
||||
if(mti->isDisabled && mti->isDisabled(md)) continue;
|
||||
if(useDeform < 0 && mti->dependsOnTime && mti->dependsOnTime(md)) continue;
|
||||
|
||||
if(mti->type == eModifierTypeType_OnlyDeform) {
|
||||
if(!deformedVerts)
|
||||
@ -2228,6 +2229,7 @@ static void mesh_calc_modifiers(Object *ob, float (*inputVertexCos)[3],
|
||||
}
|
||||
if(mti->isDisabled && mti->isDisabled(md)) continue;
|
||||
if(needMapping && !modifier_supportsMapping(md)) continue;
|
||||
if(useDeform < 0 && mti->dependsOnTime && mti->dependsOnTime(md)) continue;
|
||||
|
||||
/* add an orco layer if needed by this modifier */
|
||||
if(dm && mti->requiredDataMask) {
|
||||
|
@ -97,9 +97,15 @@ bool BL_ModifierDeformer::HasCompatibleDeformer(Object *ob)
|
||||
{
|
||||
if (!ob->modifiers.first)
|
||||
return false;
|
||||
// soft body cannot use mesh modifiers
|
||||
if ((ob->gameflag & OB_SOFT_BODY) != 0)
|
||||
return false;
|
||||
ModifierData* md;
|
||||
for (md = (ModifierData*)ob->modifiers.first; md; md = (ModifierData*)md->next) {
|
||||
if (md->mode & eModifierMode_Realtime)
|
||||
if (modifier_dependsOnTime(md))
|
||||
continue;
|
||||
if (!(md->mode & eModifierMode_Realtime))
|
||||
continue;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user