diff options
author | Mitchell Stokes <mogurijin@gmail.com> | 2011-07-26 10:10:05 +0400 |
---|---|---|
committer | Mitchell Stokes <mogurijin@gmail.com> | 2011-07-26 10:10:05 +0400 |
commit | 1f65b3b1a8f5ccc54a794ed0d6f8cf2d3e2c5a36 (patch) | |
tree | 236c1d8475709b45962fd5efa901626a78fedbe0 /release | |
parent | 1e0e0ff5c4e88f2ee21c849b151a1899ae4c714f (diff) |
BGE Animations: Adding a new choice for vertex deformation for armatures, which can be found in the Armature's Skeleton panel by the Deform options. Before only Blender's armature_deform_verts() was used. Now users can choose a vertex deformation function that is optimized for the BGE. At the moment it is mostly a copy of armature_deform_verts() with various chunks of code removed, and the BLI_math code was replaced with Eigen2. In my test scene, the new function offered about a 40% improvement over armature_deform_verts() (17~19ms rasterizer to 11~12ms). The only current limitation that I'm aware of if that B-Bone segments are not supported in the BGE version, and I will probably leave it out. I would like to also limit the BGE version to 4 weights to make things easier for a GPU version, but this may just make things slower (sorting weights to find the top 4).
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_data_armature.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py index eae7f9e9824..00ccd4ce08b 100644 --- a/release/scripts/startup/bl_ui/properties_data_armature.py +++ b/release/scripts/startup/bl_ui/properties_data_armature.py @@ -70,6 +70,9 @@ class DATA_PT_skeleton(ArmatureButtonsPanel, bpy.types.Panel): flow.prop(arm, "use_deform_envelopes", text="Envelopes") flow.prop(arm, "use_deform_preserve_volume", text="Quaternion") + if context.scene.render.engine == "BLENDER_GAME": + col = layout.column() + col.prop(arm, "vert_deformer") class DATA_PT_display(ArmatureButtonsPanel, bpy.types.Panel): bl_label = "Display" |