Переглянути джерело

Properly pass safe margin on initialization.

Fixes jitter.

(cherry picked from commit 13e0385702c9b5d152f2781ff566e07db9aeddc3)
Juan Linietsky 5 роки тому
батько
коміт
ceeb690476
2 змінених файлів з 4 додано та 3 видалено
  1. 3 2
      scene/3d/physics_body.cpp
  2. 1 1
      servers/physics/body_sw.cpp

+ 3 - 2
scene/3d/physics_body.cpp

@@ -1432,13 +1432,14 @@ void KinematicBody::_bind_methods() {
 
 
 KinematicBody::KinematicBody() :
 KinematicBody::KinematicBody() :
 		PhysicsBody(PhysicsServer::BODY_MODE_KINEMATIC) {
 		PhysicsBody(PhysicsServer::BODY_MODE_KINEMATIC) {
-
-	margin = 0.001;
 	locked_axis = 0;
 	locked_axis = 0;
 	on_floor = false;
 	on_floor = false;
 	on_ceiling = false;
 	on_ceiling = false;
 	on_wall = false;
 	on_wall = false;
+
+	set_safe_margin(0.001);
 }
 }
+
 KinematicBody::~KinematicBody() {
 KinematicBody::~KinematicBody() {
 
 
 	if (motion_cache.is_valid()) {
 	if (motion_cache.is_valid()) {

+ 1 - 1
servers/physics/body_sw.cpp

@@ -773,7 +773,7 @@ BodySW::BodySW() :
 	active = true;
 	active = true;
 
 
 	mass = 1;
 	mass = 1;
-	kinematic_safe_margin = 0.01;
+	kinematic_safe_margin = 0.001;
 	//_inv_inertia=Transform();
 	//_inv_inertia=Transform();
 	_inv_mass = 1;
 	_inv_mass = 1;
 	bounce = 0;
 	bounce = 0;