Modifiers: Armature deformation test for various modifier settings
Test for armature deform modifier settings that are not yet covered by other tests:
- Vertex Group vs. Envelope deformation and both combined.
- Vertex group masking ('vertex_group' setting of the modifier)
- Inverted vertex group masking
- Preserve Volume (dual quaternions)
- Vertex Group/Envelope influence mixing (bone option)
- B-Bone deformation
- Multi-modifier mixing
Each case has a new test/expected mesh pair in the modifiers test.
Pull Request: https://projects.blender.org/blender/blender/pulls/141054
This commit is contained in:
@@ -10,7 +10,7 @@ from random import seed
|
||||
import bpy
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.realpath(__file__)))
|
||||
from modules.mesh_test import RunTest, ModifierSpec, SpecMeshTest, OperatorSpecObjectMode
|
||||
from modules.mesh_test import RunTest, ModifierSpec, MultiModifierSpec, SpecMeshTest, OperatorSpecObjectMode
|
||||
|
||||
seed(0)
|
||||
|
||||
@@ -323,6 +323,60 @@ def main():
|
||||
SpecMeshTest("CurveCurve", "testObjBezierCurveCurve", "expObjBezierCurveCurve",
|
||||
[ModifierSpec('curve_Curve', 'CURVE', {'object': bpy.data.objects['NurbsCurve']})]),
|
||||
|
||||
#############################################
|
||||
# Armature Deform Modifier Settings
|
||||
#############################################
|
||||
# 70
|
||||
SpecMeshTest("ArmatureDefault", "testMonkeyArmatureDefault", "expectedMonkeyArmatureDefault",
|
||||
[ModifierSpec('armature', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmatureDefault'],
|
||||
'use_vertex_groups': True})]),
|
||||
SpecMeshTest("ArmatureEnvelope", "testMonkeyArmatureEnvelope", "expectedMonkeyArmatureEnvelope",
|
||||
[ModifierSpec('armature', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmatureEnvelope'],
|
||||
'use_vertex_groups': False,
|
||||
'use_bone_envelopes': True})]),
|
||||
SpecMeshTest("ArmatureVGroupEnvelope", "testMonkeyArmatureVGroupEnvelope", "expectedMonkeyArmatureVGroupEnvelope",
|
||||
[ModifierSpec('armature', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmatureVGroupEnvelope'],
|
||||
'use_vertex_groups': True,
|
||||
'use_bone_envelopes': True})]),
|
||||
SpecMeshTest("ArmaturePreserveVolume", "testMonkeyArmaturePreserveVolume", "expectedMonkeyArmaturePreserveVolume",
|
||||
[ModifierSpec('armature', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmaturePreserveVolume'],
|
||||
'use_vertex_groups': True,
|
||||
'use_deform_preserve_volume': True})]),
|
||||
SpecMeshTest("ArmatureMasked", "testMonkeyArmatureMasked", "expectedMonkeyArmatureMasked",
|
||||
[ModifierSpec('armature', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmatureMasked'],
|
||||
'use_vertex_groups': True,
|
||||
'vertex_group': "Mask"})]),
|
||||
SpecMeshTest("ArmatureMaskedInverse", "testMonkeyArmatureMaskedInverse", "expectedMonkeyArmatureMaskedInverse",
|
||||
[ModifierSpec('armature', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmatureMaskedInverse'],
|
||||
'use_vertex_groups': True,
|
||||
'vertex_group': "Mask",
|
||||
'invert_vertex_group': True})]),
|
||||
SpecMeshTest("ArmatureMultiModifier", "testMonkeyArmatureMultiModifier", "expectedMonkeyArmatureMultiModifier",
|
||||
[MultiModifierSpec(
|
||||
[ModifierSpec('armature1', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmatureMultiModifier1'],
|
||||
'use_vertex_groups': True}),
|
||||
ModifierSpec('armature2', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmatureMultiModifier2'],
|
||||
'use_vertex_groups': True,
|
||||
'use_multi_modifier': True})])]),
|
||||
SpecMeshTest("ArmatureMultiModifierMasked", "testMonkeyArmatureMultiModifierMasked", "expectedMonkeyArmatureMultiModifierMasked",
|
||||
[MultiModifierSpec(
|
||||
[ModifierSpec('armature1', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmatureMultiModifierMasked1'],
|
||||
'use_vertex_groups': True,
|
||||
'vertex_group': "Mask"}),
|
||||
ModifierSpec('armature2', 'ARMATURE',
|
||||
{'object': bpy.data.objects['testArmatureMultiModifierMasked2'],
|
||||
'use_vertex_groups': True,
|
||||
'vertex_group': "Mask",
|
||||
'use_multi_modifier': True})])]),
|
||||
]
|
||||
|
||||
boolean_basename = "CubeBooleanDiffBMeshObject"
|
||||
|
||||
Reference in New Issue
Block a user