BGE: Material Force Field renaming + reorganization

the old FH setting was blended with the other physics settings (friction and elastic)
Also in the Physics panel it was saying "Use Material Physics" but the button is only for Force Field.

Since I was here I decided to change the Constraint FH ui name from Fh to Force. I don't think users really understand what FH is (I for once don't).
Thanks to Carsten Wartmann for pointing that out.
This commit is contained in:
Dalai Felinto
2011-03-03 01:47:17 +00:00
parent 5e75835524
commit 13d5f6005e
6 changed files with 34 additions and 27 deletions

View File

@@ -56,7 +56,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel):
col.prop(ob, "hide_render", text="Invisible") # out of place but useful col.prop(ob, "hide_render", text="Invisible") # out of place but useful
col = split.column() col = split.column()
col.prop(game, "use_material_physics") col.prop(game, "use_material_physics_fh")
col.prop(game, "use_rotate_from_normal") col.prop(game, "use_rotate_from_normal")
col.prop(game, "use_sleep") col.prop(game, "use_sleep")

View File

@@ -619,16 +619,21 @@ class MATERIAL_PT_physics(MaterialButtonsPanel, bpy.types.Panel):
phys = context.material.physics # dont use node material phys = context.material.physics # dont use node material
split = layout.split() split = layout.split()
row = split.row()
row.prop(phys, "friction")
row.prop(phys, "elasticity", slider=True)
col = split.column()
col.prop(phys, "distance")
col.prop(phys, "friction")
col.prop(phys, "use_normal_align")
col = split.column() row = layout.row()
col.prop(phys, "force", slider=True) row.label(text="Force Field:")
col.prop(phys, "elasticity", slider=True)
col.prop(phys, "damping", slider=True) row = layout.row()
row.prop(phys, "fh_force")
row.prop(phys, "fh_damping", slider=True)
row = layout.row()
row.prop(phys, "fh_distance")
row.prop(phys, "use_fh_normal")
class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel): class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel):

View File

@@ -3865,7 +3865,7 @@ static void draw_actuator_constraint(uiLayout *layout, PointerRNA *ptr, bContext
row = uiLayoutRow(layout, 0); row = uiLayoutRow(layout, 0);
uiItemR(row, ptr, "direction_axis", 0, NULL, ICON_NONE); uiItemR(row, ptr, "direction_axis", 0, NULL, ICON_NONE);
split = uiLayoutSplit(row, 0.9, 0); split = uiLayoutSplit(row, 0.9, 0);
uiItemR(split, ptr, "spring", 0, NULL, ICON_NONE); uiItemR(split, ptr, "fh_force", 0, NULL, ICON_NONE);
uiItemR(split, ptr, "use_fh_normal", UI_ITEM_R_TOGGLE , NULL, ICON_NONE); uiItemR(split, ptr, "use_fh_normal", UI_ITEM_R_TOGGLE , NULL, ICON_NONE);
split = uiLayoutSplit(layout, 0.15, 0); split = uiLayoutSplit(layout, 0.15, 0);

View File

@@ -1232,19 +1232,19 @@ static void rna_def_constraint_actuator(BlenderRNA *brna)
prop= RNA_def_property(srna, "fh_height", PROP_FLOAT, PROP_NONE); prop= RNA_def_property(srna, "fh_height", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_funcs(prop, "rna_ConstraintActuator_fhheight_get", "rna_ConstraintActuator_fhheight_set", NULL); RNA_def_property_float_funcs(prop, "rna_ConstraintActuator_fhheight_get", "rna_ConstraintActuator_fhheight_set", NULL);
RNA_def_property_ui_range(prop, 0.01, 2000.0, 10, 2); RNA_def_property_ui_range(prop, 0.01, 2000.0, 10, 2);
RNA_def_property_ui_text(prop, "Distance", "Height of the Fh area"); RNA_def_property_ui_text(prop, "Distance", "Height of the force field area");
RNA_def_property_update(prop, NC_LOGIC, NULL); RNA_def_property_update(prop, NC_LOGIC, NULL);
prop= RNA_def_property(srna, "spring", PROP_FLOAT, PROP_PERCENTAGE); prop= RNA_def_property(srna, "fh_force", PROP_FLOAT, PROP_PERCENTAGE);
RNA_def_property_float_funcs(prop, "rna_ConstraintActuator_spring_get", "rna_ConstraintActuator_spring_set", NULL); RNA_def_property_float_funcs(prop, "rna_ConstraintActuator_spring_get", "rna_ConstraintActuator_spring_set", NULL);
RNA_def_property_ui_range(prop, 0.0, 1.0, 10, 2); RNA_def_property_ui_range(prop, 0.0, 1.0, 10, 2);
RNA_def_property_ui_text(prop, "Fh", "Spring force within the Fh area"); RNA_def_property_ui_text(prop, "Force", "Spring force within the force field area");
RNA_def_property_update(prop, NC_LOGIC, NULL); RNA_def_property_update(prop, NC_LOGIC, NULL);
prop= RNA_def_property(srna, "fh_damping", PROP_FLOAT, PROP_NONE); prop= RNA_def_property(srna, "fh_damping", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "maxrot[0]"); RNA_def_property_float_sdna(prop, NULL, "maxrot[0]");
RNA_def_property_ui_range(prop, 0.0, 1.0, 10, 2); RNA_def_property_ui_range(prop, 0.0, 1.0, 10, 2);
RNA_def_property_ui_text(prop, "Damping", "Damping factor of the Fh spring force"); RNA_def_property_ui_text(prop, "Damping", "Damping factor of the force field spring");
RNA_def_property_update(prop, NC_LOGIC, NULL); RNA_def_property_update(prop, NC_LOGIC, NULL);
/* booleans */ /* booleans */

View File

@@ -1525,31 +1525,33 @@ static void rna_def_material_physics(BlenderRNA *brna)
RNA_def_struct_nested(brna, srna, "Material"); RNA_def_struct_nested(brna, srna, "Material");
RNA_def_struct_ui_text(srna, "Material Physics", "Physics settings for a Material datablock"); RNA_def_struct_ui_text(srna, "Material Physics", "Physics settings for a Material datablock");
prop= RNA_def_property(srna, "use_normal_align", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "dynamode", MA_FH_NOR);
RNA_def_property_ui_text(prop, "Align to Normal", "Align dynamic game objects along the surface normal, when inside the physics distance area");
prop= RNA_def_property(srna, "friction", PROP_FLOAT, PROP_NONE); prop= RNA_def_property(srna, "friction", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "friction"); RNA_def_property_float_sdna(prop, NULL, "friction");
RNA_def_property_range(prop, 0, 100); RNA_def_property_range(prop, 0, 100);
RNA_def_property_ui_text(prop, "Friction", "Coulomb friction coefficient, when inside the physics distance area"); RNA_def_property_ui_text(prop, "Friction", "Coulomb friction coefficient, when inside the physics distance area");
prop= RNA_def_property(srna, "force", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "fh");
RNA_def_property_range(prop, 0, 1);
RNA_def_property_ui_text(prop, "Force", "Upward spring force, when inside the physics distance area");
prop= RNA_def_property(srna, "elasticity", PROP_FLOAT, PROP_NONE); prop= RNA_def_property(srna, "elasticity", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "reflect"); RNA_def_property_float_sdna(prop, NULL, "reflect");
RNA_def_property_range(prop, 0, 1); RNA_def_property_range(prop, 0, 1);
RNA_def_property_ui_text(prop, "Elasticity", "Elasticity of collisions"); RNA_def_property_ui_text(prop, "Elasticity", "Elasticity of collisions");
prop= RNA_def_property(srna, "distance", PROP_FLOAT, PROP_NONE); /* FH/Force Field Settings */
prop= RNA_def_property(srna, "use_fh_normal", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "dynamode", MA_FH_NOR);
RNA_def_property_ui_text(prop, "Align to Normal", "Align dynamic game objects along the surface normal, when inside the physics distance area");
prop= RNA_def_property(srna, "fh_force", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "fh");
RNA_def_property_range(prop, 0, 1);
RNA_def_property_ui_range(prop, 0.0, 1.0, 10, 2);
RNA_def_property_ui_text(prop, "Force", "Upward spring force, when inside the physics distance area");
prop= RNA_def_property(srna, "fh_distance", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "fhdist"); RNA_def_property_float_sdna(prop, NULL, "fhdist");
RNA_def_property_range(prop, 0, 20); RNA_def_property_range(prop, 0, 20);
RNA_def_property_ui_text(prop, "Distance", "Distance of the physics area"); RNA_def_property_ui_text(prop, "Distance", "Distance of the physics area");
prop= RNA_def_property(srna, "damping", PROP_FLOAT, PROP_NONE); prop= RNA_def_property(srna, "fh_damping", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "xyfrict"); RNA_def_property_float_sdna(prop, NULL, "xyfrict");
RNA_def_property_range(prop, 0, 1); RNA_def_property_range(prop, 0, 1);
RNA_def_property_ui_text(prop, "Damping", "Damping of the spring force, when inside the physics distance area"); RNA_def_property_ui_text(prop, "Damping", "Damping of the spring force, when inside the physics distance area");

View File

@@ -1435,9 +1435,9 @@ static void rna_def_object_game_settings(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Lock Z Rotation Axis", "Disable simulation of angular motion along the Z axis"); RNA_def_property_ui_text(prop, "Lock Z Rotation Axis", "Disable simulation of angular motion along the Z axis");
prop= RNA_def_property(srna, "use_material_physics", PROP_BOOLEAN, PROP_NONE); prop= RNA_def_property(srna, "use_material_physics_fh", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "gameflag", OB_DO_FH); RNA_def_property_boolean_sdna(prop, NULL, "gameflag", OB_DO_FH);
RNA_def_property_ui_text(prop, "Use Material Physics", "Use physics settings in materials"); RNA_def_property_ui_text(prop, "Use Material Force Field", "React to force field physics settings in materials");
prop= RNA_def_property(srna, "use_rotate_from_normal", PROP_BOOLEAN, PROP_NONE); prop= RNA_def_property(srna, "use_rotate_from_normal", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "gameflag", OB_ROT_FH); RNA_def_property_boolean_sdna(prop, NULL, "gameflag", OB_ROT_FH);