Commit Graph

206 Commits

Author SHA1 Message Date
1b743e8a6d Fixed comparison of integer expressions of different signedness warnings. 2022-08-11 12:28:04 +02:00
dd250bf678 Backported ImmediateMesh from Godot4. 2022-08-11 12:23:36 +02:00
49f76407ba Fix unsigned signed comparison warnings. 2022-08-10 11:34:12 +02:00
7a9fe9117a Fix build. 2022-08-10 10:17:02 +02:00
22ce231a4e Backported from Godot 4: New and improved IK system for Skeleton3D
This PR and commit adds a new IK system for 3D with the Skeleton3D node
that adds several new IK solvers, as well as additional changes and functionality
for making bone manipulation in Godot easier.
This work was sponsored by GSoC 2020 and TwistedTwigleg
Full list of changes:
* Adds a SkeletonModification3D resource
  * This resource is the base where all IK code is written and executed
* Adds a SkeletonModificationStack3D resource
  * This node oversees the execution of the modifications and acts as a bridge of sorts for the modifications to the Skeleton3D node
* Adds SkeletonModification3D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in it's own file
* Several changes to Skeletons, listed below:
  * Added local_pose_override, which acts just like global_pose_override but keeps bone-child relationships intract
    * So if you move a bone using local_pose_override, all of the bones that are children will also be moved. This is different than global_pose_override, which only affects the individual bone
  * Internally bones keep track of their children. This removes the need of a processing list, makes it possible to update just a few select bones at a time, and makes it easier to traverse down the bone chain
  * Additional functions added for converting from world transform to global poses, global poses to local poses, and all the same changes but backwards (local to global, global to world). This makes it much easier to work with bone transforms without needing to think too much about how to convert them.
  * New signal added, bone_pose_changed, that can be used to tell if a specific bone changed its transform. Needed for BoneAttachment3D
  * Added functions for getting the forward position of a bone
* BoneAttachment3D node refactored heavily
  * BoneAttachment3D node is now completely standalone in its functionality.
    * This makes the code easier and less interconnected, as well as allowing them to function properly without being direct children of Skeleton3D nodes
  * BoneAttachment3D now can be set either using the index or the bone name.
  * BoneAttachment3D nodes can now set the bone transform instead of just following it. This is disabled by default for compatibility
  * BoneAttachment3D now shows a warning when not configured correctly
* Added rotate_to_align function in Basis
* Added class reference documentation for all changes
- TwistedTwigleg
5ffed49907
Note: It still needs some work.
2022-08-10 01:01:38 +02:00
6d293dc7a3 Removed Transform type track from the Animation. This leaves a few things, like the skeleton editor broken, it will be fixed soon. 2022-08-09 17:40:42 +02:00
3a8ffc6df3 Added missing cases to switch. 2022-08-09 12:26:47 +02:00
8fd473f685 Backported: "Remove animation 3D transform track, replace by loc/rot/scale tracks" from Godot4.
ec19ed3723
Its a bit broken right now, more patches need to be ported. Also I kept the Transform track for now, and I did not touch the gltf module yet.
2022-08-08 23:49:18 +02:00
7301c3f43c Backported ImporterMesh and ImporterMeshInstance3D from Godot4. 2022-08-07 22:44:42 +02:00
bb5acfd745 Ported: [3.5] Update NavigationServer backport
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
- smix8
8bd7c6188b
2022-07-28 22:34:28 +02:00
a1a7c32f68 Ported: Backport default World navigation maps.
Backports default navigation maps created with each World or World2D.
- smix8
96d98d8c4e
2022-07-28 15:04:42 +02:00
lawnjelly
48c1a1ae34 VisibilityNotifier - add max_distance feature
Enables turning off objects by distance to the camera in addition to testing whether they are in the view frustum.
2022-07-28 14:59:45 +02:00
da8155f59b Ported: Remove slash delimiter from NavigationMesh properties - smix8
e629622598
2022-07-28 14:52:42 +02:00
Michael Alexsander
2ebc4905fc Fix hover being drawn twice inside PopupMenus 2022-07-28 13:42:35 +02:00
FireForge
73d95ac5e9 Fix get_data() for GradientTexture2D 2022-07-28 11:53:23 +02:00
bruvzg
3ef4f9128b Fix Label3D oversampling. 2022-07-28 11:46:40 +02:00
Hugo Locurcio
c6fa9ce87d Tweak TextMesh decomposition error message to mention self-intersecting lines 2022-07-28 10:37:18 +02:00
bruvzg
396899d91b Fix material shader key for SDF fonts. 2022-07-28 00:02:44 +02:00
d161a30a4b Ported: Backport TextMesh and expose dynamic font vector outlines - bruvzg
d502bd4847
2022-07-28 00:01:20 +02:00
f5dc24f4d5 Fix typo. 2022-07-27 23:45:42 +02:00
7fd0b29642 Ported: Backport Label3D node implementation and Sprite*3D material render priority. - bruvzg
dc6d8d6098
2022-07-27 23:40:35 +02:00
Hugo Locurcio
8f1ac63f60 Tweak the disabled files text color in FileDialog for readability
Contrast rate is still fairly low, but the text needs to be easy enough
to distinguish from non-disabled items.

(cherry picked from commit 8962d2760d05a2027d65d104bf3763edb828c52a)
2022-07-27 23:12:42 +02:00
smix8
29234d3ac3 Remove arbitrary NavigationMesh bake property limits
Lowers or removes the slider limits and steps from NavigationMesh resources and changes some default values to better work with realistic unit sizes by default.

(cherry picked from commit cda93057f73ad937deacb8200cf27f4996ed8918)
2022-07-27 23:08:58 +02:00
smix8
ced2f890b6 Add wrong surface warnings to NavigationMesh.create_from_mesh()
Adds warnings when at least one of the input mesh surfaces is of wrong primitive type or has an empty vertex / index array as those broken input meshes would fail as both navmesh as well as later when creating debug meshes.

(cherry picked from commit 4185fce0eff4c0fc40f077120d0ed26220e6c995)
2022-07-27 19:55:18 +02:00
FireForge
04b2405843 Fix Theme type group naming in the inspector
(cherry picked from commit 197be78bc558aa90413bd0420c24736a989e5f0e)
2022-07-27 19:10:49 +02:00
smix8
63a51b546e Clamp NavigationMesh sample_distance above zero
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.

This limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.

(cherry picked from commit e33fa9d8331f38c8c404b9d6ea286eacb503d3bb)
2022-07-27 19:05:26 +02:00
24eccc4281 Ported: Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
- akien-mga
5e693b6d84
2022-07-27 18:39:35 +02:00
kobewi
b6fc4de92f Rescue orphan nodes in inherited scenes
(cherry picked from commit 2b53826ee6872d48acafb9ece1b9027467d2611d)
2022-07-27 18:29:21 +02:00
FireForge
71d20ea670 Add interpolation modes to Gradient - Linear, Constant, and Cubic interpolation modes - Partial backport of #53321 2022-07-27 18:12:14 +02:00
Michael Alexsander
9af14c8d90 Add font_separator to PopupMenu 2022-07-27 15:21:19 +02:00
Haoyu Qiu
d9d2b3a7e3 Fix mismatched font outline size hint 2022-07-27 15:18:57 +02:00
kobewi
b7907d951c Fix tscn not listed as Resource extension
(cherry picked from commit e3511dd9d7637488368fbf82b53a029fa70fce5e)
2022-07-27 14:30:26 +02:00
Hugo Locurcio
724566309b Print warning in SpatialMaterial when depth and triplanar are active
Using both depth mapping and triplanar mapping isn't supported.
2022-07-27 14:09:11 +02:00
Hugo Locurcio
de8e9fc231 Add a Skew property to StyleBoxFlat
This makes it possible to create more aesthetically pleasing
styleboxes for GUI theming, especially in games that have
a futuristic appearance (where skewed buttons and progress bars
are common).
2022-07-27 13:07:30 +02:00
Haoyu Qiu
84ee52250c Validate theme type/item names 2022-07-27 00:46:56 +02:00
d1108dc8bc Ported: Implement Scene Unique Nodes - KoBeWi
e1c74ae83f
2022-07-27 00:45:48 +02:00
9d9a394af6 Ported: Add an explicit way to remove a theme type. - timothyqiu and YuriSizov
f6251724af
2022-07-25 23:46:08 +02:00
35eabcb846 Ported: Fix navmesh baking, fixes #57148
- improved mesh data calculation from standalone static colliders so that no
  VisualServer calls are performed - and thus no VS mutexes need to
  be locked in case of on-thread baking
- improved the same for GridMap's static colliders
- Scony
3035b9c44c
2022-07-25 22:57:51 +02:00
Hugo Locurcio
08f0acd056 Hide Tonemap White property when tonemapper is Linear in Environment
The whitepoint property isn't used when the tonemapper is Linear.
2022-07-25 18:20:45 +02:00
Pawel Lampe
eb8cf74074 Fix debug navmesh errors, fixes #59845 2022-07-25 18:11:28 +02:00
Rémi Verschelde
9197fd8d1e Improve range property hints for various collision shapes
Fixes #36419.

Co-authored-by: Andrii Doroshenko (Xrayez) <xrayez@gmail.com>
(cherry picked from commit 0d772c6e6ecf210fa5b38df790b448cb80d4eb8c)
2022-07-25 17:48:29 +02:00
Rémi Verschelde
92561386ec ResourceImporterWAV: Allow configuring loop mode on import
The new `edit/loop_mode` import options lets user choose to either:
- Detect loop points from the WAV (default, same behavior as before)
- Set the loop mode and loop points manually like in AudioStreamSample

Fixes #46164.

(cherry picked from commit b389ce5ccd664c993772a0b71ba99a875106b523)
2022-07-25 17:42:23 +02:00
32f148ac0c Mass replaced godot to pandemonium. 2022-03-23 20:46:05 +01:00
c9b612f012 Added StringName as a variant type, with eventually the help of 3c0059650d . 2022-03-21 21:29:06 +01:00
4d7df62b8e Clang format all files. 2022-03-18 19:00:13 +01:00
f8e54698e4 Include cleanups for resources. 2022-03-18 18:48:49 +01:00
8fbdcd18f9 Same change to classes under scene. 2022-03-17 22:57:56 +01:00
3965d70ac5 Moved more includes to cpp files. 2022-03-17 19:35:23 +01:00
2c88c46101 Moved more includes to cpp files. 2022-03-17 11:28:57 +01:00
938f72432e Removed the camera server. 2022-03-16 02:16:15 +01:00
50af60ded6 Removed TileMap, and TileSet. 2022-03-16 01:54:27 +01:00
aaf91df4c1 Also removed the MeshLibrary. 2022-03-16 01:30:44 +01:00
84bd8ad20a Removed VisualShaders. 2022-03-16 00:55:47 +01:00
07a0ed2c42 Removed the xatlas_unwrap module. 2022-03-15 20:25:05 +01:00
6fac6ba7f7 Removed lightmap captures, and also cleaned up almost all lightmap stuff. 2022-03-15 19:57:34 +01:00
49f8e8c398 Added godot with all my currently used engine modules. 2022-03-15 13:29:32 +01:00