forked from bartvdbraak/blender
BGE: The Step Height for a character physics controller is now set to 0.01, which means that Step Height can no longer be 0, which causes issues such as those noted in issue #33221, "KX_CharacterWrapper inconsistencies and error," reported by Angus Hollands (agoose77). I've also added a do_versions() fix that will give objects with 0 Step Height sane defaults. This means old files will now work better with character physics.
This commit is contained in:
parent
2bed09e7a6
commit
eb1fccd8a5
@ -8364,6 +8364,17 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
Object *ob;
|
||||
for (ob = main->object.first; ob; ob = ob->id.next) {
|
||||
if (ob->step_height == 0.0) {
|
||||
ob->step_height = 0.150;
|
||||
ob->jump_speed = 10.0;
|
||||
ob->fall_speed = 55.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* WATCH IT!!!: pointers from libdata have not been converted yet here! */
|
||||
/* WATCH IT 2!: Userdef struct init has to be in editors/interface/resources.c! */
|
||||
|
||||
|
@ -1643,21 +1643,23 @@ static void rna_def_object_game_settings(BlenderRNA *brna)
|
||||
RNA_def_property_range(prop, 0.0, 1000.0);
|
||||
RNA_def_property_ui_text(prop, "Velocity Max", "Clamp velocity to this maximum speed");
|
||||
|
||||
/* Character physics */
|
||||
prop = RNA_def_property(srna, "step_height", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "step_height");
|
||||
RNA_def_property_range(prop, 0.0, 1.0);
|
||||
RNA_def_property_range(prop, 0.01, 1.0);
|
||||
RNA_def_property_ui_text(prop, "Step Height", "Maximum height of steps the character can run over");
|
||||
|
||||
prop = RNA_def_property(srna, "jump_speed", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "jump_speed");
|
||||
RNA_def_property_range(prop, 0.0, 1000.0);
|
||||
RNA_def_property_ui_text(prop, "Jump Force", "Upward velocity applied to the character when jumping (with the Motion actuator)");
|
||||
RNA_def_property_ui_text(prop, "Jump Force", "Upward velocity applied to the character when jumping");
|
||||
|
||||
prop = RNA_def_property(srna, "fall_speed", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "fall_speed");
|
||||
RNA_def_property_range(prop, 0.0, 1000.0);
|
||||
RNA_def_property_ui_text(prop, "Fall Speed Max", "Maximum speed at which the character will fall");
|
||||
|
||||
/* Collision Masks */
|
||||
prop = RNA_def_property(srna, "collision_group", PROP_BOOLEAN, PROP_LAYER_MEMBER);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "col_group", 1);
|
||||
RNA_def_property_array(prop, OB_MAX_COL_MASKS);
|
||||
|
Loading…
Reference in New Issue
Block a user