Commit Graph

591 Commits

Author SHA1 Message Date
Juan Linietsky
ee07fb5ebe Changes to ClippedCamera, RayCast,Raycast2D and 2D physics API to add ability to choose between bodies and areas when colliding. 2018-08-21 15:31:23 -03:00
Juan Linietsky
44d75e3b6d
Merge pull request #21266 from AndreaCatania/master
Added area / body collision exception in raycast
2018-08-21 14:26:19 -03:00
Andrea Catania
0b98834b77 Added ray / shape / point / motion / rest cast exclusion of area and or body 2018-08-21 18:51:08 +02:00
Juan Linietsky
e20864c340 Clipped camera implementation, a camera that avoids going into geometry. 2018-08-21 11:48:48 -03:00
Juan Linietsky
c1bd768ca2
Merge pull request #18822 from QbieShay/master
Added spring arm node
2018-08-20 14:21:04 -03: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
QbieShay
bb14ef5623 added spring arm node. 2018-08-18 14:34:42 +02:00
oisincar
b684116b60 Expose PhysicalBone::get_bone_id() to c#/gdscript 2018-08-12 19:29:51 +01:00
Juan Linietsky
52e6f1f25c
Merge pull request #20072 from RandomShaper/fix-camera-offsets
Fix camera offsets not applied always
2018-08-10 16:24:39 -03:00
Juan Linietsky
c02fb271fd apply a threshold for floor angle, fixes #16037, fixes #15632 2018-08-10 13:07:52 -03:00
JFonS
59fd18ab1a New gizmo structure and new gizmo disabling menu 2018-08-09 20:58:39 +02: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
Juan Linietsky
254eb46de3 Several improvements to inspector.
-Added optional horizontal/vertical modes for vector editing (default false for vec2, true for vec3)
-Some clean ups with fonts and styles
2018-08-07 12:22:46 -03:00
Juan Linietsky
5b70ad9d34 Respect process order for out of order skeleton bones (fixes GLTF2 import issues). 2018-08-06 22:35:09 -03:00
Juan Linietsky
7c712a25bc
Merge pull request #18699 from AndreaCatania/ik
Inverse kinematic
2018-08-04 10:45:14 -03:00
AndreaCatania
b7e66188df Implemented IK 2018-08-04 11:25:07 +02:00
Andrea Catania
b469267d94 Fixed SoftBody pinned point offset calculation 2018-08-03 17:44:09 +02:00
Max Hilbrunner
3f01f40e91
Merge pull request #20550 from AndreaCatania/soft_fix
Soft Body - Pin Point fix, Material fix
2018-07-30 17:01:25 +02:00
Juan Linietsky
aff57a613b Add extra functions to toggle bits in visualinstance and camera, same as physics. Helps with #6685 2018-07-29 20:05:16 -03:00
Andrea Catania
7949ba771b SoftBody add MeshInstance Material correctly 2018-07-29 19:36:32 +02:00
Andrea Catania
45160f0c0d Fixed Softbody pin point 2018-07-28 20:38:20 +02:00
Rémi Verschelde
12254594ac Fix PhysicsBody build with deprecated=no
Fixes #20483.
2018-07-27 15:34:58 +02:00
Juan Linietsky
6a5aec3644 Rename flag to better name 2018-07-27 08:59:18 -03:00
Rémi Verschelde
5c8919aac6
Merge pull request #18955 from tagcup/fix_set_scale
Removed incorrect Basis::set_scale().
2018-07-26 10:37:03 +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
Juan Linietsky
dc976cac57
Merge pull request #12678 from AndreaCatania/soft
Soft body
2018-07-23 16:04:32 -03: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
ec85fd554b Fix issues with CPUParticles and related conversion from Particles. Closes #20126 2018-07-23 12:28:50 -03:00
Juan Linietsky
1ad20dc2f1
Merge pull request #12403 from AndreaCatania/phymat
Physics material
2018-07-23 07:37:03 -03:00
Juan Linietsky
43dc050947 Several improvements to editor inspector usability and style 2018-07-18 19:37:41 -03:00
Juan Linietsky
d1550b4a9b Ability to disable scale in nodes, closes #19927 2018-07-18 13:48:09 -03:00
Rémi Verschelde
7c9f7452f4 Style: Format code with clang-format 6.0.1 2018-07-18 16:27:03 +02:00
Juan Linietsky
063a22851a -Added support for raycast in KinematicBody2D
-Added support for snapping in KinematicBody2D
2018-07-16 20:04:07 -03:00
Marcelo Fernandez
087329074d Improved stream paused fade code 2018-07-09 21:58:33 -03:00
Pedro J. Estébanez
ec5c96dbe1 Fix camera offsets not applied always
Specifically, project/unproject methods weren't taking them into account. Frustum computation may be affected as well.

This commit considers them for the camera matrix at all times.
2018-07-09 21:07:15 +02:00
Juan Linietsky
ea47359408 Add option to convert Particles to CPUParticles 2018-07-07 09:04:22 -03:00
Juan Linietsky
7dcaabaf19 Support for CPU based particles, which aids compatibility with OpenGL ES 2.0 2018-07-06 20:21:42 -03:00
Max Hilbrunner
ed61bdd2ae
Merge pull request #19646 from chanon/fix-audiostream-cant-set-null-stream
Fix can't set AudioStreamPlayer stream to null
2018-07-05 04:16:47 +02:00
Max Hilbrunner
6d0ade54c0
Merge pull request #19205 from marcelofg55/audio_stream_pause
Pause AudioStreamPlayer when SceneTree pauses
2018-07-03 17:23:53 +02:00
Max Hilbrunner
585a185e89
Merge pull request #19246 from xemjeff/physics
Hinge Joint Inspector - Change range for motor target velocity and params bias values
2018-07-03 16:49:10 +02:00
Andrea Catania
008e8266bb Removed two skeleton parameter from compilation width no 3d 2018-07-02 07:35:43 +02:00
Rémi Verschelde
05cc7020c0
Merge pull request #19886 from AndreaCatania/no3d
Fixes #19845 no 3d Compilation issue
2018-07-01 13:39:14 +02:00
Andrea Catania
08009c75a2 Fixes #19845 no 3d Compilation issue 2018-07-01 12:39:24 +02:00
Andrea Catania
16cf262e34 Fixes #19648 Kinematic body move_and_slide compatibility issue 2018-07-01 11:38:13 +02:00
Juan Linietsky
eeab3502d5 Changes to how node paths are selected from property, allowing setting a hint. 2018-06-27 20:50:25 -03:00
Bastiaan Olij
c11735facf Fight off some error spam in the editor 2018-06-24 11:54:08 +10:00