Expose more 2D/3D physics options in project settings

This commit is contained in:
Fabio Alessandrelli 2016-10-03 03:42:17 +02:00
parent 78d97b060a
commit 1d09c27ba4
7 changed files with 15 additions and 14 deletions

View file

@ -332,6 +332,10 @@ World::World() {
sound_space = SpatialSoundServer::get_singleton()->space_create();
PhysicsServer::get_singleton()->space_set_active(space,true);
PhysicsServer::get_singleton()->area_set_param(space,PhysicsServer::AREA_PARAM_GRAVITY,GLOBAL_DEF("physics/default_gravity",9.8));
PhysicsServer::get_singleton()->area_set_param(space,PhysicsServer::AREA_PARAM_GRAVITY_VECTOR,GLOBAL_DEF("physics/default_gravity_vector",Vector3(0,-1,0)));
PhysicsServer::get_singleton()->area_set_param(space,PhysicsServer::AREA_PARAM_LINEAR_DAMP,GLOBAL_DEF("physics/default_linear_damp",0.1));
PhysicsServer::get_singleton()->area_set_param(space,PhysicsServer::AREA_PARAM_ANGULAR_DAMP,GLOBAL_DEF("physics/default_angular_damp",0.1));
#ifdef _3D_DISABLED
indexer = NULL;

View file

@ -416,12 +416,6 @@ World2D::World2D() {
}
Physics2DServer::get_singleton()->area_set_param(space,Physics2DServer::AREA_PARAM_LINEAR_DAMP,GLOBAL_DEF("physics_2d/default_linear_damp",0.1));
Physics2DServer::get_singleton()->area_set_param(space,Physics2DServer::AREA_PARAM_ANGULAR_DAMP,GLOBAL_DEF("physics_2d/default_angular_damp",1));
Physics2DServer::get_singleton()->space_set_param(space,Physics2DServer::SPACE_PARAM_CONTACT_RECYCLE_RADIUS,1.0);
Physics2DServer::get_singleton()->space_set_param(space,Physics2DServer::SPACE_PARAM_CONTACT_MAX_SEPARATION,1.5);
Physics2DServer::get_singleton()->space_set_param(space,Physics2DServer::SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION,0.3);
Physics2DServer::get_singleton()->space_set_param(space,Physics2DServer::SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_TRESHOLD,2);
Physics2DServer::get_singleton()->space_set_param(space,Physics2DServer::SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS,0.2);
indexer = memnew( SpatialIndexer2D );
}

View file

@ -31,6 +31,7 @@
#include "resource.h"
#include "servers/physics_2d_server.h"
#include "globals.h"
class SpatialIndexer2D;
class VisibilityNotifier2D;

View file

@ -721,7 +721,7 @@ SpaceSW::SpaceSW() {
constraint_bias = 0.01;
body_linear_velocity_sleep_threshold=GLOBAL_DEF("physics/sleep_threshold_linear",0.1);
body_angular_velocity_sleep_threshold=GLOBAL_DEF("physics/sleep_threshold_angular", (8.0 / 180.0 * Math_PI) );
body_time_to_sleep=0.5;
body_time_to_sleep=GLOBAL_DEF("physics/time_before_sleep",0.5);
body_angular_velocity_damp_ratio=10;

View file

@ -37,6 +37,7 @@
#include "area_pair_sw.h"
#include "broad_phase_sw.h"
#include "collision_object_sw.h"
#include "globals.h"
class PhysicsDirectSpaceStateSW : public PhysicsDirectSpaceState {

View file

@ -1321,14 +1321,14 @@ Space2DSW::Space2DSW() {
contact_debug_count=0;
locked=false;
contact_recycle_radius=0.01;
contact_max_separation=0.05;
contact_max_allowed_penetration= 0.01;
contact_recycle_radius=1.0;
contact_max_separation=1.5;
contact_max_allowed_penetration= 0.3;
constraint_bias = 0.01;
body_linear_velocity_sleep_treshold=0.01;
body_angular_velocity_sleep_treshold=(8.0 / 180.0 * Math_PI);
body_time_to_sleep=0.5;
constraint_bias = 0.2;
body_linear_velocity_sleep_treshold=GLOBAL_DEF("physics_2d/sleep_threashold_linear",2.0);
body_angular_velocity_sleep_treshold=GLOBAL_DEF("physics_2d/sleep_threshold_angular",(8.0 / 180.0 * Math_PI));
body_time_to_sleep=GLOBAL_DEF("physics_2d/time_before_sleep",0.5);
broadphase = BroadPhase2DSW::create_func();

View file

@ -37,6 +37,7 @@
#include "area_pair_2d_sw.h"
#include "broad_phase_2d_sw.h"
#include "collision_object_2d_sw.h"
#include "globals.h"
class Physics2DDirectSpaceStateSW : public Physics2DDirectSpaceState {