1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-10 13:00:37 +00:00

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(); sound_space = SpatialSoundServer::get_singleton()->space_create();
PhysicsServer::get_singleton()->space_set_active(space,true); 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 #ifdef _3D_DISABLED
indexer = NULL; 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_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()->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 ); indexer = memnew( SpatialIndexer2D );
} }

View File

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

View File

@@ -721,7 +721,7 @@ SpaceSW::SpaceSW() {
constraint_bias = 0.01; constraint_bias = 0.01;
body_linear_velocity_sleep_threshold=GLOBAL_DEF("physics/sleep_threshold_linear",0.1); 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_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; body_angular_velocity_damp_ratio=10;

View File

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

View File

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

View File

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