Commit Graph

10518 Commits

Author SHA1 Message Date
hoontee 21b9b117be Add `TorusMesh` 2022-08-04 13:45:54 -05:00
Rémi Verschelde 49ac05550e
Merge pull request #63838 from tefusion/fix-arrange-nodes-freeze
Fix GraphEdit::arange_nodes causing a freeze when cycle in Graph
2022-08-04 19:36:22 +02:00
iwek efcdfc2332 Fix issue with overlaping text label text 2022-08-04 19:19:33 +02:00
Rémi Verschelde e9f8b2d190
Merge pull request #58536 from winterpixelgames/feature/virtual-keyboard-types
Add support for multiple virtual keyboard types
2022-08-04 19:11:40 +02:00
Rémi Verschelde 84acfd69d7
Merge pull request #54792 from EIRTeam/independent_arrows 2022-08-04 18:09:29 +02:00
tefusion f1c19e058c Fix GraphEdit::arange_nodes causing a freeze
When a Graph contains cycles, e.g. 1->2->3->1 _layering would end
up in an infinite loop since IS_SUBSET would never be true.
By keeping check of the size of z, which contains the already layered
nodes, one can detect a freeze (since it should change after
current_layer increases. If it doesn't "u" didn't change and q and u
will  never be equal resulting  in a freeze/infinite while loop).
If a freeze happens warn the user and put all the nodes part of the
cycle (leftover in p) to the  first layer which will end up in them
being listed top to bottom.
2022-08-04 17:13:56 +02:00
Brian Semrau 103c0fa6e6 Add support for multiple virtual keyboard types 2022-08-04 10:41:33 -04:00
Jóhannes Gunnar Þorsteinsson ba35cff303 Independent spinbox arrow step precision
Rebased by EIREXE

This work has been kindly sponsored by IMVU & EIRTeam.
2022-08-04 14:48:46 +02:00
Rémi Verschelde 40eafcfab4
Merge pull request #49947 from Calinou/standardmaterial3d-tweak-default-height-properties 2022-08-04 11:31:32 +02:00
Hugo Locurcio c6cca43419
Tweak StandardMaterial3D's default height properties
- Set the default height scale to 5.0 and multiply it by 0.01 in the shader.
- Document heightmap properties in BaseMaterial3D class reference.
2022-08-04 09:57:55 +02:00
Rémi Verschelde cf46ef42a9
Merge pull request #62230 from Calinou/sdfgi-cell-size-remove-linked-properties
Don't store the values of linked SDFGI properties in Environment
2022-08-04 09:22:04 +02:00
Rémi Verschelde 79ff8e8ea1
Merge pull request #63890 from Calinou/camera3d-size-allow-precise-adjustments
Allow more precise adjustments of orthogonal/frustum size in Camera3D
2022-08-04 07:38:05 +02:00
Rindbee 7869ea236e Fix Hue slider incorrectly rotated 90 degrees in ColorPicker 2022-08-04 11:30:03 +08:00
Hugo Locurcio 1f6e081db7
Don't store the values of linked SDFGI properties in Environment 2022-08-04 02:24:28 +02:00
Hugo Locurcio e1ae87cf3d
Allow more precise adjustments of orthogonal/frustum size in Camera3D 2022-08-03 23:51:08 +02:00
Rémi Verschelde 3ea9a7daea
Merge pull request #63791 from V-Sekai/mend-ok-hsl-washout 2022-08-03 16:06:53 +02:00
Rémi Verschelde e38118c960
Merge pull request #59303 from KoBeWi/check_out_my_very_long_button 2022-08-03 15:06:54 +02:00
Rémi Verschelde 4ac993ffe2
Merge pull request #63348 from Rindbee/fix-toggling-after-scrolling-causes-blank 2022-08-03 14:42:19 +02:00
Rémi Verschelde 2c0c76c415
Merge pull request #61851 from Calinou/particles-default-global-coordinates 2022-08-03 11:38:23 +02:00
Rémi Verschelde 6678921914
Merge pull request #63820 from nathanfranke/templates-in-header 2022-08-03 11:37:08 +02:00
Rémi Verschelde 80ddee06e6
Merge pull request #56451 from Calinou/rootmotionview-no-replace-with-node
Don't replace RootMotionView with Node in a running project
2022-08-03 08:03:09 +02:00
Hugo Locurcio 813bfe00f3
Don't replace RootMotionView with Node in a running project
This behavior was inconsistent with other editor-only nodes such as
Position3D, Position2D and ReferenceRect. It also caused issues when
a script extended RootMotionView as it ceased to work when the project
was run.
2022-08-03 02:48:02 +02:00
Nathan Franke c3c5985189
move rpc and rpc_id implementations back to header
StackOverflow on why this is needed: https://stackoverflow.com/questions/495021/why-can-templates-only-be-implemented-in-the-header-file
Minor mistake in commit ca7d572908
2022-08-02 18:35:29 -05:00
FireForge de3a62e5ec Add space to ParticlesMaterial "Particle Flags" group name
- "ParticleFlags" -> "Particle Flags"
2022-08-02 17:51:24 -05:00
FireForge fe2f62f128 Adjust 2 default theme colors in ItemList and Tree
- Change Tree's drop_position_color from orange to white.
- Change ItemList's guide_color to the same color as Tree's, which fits in with a dark theme better.
2022-08-02 17:48:11 -05:00
kobewi 24d02dfb47 Add fit_to_longest_item to OptionButton 2022-08-02 23:37:43 +02:00
Hugo Locurcio 84076513b1
Use global coordinates for particles by default
Particles won't move or rotate anymore with the node (or its parents)
by default. This new default behavior is generally more suited
to most use cases. Local coordinates can still be enabled on a per-node basis.

This affects both 2D and 3D particles, and both CPU and GPU-based particles.
2022-08-02 23:25:02 +02:00
Rémi Verschelde 515552860b
Merge pull request #63597 from paddy-exe/spatial-shader-built-ins
Add often used built-ins (camera-pos, object-pos, camera-eye etc.) to spatial shaders
2022-08-02 19:20:19 +02:00
Rémi Verschelde 1839cae8a0
Merge pull request #63827 from fire-forge/particles
Rename `ParticlesMaterial.turbulence_active` to `turbulence_enabled`
2022-08-02 18:16:51 +02:00
Patrick Exner fe5901310e Add spatial built-ins (camera-pos, object-pos, camera-eye etc.) 2022-08-02 17:30:41 +02:00
FireForge 9db973a473 Rename ParticlesMaterial.turbulence_active to turbulence_enabled 2022-08-02 08:41:14 -05:00
kobewi 9a2758e374 Fix GraphNode slot list 2022-08-02 15:39:56 +02:00
Raffaele Picca fe2cc6150e Added default values to particle turbulence. 2022-08-02 10:16:09 +02:00
Rémi Verschelde 8cce479c01
Merge pull request #51672 from Calinou/shader-add-hint-transparent-texture
Add `hint_transparent` to use a transparent black placeholder texture
2022-08-02 07:15:59 +02:00
Hugo Locurcio 813f6a5d57
Add `hint_transparent` to use a transparent black placeholder texture
This can be used in shaders to avoid the need to supply a transparent
placeholder texture manually.
2022-08-01 23:38:06 +02:00
Johan Aires Rastén 26ebea7286 Fix ColorPicker color and hsv sync issue
ColorPicker has both a Color and HSV values for the currently selected
color, fixed a few cases where those were not kept in sync.

Refactored a little regarding this, and removed a redundant update.

Solves #63777
2022-08-01 23:05:44 +02:00
K. S. Ernest (iFire) Lee 8b64e331c3 Mend the non-matching okhsl colors.
Closer match.
2022-08-01 13:20:11 -07:00
Hugo Locurcio 6059a9b624
Improve easing inspector usability
- Add `positive_only` property hint to disallow using negative presets.
  These values are clamped in several places in the editor already,
  so this avoids displaying presets that don't work.
- Move the Zero preset at the end of the positive list to match
  the custom property editor. It's also used less often than Linear,
  Ease In and Ease Out.
- Rename presets to be consistent between the easing property editor
  and custom property editor.
- Remove unused `inout` hint which was redundant since it was already
  the default.
2022-08-01 18:40:04 +02:00
bruvzg ac801494a3
Change LabelSettings default values to match default theme. 2022-08-01 13:33:06 +03:00
Rémi Verschelde beb8fd5e8b
Merge pull request #55387 from RPicster/particles-turbulence 2022-08-01 09:38:54 +02:00
Rémi Verschelde de53e91b85
Merge pull request #55276 from Calinou/volumetric-fog-tweak-default-gi-inject
Tweak default fog settings for better appearance
2022-08-01 07:55:53 +02:00
Rémi Verschelde 633710f1c9
Merge pull request #54028 from Calinou/material-default-alpha-scissor-threshold-0.5
Change default material alpha scissor threshold to 0.5
2022-08-01 07:55:26 +02:00
Hugo Locurcio e35e79b802
Tweak default fog settings for better appearance
- Increase the default non-volumetric fog density to 0.01 to make
  adjustments more visible.
- Use a less saturated non-volumetric fog color by default
  (a mix of the sky and horizon colors of the new default
  ProceduralSkyMaterial).
- Set Volumetric Fog Gi Inject to 1.0 by default. Injecting GI results
  in more realistic appearance of volumetric fog, at a very low
  performance cost.
2022-08-01 02:04:20 +02:00
Hugo Locurcio fa019f6e14
Change default material alpha scissor threshold to 0.5
This makes the default behavior consistent between SpriteBase3D,
BaseMaterial3D and imported glTF scene materials.

Alpha scissor threshold property hints now allows for more precise
adjustments as well.
2022-08-01 02:00:16 +02:00
Rémi Verschelde 6d599ed90b
Merge pull request #63746 from guilhermefelipecgs/fix_state_machine_rename 2022-08-01 00:56:29 +02:00
FireForge 7cfa9ae539 Improve ShapeCast2D editor and debug drawing
- Rename RayCast2DEditorPlugin to Cast2DEditorPlugin and make it also support editing ShapeCast2D.
- Apply RayCast2D debug drawing improvements from #46675 to ShapeCast2D.
2022-07-31 17:47:36 -05:00
Rémi Verschelde 790b63b27c
Merge pull request #51128 from HaSa1002/add-graphedit-is-ok-method-4 2022-07-31 23:55:19 +02:00
Rémi Verschelde e8d9191ff0
Merge pull request #56087 from zaevi/return_key_index 2022-07-31 23:53:19 +02:00
Guilherme Felipe de C. G. da Silva 0ad580a740 Fix AnimationNodeStateMachine::rename_node 2022-07-31 18:47:19 -03:00
Hugo Locurcio a0795b4347
Tweak VoxelGI defaults for better quality
Overall brightness is similar to the previous settings, but lighting
now fades off more naturally and reflections feature indirect lighting.
Performance is identical.

- Enable Use Two Bounces by default.
- Decrease Propagation to 0.5 to compensate for the second bounce.
2022-07-31 18:05:24 +02:00
Zae 2febf0ccdb Make `Animation::track_insert_key` return key index 2022-07-31 17:38:49 +02:00
Johannes Witt 2fb69afde6
Add GraphEdit.is_node_hover_valid(...) method
This is a virtual method that can be used to add additional error
condition checks while the connection is still being dragged. If true is
returned, the connection is valid. If false is returned, the connection
is invalid and thus not possible (ie. it will not snap). The virtual
method is exposed with an underscore to scripts.
2022-07-31 15:35:26 +02:00
Marcus Elg f629438a8b Add meter suffix to ShapeCast3D margin property 2022-07-31 12:36:15 +02:00
Rindbee a7eecc61ad Fix toggling after scrolling resulted in blank space
Previously, the data used by `update_scrollbars()` and `_update_dimensions()` in their calculations depended on each other, which caused some problems.

Now, the calculation of `child_max_size` is put into `get_minimum_size()`, as the containers call `update_minimum_size()` before calling `queue_sort()`.

Make the semantics of variable/function names more clear.

Co-authored-by:  Aaron Record <aaronjrecord@gmail.com>
2022-07-31 09:32:20 +08:00
Rémi Verschelde 73f5742f94
Merge pull request #50539 from Calinou/material-hide-triplanar-subproperties-when-disabled
Hide triplanar subproperties when triplanar is disabled in BaseMaterial3D
2022-07-31 00:04:37 +02:00
Ricardo Buring 54a9dcfa40 Don't move nonexistent debug shapes 2022-07-30 22:21:23 +02:00
Hugo Locurcio 1dfd94c63f
Hide triplanar subproperties when triplanar is disabled in BaseMaterial3D
This also renames some sections for consistency.
2022-07-30 21:41:26 +02:00
PrecisionRender 2f46749f4e Fix `ShapeCast3D` creating runtime shape in editor 2022-07-30 10:21:53 -05:00
Rémi Verschelde 15a02c49be
Merge pull request #61647 from KoBeWi/SaverResource 2022-07-29 22:30:51 +02:00
kobewi c3606cb5f3 Swap arguments of ResourceSaver.save() 2022-07-29 19:53:09 +02:00
Rémi Verschelde 6ba7dacf6b
Merge pull request #63415 from ajreckof/expose_tilemap_custom_data_methods
Expose TileMap methods related to the name of custom data layers
2022-07-29 19:43:55 +02:00
Rémi Verschelde 7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Juan Linietsky d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
ajreckof 8433ad5353 expose TileMap methods related to the name of custom data layers 2022-07-29 15:05:42 +02:00
Rémi Verschelde 8b454f8b41
Merge pull request #62601 from smix8/navigation_3d_debug_4.x 2022-07-29 12:29:32 +02:00
smix8 c394ea518e Add more detailed Navigation Debug Visualization
- Adds more customization options to ProjectSettings.
- Displays navregion edge connections and navigation polygon edges in editor and at runtime.
- Majority of debug code moved from SceneTree to NavigationServer.
- Removes the irritating debug MeshInstance child node from NavigationRegion3D and replaces it with direct RenderingServer API.
2022-07-29 09:58:41 +02:00
Rémi Verschelde 7c93373008
Merge pull request #63161 from PrecisionRender/master
Add `ShapeCast3D` node
2022-07-29 08:07:13 +02:00
Rémi Verschelde ad280f44e3
Merge pull request #62164 from DeeJayLSP/oggrammar
Rename every instance of "OGG" to "Ogg"
2022-07-29 08:04:59 +02:00
Rémi Verschelde 485d1a50ad
Merge pull request #63574 from Rindbee/fix-color-not-update 2022-07-28 22:19:37 +02:00
DeeJayLSP c8f3b02fcf Rename every instance of "OGG" to "Ogg" 2022-07-28 16:41:38 -03:00
Rémi Verschelde 14d021287b
Merge pull request #63049 from Faless/mp/4.x_as_module 2022-07-28 20:46:31 +02:00
Rémi Verschelde 8e0f328a80
Merge pull request #59840 from Calinou/renderingserver-global-uniform-rename 2022-07-28 20:34:17 +02:00
Rémi Verschelde 1c820f19b1
Merge pull request #60957 from DeeJayLSP/sample_pcm 2022-07-28 19:51:08 +02:00
PrecisionRender 8cbb9b8b0a Add ShapeCast3D node 2022-07-28 12:08:42 -05:00
Rémi Verschelde 80ceab277b
Merge pull request #61953 from Calinou/mipmap-bias-allow-without-fsr 2022-07-28 18:58:12 +02:00
DeeJayLSP 4889659227 Rename AudioStreamSample to a more discoverable name 2022-07-28 13:53:36 -03:00
Hugo Locurcio 4b42379c8f
Rename RenderingServer global shader uniform methods to be more explicit
The `global_shader_uniform` name is longer, but it makes it much
easier to find the methods when searching in the class reference.
2022-07-28 18:46:59 +02:00
Hugo Locurcio e24029edc3
Allow changing mipmap LOD bias when FSR 1.0 scaling is not used
Mipmap LOD bias can be useful to improve the appearance of distant
textures without increasing anisotropic filtering (or in situations
where anisotropic filtering is not effective).

`fsr_mipmap_bias` was renamed to `texture_mipmap_bias` accordingly.
The property hint now allows for greater precision as well.
2022-07-28 17:51:13 +02:00
Marcel Admiraal e61dc6bb04 Ensure changes to Camera2D's limits don't affect smoothed_camera_pos 2022-07-28 15:32:45 +01:00
Marcel Admiraal 3f83c3a0ac When Camera2D enters tree, ensure first update is not lost 2022-07-28 15:29:38 +01:00
Rindbee d0df11762b Fix Color Picker value box not continuously updating 2022-07-28 19:08:53 +08:00
Raffaele Picca 9137ba7926 Turbulence Noise for Particle Material 2022-07-28 11:04:40 +02:00
Rémi Verschelde a5f12f9c21
Merge pull request #63532 from TokageItLab/rename-cubic-slerp 2022-07-28 10:39:33 +02:00
Rémi Verschelde 199ea349f5
Merge pull request #57698 from bluenote10/feature/rename_translated_to_translated_local 2022-07-28 10:03:07 +02:00
Rémi Verschelde 9a81b129f6
Merge pull request #63248 from Rindbee/reselect-the-timing-of-first_draw 2022-07-28 09:23:47 +02:00
Rémi Verschelde 422725cffc
Merge pull request #56597 from V-Sekai/material_drag_and_drop
Add drag-and-drop support for materials in 3D Instances
2022-07-28 09:22:38 +02:00
Rindbee fc17d3563d Remove `first_draw` and reset visibility when entering tree 2022-07-28 12:35:47 +08:00
Hugo Locurcio aaeb60eafc
Add a Movie Quit On Finish property to AnimationPlayer
This quits the project when an animation is done playing in the
given AnimationPlayer, but only in Movie Maker mode.
When this happens, a message is printed with the absolute path of the
AnimationPlayer node that caused the engine to quit.

This can be used to create videos that stop at a specified time
without having to write any script.

A report is now also printed to the console when the video is done
recording (as long as the engine was exited properly).
This report is unfortunately not always visible in the editor's
Output panel, as it's printed too late.

A method was also added to get the path to the output file from the
scripting API.
2022-07-27 18:50:28 +02:00
Rémi Verschelde ed61fb2a8b
Merge pull request #63138 from TokageItLab/normalize-position-track
Add position track normalization to importer retarget
2022-07-27 16:49:18 +02:00
Silc Renew 4211e68d80 rename and unify notation for spherical interpolation 2022-07-27 23:22:50 +09:00
Rémi Verschelde cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support 2022-07-27 13:38:30 +02:00
Rémi Verschelde 950750fb98
Merge pull request #63355 from YeldhamDev/directional_tooltip 2022-07-27 12:37:03 +02:00
Rémi Verschelde dd664f20fb
Merge pull request #63440 from YuriSizov/joints-six-degrees-of-order 2022-07-27 11:42:57 +02:00
Rémi Verschelde d04c154585
Merge pull request #63318 from YuriSizov/control-code-reorg 2022-07-27 10:47:12 +02:00
Rémi Verschelde cade90a807
Merge pull request #58296 from Calinou/decal-distance-fade-tweak-defaults 2022-07-27 09:44:47 +02:00
Yuri Rubinsky 2f43398182 Add a check to prevent duplicating connections in visual shader 2022-07-27 08:06:34 +03:00
Hugo Locurcio a151a74a98
Tweak Decal distance fade defaults and add property hints
The new default values are more usable in real world scenarios
when smooth fading of distant decals is desired for performance reasons.

The Decal distance fade property hints were adjusted based on the
GeometryInstance3D visibility range fade property hints. `or_greater`
was also added to allow specifying larger values if needed.
2022-07-27 03:15:46 +02:00
Yuri Sizov 6ca95003a9 Reorganize code of control.cpp for better maintainability 2022-07-26 23:03:49 +03:00
RedMser 7b834c8bfd Fix unnamed arguments in XML docs 2022-07-26 20:42:38 +02:00
Rémi Verschelde 222e489dfd
Merge pull request #63496 from groud/fix_tile_set_not_saving
Fix TileSet not loading correctly when embedded in a scene
2022-07-26 18:27:05 +02:00