Commit Graph

294 Commits

Author SHA1 Message Date
4025ab2824 Fix build when 3d is off. 2022-09-02 20:56:04 +02:00
b72cc00ee1 Small fixes to the World override system. Still needs work though. 2022-08-30 19:22:22 +02:00
9bdb8b6bce Now only one override is allowed per World, as there is really no reason to have support for more than one per world pair. This fixes lots of issues with the system. 2022-08-30 15:47:22 +02:00
ae0316ff59 Fix more issues with World overrides. 2022-08-30 14:31:23 +02:00
66f2357d01 Now Cameras use Worlds directly instead of Viewports. 2022-08-30 14:08:27 +02:00
786e20b159 Work on fixing the remaining issues / error messages with World overrides. 2022-08-30 12:28:05 +02:00
338cc9c93d Don't apply World override in the editor. 2022-08-30 01:48:19 +02:00
9b3714a274 Now CanvasItems work with World overrides aswell. 2022-08-30 01:40:03 +02:00
dd2fa3e6e3 Move Cameras into the new 3d world on override. 2022-08-30 00:06:56 +02:00
4303dfb5c0 More work on World override support. 2022-08-29 22:55:48 +02:00
49af677ca8 Work on the ability for overriding Worlds. 2022-08-29 20:56:17 +02:00
00c25ed930 Bit more reorder. 2022-08-29 19:51:17 +02:00
3894452760 Reordered World. 2022-08-29 19:48:01 +02:00
68b21dc61f Move World2D and World3D related things to World from Viewport. 2022-08-29 19:40:17 +02:00
f44f9f5c13 Reordered Viewport. 2022-08-29 18:47:49 +02:00
aba4e9db3c Added a new World class and made Viewport inherit from it. 2022-08-29 18:40:38 +02:00
b886d14cf5 Added _3d postfix to the end of the World3D related getters and setters in Viewport. 2022-08-29 17:54:41 +02:00
24a1580dbf Renamed the files aswell. 2022-08-29 17:33:10 +02:00
e4ae7f2ebc Renamed Environment to Environment3D, and WorldEnvironment to WorldEnvironment3D. 2022-08-29 17:21:40 +02:00
2aee6ab0bb Renamed World to World3D. 2022-08-29 16:49:00 +02:00
ad72b82a89 Fix an another include. 2022-08-28 17:02:41 +02:00
e558e0f700 Fix build when the new skeleton 3d module is disabled. 2022-08-28 16:01:50 +02:00
dc28777321 Moved Skeleton and it's related classes to a module. 2022-08-28 15:46:12 +02:00
b9f3d3b26a Moved Skeleton2D and it's related classes into a module. 2022-08-28 13:57:25 +02:00
a1865fd1af Now Camera2Ds handle being current properly, and also more intuituvely. 2022-08-24 18:11:10 +02:00
a21352637e Fix infinite loop when reparenting bones in the bone editor. Also fixed issues with bones sometimes returning incorrect children. 2022-08-19 23:46:14 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
58da70524b Ported: Add support for multiple virtual keyboard types - brianwinterpixel
ce24b48e50
2022-08-19 16:18:53 +02:00
0438da9841 Ported: [3.x] Add ShapeCast and ShapeCast2D nodes - PrecisionRender
47a62e28ac
2022-08-19 03:12:32 +02:00
1b503ad711 Revert "Fix mouse_over not dropped when mouse leaves window"
This reverts commit 33a2d5e20b.
2022-08-19 02:48:36 +02:00
45c65911b5 Ported: Allow negative scale in Particles and CPUParticles
This can be used to make 2D particles look more 3D-y with thoughtful use
of scale curve animation.
- Calinou
c4a3560884
2022-08-19 02:42:33 +02:00
Marcel Admiraal
33a2d5e20b Fix mouse_over not dropped when mouse leaves window 2022-08-19 02:20:03 +02:00
kleonc
859a38b56e Make Mesh::generate_triangle_mesh() handle PRIMITIVE_TRIANGLE_STRIP and PRIMITIVE_TRIANGLE_FAN 2022-08-19 02:19:37 +02:00
Hugo Locurcio
c751d9dc17 Add an use_hdr property to GradientTexture to allow storing HDR colors
This is disabled by default to save some memory and preserve the existing
behavior of clamping colors.
2022-08-19 02:18:16 +02:00
Hugo Locurcio
089135783e Hide triplanar sharpness when triplanar is disabled in SpatialMaterial
The Triplanar Sharpness property has no effect when Triplanar
is disabled.
2022-08-19 02:17:26 +02:00
685f3cb495 Ported: remove redundant check preventing checkbox theme style to apply hover_pressed. - Piralein
36ff8962cc
2022-08-19 02:17:05 +02:00
Hugo Locurcio
1ce49593aa Use interleaved gradient noise for distance fade
This provides better visuals and performance compared to the previous
ordered dither.
2022-08-19 02:14:27 +02:00
9d0c889583 Added a few small networking related helper methods to Node. Made the rpc macros in Entity use them. 2022-08-19 00:36:24 +02:00
1dc5d84196 Moved visibility rpcs (vrpc) from Entity to Node. Also added an unreliable variant. 2022-08-19 00:04:38 +02:00
44948a6f7a Removed rsets. 2022-08-18 23:04:57 +02:00
521934ff55 Ported from Godot4: New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.
This work was sponsored by GSoC 2020 and TwistedTwigleg.
Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
- TwistedTwigleg
8aa3c2f091
2022-08-18 18:47:30 +02:00
6be9bf5dfe Cleaned up and added the skeleton modification stack implementations to the build. Also smaller fixes. 2022-08-18 15:41:28 +02:00
4c4e19223e Added _theme_ infix to the theme helper methods in Control. 2022-08-17 20:57:16 +02:00
9757c39f05 Moved a few more core classes. 2022-08-17 17:43:49 +02:00
99e94b08c4 Moved base input related classes to core/input. 2022-08-17 17:02:24 +02:00
686663d3e4 Moved around more classes in core. 2022-08-17 16:01:01 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
220b2db443 Moved String and related classes under a string folder in core. 2022-08-17 14:19:55 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00