Rémi Verschelde
060988408b
Physics: Properly obsolete friction and bounce properties
...
Without this change any new PhysicsBody would show deprecation warnings
due to default values for friction and bounce being defined.
It also enforced a physics material override even when using default
values.
2018-08-29 18:44:42 +02:00
Juan Linietsky
c7e4527a88
Massive rewrite to AnimationTree. Many APIs changed in order to:
...
-Reuse resources
-Expose properties in AnimationTree
2018-08-20 13:39:16 -03:00
Andrea Catania
0010d9c82a
Added ray shape and move_and_slide with snapping on 3D.
...
Added stop_on_slope on 2d part
2018-08-19 13:45:23 +02:00
Andrea Catania
9826456f2e
Improved move_and_slide function to stay on slope and fall on steep slope
2018-08-18 15:11:51 +02:00
oisincar
b684116b60
Expose PhysicalBone::get_bone_id() to c#/gdscript
2018-08-12 19:29:51 +01:00
Juan Linietsky
c02fb271fd
apply a threshold for floor angle, fixes #16037 , fixes #15632
2018-08-10 13:07:52 -03:00
Juan Linietsky
14fd797c53
Merge pull request #20381 from AndreaCatania/phymat_2
...
Improved Physics material
2018-08-07 15:31:26 -03:00
Andrea Catania
5e65e28eed
Removed physics material combination mode. Added rough and absorbent parameter to material. Fixed 'change' signal connection
2018-08-07 19:38:04 +02:00
Rémi Verschelde
12254594ac
Fix PhysicsBody build with deprecated=no
...
Fixes #20483 .
2018-07-27 15:34:58 +02:00
Hein-Pieter van Braam
0e29f7974b
Reduce unnecessary COW on Vector by make writing explicit
...
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Tiger Caldwell
40c7716586
Modified RigidBody, PhysicsDirectBodyState, PhysicsServer, and their respective 2D counterparts to be more consistent and to include more useful methods.
...
RigidBody:
- Added add_central_force
- Added add_force
- Added add_torque
- Added apply_central_impulse
RigidBody2D:
- Added add_central_force
- Added add_torque
- Added apply_central_impulse
- Added apply_torque_impulse
PhysicsDirectBodyState:
- Added apply_central_impulse
Physics2DDirectBodyState:
- Added add_central_force
- Added add_force
- Added add_torque
- Added apply_central_impulse
- Added apply_impulse
- Added apply_torque_impulse
PhysicsServer:
- Added body_add_force
- Added body_add_torque
- Added body_add_central_force
- Added body_apply_central_impulse
Physics2DServer:
- Added body_add_torque
- Added body_add_central_force
- Added body_apply_central_impulse
- Added body_apply_torque_impulse
Also fixed some small bugs along the way
2018-07-24 05:00:56 -04:00
AndreaCatania
17ebbfb56d
Implemented Soft body
...
- Soft Body Physics node
- Soft Body Rendering
- Soft body Editor
- Soft body importer
2018-07-23 20:50:23 +02:00
Juan Linietsky
1ad20dc2f1
Merge pull request #12403 from AndreaCatania/phymat
...
Physics material
2018-07-23 07:37:03 -03:00
Andrea Catania
16cf262e34
Fixes #19648 Kinematic body move_and_slide compatibility issue
2018-07-01 11:38:13 +02:00
Juan Linietsky
dfd1331690
Allow editing of some unbound properties when hinted (or no range hinted)
2018-05-16 09:13:41 -03:00
AndreaCatania
5f66734d2d
Implemented physics material
...
Hidden a function
Fixed travis static check
2018-05-11 03:23:09 +02:00
Andrea Catania
5a0119f9e2
Improved API to active / deactive ragdoll
2018-05-10 21:05:00 +02:00
Marcelo Fernandez
e64bbcc429
Fix some enums missing its bind
2018-05-08 21:14:31 -03:00
AndreaCatania
9e57a07fb6
Implemented ragdoll
...
Implementing ragdoll
Implementing ragdoll
Implementing ragdoll
Implementing ragdoll
Implementing ragdoll
a
Implemented implicit hierarchy.
Improved
Added some physics properties
Added bone offset to preserve COM, partially fixed scaling
work in progress
WIP
wip
Implemented Joint Gizmos
Implemented pin joint joint
Implemented all joints
2018-05-07 21:03:16 +02:00
Alexander Alekseev
6a5ed3a42b
Fix RigidBody's configuration warning for Z axis
2018-04-09 09:28:31 +03:00
Rémi Verschelde
497a4e9e25
Merge pull request #16757 from AndreaCatania/kinpush
...
Improved kinematic body, Now can move rigid body
2018-02-20 15:41:10 +01:00
Andrea Catania
6ed392f47a
Improved kinematic body 2D and 3D, Now can move rigid body
2018-02-20 12:43:47 +01:00
Rémi Verschelde
a41c45c335
Merge pull request #16060 from sdfgeoff/apply_torque
...
Exposed apply_torque_impulse to gdscript
2018-02-19 21:38:33 +01:00
Artem Varaksa
d35e486228
Clean up some bad words from code comments
2018-02-17 16:00:39 +03:00
sdfgeoff
cdd8334585
Exposed apply_torque_impulse to gdscript and added documentation for added apply_torque_impulse method
2018-02-15 16:42:24 +01:00
Bernhard Liebl
e9237d83c7
Fix crash on deleted rigidbodies without contact monitor (issue 15904)
2018-01-21 12:46:13 +01:00
Rémi Verschelde
9f479f096c
Fix typos in code and docs with codespell
...
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Juan Linietsky
a26e6c8215
Renamed tree_exited to tree_exiting. tree_exited is now used for actual out of tree notification.
...
Updated doc accordingly.
2018-01-12 08:29:24 -03:00
Rémi Verschelde
e4213e66b2
Add missing copyright headers and fix formatting
...
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
b50a9114b1
Update copyright statements to 2018
...
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
AndreaCatania
050a7ea6cc
Fixed bad bindings
2017-12-11 01:42:16 +01:00
AndreaCatania
5dee44bbc1
Implemented physics linear and angular lock
2017-12-10 17:21:14 +01:00
Rémi Verschelde
25b36f18d3
Merge pull request #12756 from Stratos695/master
...
Allowing double-axis lock in RigidBody & KinematicBody (Fixes #12500 )
2017-12-09 13:01:41 +01:00
Rémi Verschelde
13c2ff9320
Style: Apply new clang-format 5.0 style to all files
2017-12-07 08:02:00 +01:00
Eric Rybicki
bd5df84199
Allow double-axis lock in RigidBody and KinematicBody
2017-11-10 22:33:54 +01:00
Juan Linietsky
192a4d7de5
Reworked how servers preallocate RIDs, should fix #10970
2017-11-09 23:35:34 -03:00
Juan Linietsky
9e6f9742f4
adjust min stop to horizontal velocity
2017-11-09 17:58:32 -03:00
Juan Linietsky
0416ca2fd2
Add slope min stop velocity on 3D physics body, closes #10981
2017-11-09 17:32:50 -03:00
AndreaCatania
10f879bf88
Rewritten kinematic system
2017-11-07 15:22:09 +01:00
Poommetee Ketson
9cadb9e5f3
Bind unbound enums, rearrange some by value
2017-10-22 01:58:02 +07:00
AndreaCatania
4537977d6d
Renamed fixed_process to physics_process
2017-09-30 16:19:07 +02:00
letheed
5ad9be4c24
Rename pos to position in user facing methods and variables
...
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:
* pos -> position
* rot -> rotation
* loc -> location
C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Thomas Herzog
7dffed485b
Merge pull request #11230 from maxim-sheronov/fix_enum_bindings
...
Fix enums bindings
2017-09-15 08:43:35 +02:00
Maxim Sheronov
0fffa45158
Fix enums bindings
...
Add missed bindings for enums
Move some enums to class to have correct output of api.json
2017-09-13 20:57:07 +03:00
Aron de Castro
6e0892f223
Added to kinematicbody2d the copy and paste of the API friendler of KinematicBody
2017-09-10 13:07:47 -03:00
Juan Linietsky
6d233c651b
-Changed KinematicBody API yet again to make it friendlier
...
-Fixed get_scale functions (and added set_scale) to make it more coherent when decomposing and composing (fixes bugs in transform interpolation)
2017-09-04 07:49:42 -03:00
James Beedie
6fc5d1cd37
Fixed return of KinematicBody::_move
...
Fixed incorrect normal
Added missing collider velocity
2017-08-31 10:46:21 -04:00
Ignacio Etcheverry
c16d00591b
DocData and type hints fixes
...
- Makes vararg methods automatically use PROPERTY_USAGE_NIL_IS_VARIANT on return types
- Completely removes the ":type" suffix for method names. Virtual methods must use the MethodInfo constructors that takes Variant::Type or PropertyHint as the first parameter for the return type (with CLASS_INFO as a helper to get the PropertyInfo). Parameters must use PROPERTY_HINT_RESOURCE_TYPE and hint string.
- PROPERTY_USAGE_NIL_IS_VARIANT is no longer needed for parameters, because parameters cannot be void.
- Adds missing PROPERTY_USAGE_NIL_IS_VARIANT to virtual and built-in methods that return Variant.
2017-08-29 19:40:21 +02:00
Rémi Verschelde
bd282ff43f
Use HTTPS URL for Godot's website in the headers
2017-08-27 14:16:55 +02:00
Hein-Pieter van Braam
cacced7e50
Convert Object::cast_to() to the static version
...
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.
This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.
It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00