Commit Graph

1002 Commits

Author SHA1 Message Date
smix8 35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
Rémi Verschelde 04e16a27cf
Merge pull request #88821 from lyuma/preserve_initial_pose
Allow preserving the initial bone pose in rest fixer
2024-02-27 10:18:04 +01:00
Rémi Verschelde 3780604d79
Merge pull request #88819 from lyuma/import_nodes_as_skeleton_bones
Add new scene import option to import as Skeleton
2024-02-27 10:18:00 +01:00
Rémi Verschelde 8f98ed65f7
Merge pull request #88738 from clayjohn/mesh_compression-tangents
Multiple fixes for compressed meshes
2024-02-27 10:17:43 +01:00
Muller-Castro 1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
Lyuma 6a6bd2307c Add rest fixer toggle to disable bone pose reset
Adds a "Reset All Bone Poses After Import" option to the Skeleton3D Rest Fixer settings.
Default value of true resets the bone poses to rest (usually a t-pose), matching previous behavior.
If disabled, keeps the bones posed as they would have been before silhouette adjustment.
2024-02-26 03:24:01 -08:00
Aaron Franke c399424db9
Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06:00
Lyuma 652ef966f9 Add new scene import option to import as Skeleton
Adds a bool import option `nodes/import_as_skeleton_bones`.
This is supported in all FBX or GLTF document based formats.
It is especially useful for retargeting and importing animations.
2024-02-26 03:06:07 -08:00
clayjohn 781cd27fe4 Avoid singularity when generated tangents and validate that tangents are good enough when using compression 2024-02-23 16:25:26 -08:00
K. S. Ernest (iFire) Lee 04d43947bf
Add ufbx for FBX importing
This update introduces a new import method for FBX files using ufbx. If the fbx2gltf import fails, it will use the most recently cached scene from the ufbx import. The process is sped up by introducing threads to load the ufbx portion.

Key changes include:

- Support for importing geometry helper nodes in FBX files.
- Addition of cameras and lights with updated names.
- Removal of the fbx importer manager.
- Introduction of ModelDocument3D and updates to its methods.
- Changes to FBX import options and visibility.
- Updating the documentation and handling some errors.
- Store the original non-unique node, mesh and animation names in FBX and glTF.

Co-Authored-By: bqqbarbhg <bqqbarbhg@gmail.com>
2024-02-23 22:33:04 +01:00
Rémi Verschelde c187d6522b
Merge pull request #84569 from jsjtxietian/Add-ignorable-columns-to-translation-CSVs
Add support for comment (ignorable) column in translation csv
2024-02-20 11:12:03 +01:00
Rémi Verschelde 3252995b41
Merge pull request #88088 from bruvzg/img_font_more
[Font] Allow overriding advances, offsets and kerning in the ImageFont import settings.
2024-02-13 23:43:29 +01:00
bruvzg 42ec133dbe
[Font] Allow overriding advances, offsets and kerning in the ImageFont import settings. Fix bitmap font kerning override. 2024-02-13 18:49:47 +02:00
Rémi Verschelde e53e60e0fe
Merge pull request #83856 from BlueCube3310/animation-import-crash
Fix Scene Importer crashing when animation or mesh save paths are invalid
2024-02-13 17:23:03 +01:00
A Thousand Ships 8b3c12d8df
Allow configuring the maximum width for atlas import 2024-02-13 10:30:44 +01:00
A Thousand Ships 684752e75b
Replace error checks against `size` with `is_empty` 2024-02-09 12:50:15 +01:00
Malcolm Nixon 39e28da040 Optimize when colliders are regenerated for imported meshes to prevent unnecessary recalcuation. 2024-02-06 22:08:41 -05:00
Aaron Franke d1de00a2c8
Fix crash when previewing a scene with a mesh as the root node 2024-01-31 06:26:24 -06:00
Yuri Sizov 45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
BlueCube3310 cd87916d98 Fix Scene Importer crashing when mesh or animation save paths are invalid 2024-01-16 17:42:11 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
风青山 f932c6548e Set an appropriate minimum size for labels in windows that display incorrectly
When the label's `autowrap_mode` is `AUTOWRAP_WORD_SMART` and the initial `text`
is set at the same time, it may have a higher height.

Set an appropriate minimum size for labels in windows that display incorrectly
so that these controls display properly.
2024-01-12 23:08:38 +08:00
Rémi Verschelde cab27498bd
Merge pull request #86957 from RandomShaper/mt_mends
A couple of enhancements to user-visible threading semantics
2024-01-11 17:40:37 +01:00
Pedro J. Estébanez acac31ba5c Allow EditorImportPlugin to override can_import_threaded() 2024-01-09 17:30:24 +01:00
K. S. Ernest (iFire) Lee 1430f0b67d Add obj importer changes to use ImporterMesh. 2024-01-08 13:57:20 -08:00
Rémi Verschelde e417b7e6e6
Merge pull request #86824 from alessandrofama/audio-import-playback-position
Fix playback position label update in Audio Stream Importer
2024-01-08 11:57:31 +01:00
Muller-Castro 96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Alessandro Famà 155bebfdf2 Fix playback position label update in Audio Stream Importer
The current playback position label doesn't get updated if the playhead is not visible. The label is updated in `_draw_indicator()` at the end of the function, but we return early if the calculated offset falls outside the valid range. This fix moves the label updating above this check, ensuring that the label always gets updated regardless of the visibility of the playhead.

Fixes #86550.
2024-01-05 12:41:30 +01:00
Aaron Franke 9753a35c76
Move 3D scene import classes to their own folder 2024-01-04 11:02:49 -06:00
Rémi Verschelde 0fa767beff
Merge pull request #84508 from jsjtxietian/clean-copy
Clean unnecessary copy detected by clang-tidy
2024-01-04 14:25:58 +01:00
Rémi Verschelde 6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Yuri Sizov 13dd72ce78 Merge pull request #85219 from dsnopek/light-bake-mode-no-gi-method
Remove GI methods in parentheses from light baking options
2023-12-19 13:01:40 +01:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Marius Hanl 4b8b0803eb Return false when no '.editor.ctex' file exists so that the file will be reimported after and no error is printed 2023-12-14 20:35:49 +01:00
Rémi Verschelde d26a3f1b14
Merge pull request #85807 from rakkarage/import-warning
Add toaster notifications for import warnings.
2023-12-12 10:40:41 +01:00
Aaron Franke 52f1b86ebc
Fix referring to ResourceImporterScene static importers via instances 2023-12-11 20:01:39 -06:00
Rémi Verschelde 8f2b5cc109
Merge pull request #82899 from aaronfranke/import-settings-dialogs
Rename ImportSettings dialogs to have "Dialog" in the name
2023-12-12 00:15:59 +01:00
Rakka Rage 35444b28e3 Add toaster notifications for import warning. 2023-12-05 16:25:04 -05:00
Rémi Verschelde 6cfb3f61f2
Merge pull request #85556 from bs-mwoerner/wav-import-fix
Fix importing WAV files with odd chunk sizes
2023-12-04 23:19:34 +01:00
Rémi Verschelde ff151bb9aa
Merge pull request #85061 from SaracenOne/imported_slices_fix
Fix imported track flag on sliced animations.
2023-12-04 23:09:37 +01:00
Michael Wörner 29810376b8 Fixed reading WAV files with odd chunk sizes.
These require a padding byte not included in the chunk size.
2023-12-04 20:01:34 +01:00
Aaron Franke a8dc34b8f0
Rename ImportSettings dialogs to have "Dialog" in the name 2023-11-26 22:59:01 -06:00
David Snopek ce488930ea Remove GI methods in parentheses from light baking options 2023-11-22 08:42:40 -06:00
Rémi Verschelde fa259a77cd
Codestyle: Fix some comment issues 2023-11-21 15:26:53 +01:00
Saracen 57f1e5dcdc Fix imported track flag on sliced animations. 2023-11-18 15:36:33 +00:00
Alistair Leslie-Hughes b0e0615075 Fix Resource Importer use after free 2023-11-14 16:39:41 +11:00
Rémi Verschelde 15b8185c68
Don't use TTR/RTR for ERR/WARN prints
We don't translate those, only editor strings are translated.
2023-11-12 12:00:55 +01:00
Markus Sauermann 75b4ea05a4 Fix stuck cursor in Advanced Scene Importer
Display an Arrow mouse cursor, while the mouse is moved within the
`SubViewportContainer` of the Advanced Scene Importer.
2023-11-09 12:50:13 +01:00
jsjtxietian 1b07b419b3 Add support for comment column in translation csv 2023-11-07 17:10:50 +08:00
jsjtxietian 8f6e8ef0d7 clean unnecessay copy detected by clang-tidy 2023-11-06 16:22:32 +08:00
Aaron Franke 58076b9ccb
Implement glTF compat version system for files from older Godot versions 2023-11-03 12:07:25 -05:00
Yuri Sizov 802813d8f9 Merge pull request #83036 from jsjtxietian/move-animation-slice-processing-to-_post_fix_animations
Move animation slice processing to `_post_fix_animations`
2023-11-03 12:52:08 +01:00
Rémi Verschelde 44a54f4500
Merge pull request #84252 from clayjohn/ensure_tangents
Enhance checks and user experience around tangent arrays in meshes.
2023-11-02 09:11:32 +01:00
Rémi Verschelde 64bb27aefd
Merge pull request #83600 from jsjtxietian/make-translation-import-more-robust
Make translation importer skip not-supported lang tag, make it more robust
2023-11-02 09:11:00 +01:00
clayjohn d1043a5f93 Enhance checks and user experience around tangents.
Ensure `ensure_tangents` option actually creates tangent array. Even if it is just a dummy array.

Allow mesh to generate its own tangents when using compression. This allows users to compress meshes without tangents.

Warn users if they are trying to read from tangents without providing tangents.
2023-11-01 22:40:42 +01:00
Rémi Verschelde 4f138db264
Merge pull request #83764 from timothyqiu/suffix-only
Fix infinite loop when importing 3D object named "-colonly"
2023-10-26 16:00:08 +02:00
Saracen d0e5bff542 Add method check for _notify_skeleton_bones_renamed. 2023-10-26 10:22:59 +01:00
clayjohn 8f9cd4e1e3 Some more fixes for compressed meshes
This cleans up a few more cases of uint32_t->uint64_t

Importantly this fixes an edge case in the axis-angle compression by
using the pre-existing Basis methods instead
2023-10-24 09:38:12 +02:00
Haoyu Qiu 2413952a4c Fix "as" capitalization in editor strings 2023-10-23 16:10:05 +08:00
Haoyu Qiu c19bf7cda9 Fix infinite loop when importing 3D object named "-colonly" 2023-10-22 11:31:28 +08:00
jsjtxietian 0099791fc0 Make translation importer skip not-supported lang tag
Also give better warning.
2023-10-20 16:17:29 +08:00
Yuri Sizov 215e036600 Add bulk change guards to successive theme overrides in Editor and GUI 2023-10-19 18:14:14 +02:00
bruvzg 9a1e0e4aef
[Bitmap fonts] Add support for scaling. 2023-10-13 12:57:45 +03:00
Clay acb65377cd Cleanup instances of using uint32_t for mesh formats
And tidy up some leftovers from the attribute compression PR
2023-10-12 22:01:41 +02:00
Rémi Verschelde fb6dc8c630
Merge pull request #83076 from SaracenOne/make_rest_fixer_tracks_imported
Set new SkeletonRestFixer tracks as imported
2023-10-10 09:12:42 +02:00
Saracen 96c3d0e73e Set new RestFixer tracks as imported 2023-10-09 23:43:37 +01:00
jsjtxietian 3a85e4bbd5 Move animation slice processing to _post_fix_animations 2023-10-09 18:58:55 +08:00
A Thousand Ships f18aa00e85 Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-10-08 17:23:33 +02:00
clayjohn 51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
This allows Godot to automatically compress meshes to save a lot of bandwidth.

In general, this requires no interaction from the user and should result in
no noticable quality loss.

This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.

Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
kobewi 09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Shnazzy 17364e20b5 Fixed the Advanced Import Settings window's camera rotation order in the 3D viewport when moving the mouse. 2023-09-29 23:02:22 -04:00
Silc Lizard (Tokage) Renew 1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
Hugo Locurcio fcbf7011cc
Make 3D editor gizmos and debug shapes ignore fog
This makes them easier to see in their intended colors in scenes with fog.
2023-09-27 00:54:57 +02:00
Rémi Verschelde fcbc50ec14
Merge pull request #82302 from MewPurPur/alt-font-icon
Add Font and Mesh icons that aren't grayed out
2023-09-25 18:38:29 +02:00
MewPurPur fb030beac5 Add white Font and Mesh icons 2023-09-25 17:29:14 +03:00
Rémi Verschelde 9e011c3950
Merge pull request #82190 from BlueCube3310/aabb-import-shadows-disable
Disable bounding box shadows for advanced scene importer
2023-09-24 23:35:22 +02:00
Rémi Verschelde 98747a9040
Merge pull request #78803 from EMBYRDEV/additional-mesh-import-options
Add layer, shadow and visibility range options to the Scene importer
2023-09-24 23:30:30 +02:00
BlueCube3310 1121c7bbaf Disable bounding box shadows for advanced scene importer 2023-09-23 15:18:57 +02:00
Rémi Verschelde cdef53df1e
Merge pull request #81705 from AThousandShips/null_check_editor
[Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-16 21:24:53 +02:00
kobewi cd0aaab48c Cleanup some GLOBAL_DEFs 2023-09-15 21:32:23 +02:00
A Thousand Ships 75ee58fd04 [Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-15 20:15:39 +02:00
Yuri Sizov d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Yuri Sizov 237515d0ed Register and cleanup resource importer singletons in a predictable way 2023-08-07 17:49:33 +02:00
Rémi Verschelde f5b2d7d393
Merge pull request #79774 from aaronfranke/scene-import-root-type-name
Improve overriding the root type or root name in the scene importer
2023-08-02 12:19:34 +02:00
Aaron Franke ba3fb66d71
Merge pull request #79907 from kdiduk/fix-advanced-scene-reimport-default-settings
Fix reimporting scene with default values selected
2023-08-01 15:30:07 -05:00
Aaron Franke aa187d8d69
Improve overriding the root type or root name in the scene importer 2023-08-01 13:30:57 -05:00
Yuri Sizov 2bd1d8ac28 Merge pull request #80107 from Spycemyster/reimport-path-message
Add path to missing import texture metadata to error message
2023-08-01 17:26:10 +02:00
Yuri Sizov 266e195c0d Merge pull request #77533 from EMBYRDEV/phys-mat-import-option
Add more physics options to the Scene importer
2023-08-01 17:25:02 +02:00
Spencer Chang 57d9e3bb0e Added path to output of missing import texture metadata 2023-08-01 01:28:36 -07:00
Kirill Diduk 8b729e5b7e [bugfix] Fix reimporting scene withh default values selected
This commit fixes #78140

When the scene was re-imported with non-default values of some settings, re-importing it again using default values for those settings didn't have the effect.

The problem was that when handling the reimport, a wrong dictionary of the settings was used.
2023-07-28 16:53:33 +02:00
Pedro J. Estébanez abd0dcac88 Fix life cycle of ResourceImporterTexture better 2023-07-28 11:52:09 +02:00
Pedro J. Estébanez 79c798fa0b Fix life cycle of ResourceImporterTexture not tracked properly 2023-07-27 13:54:30 +02:00
Haoyu Qiu 80728bdf1e Fix typo in ResourceImporterImageFont 2023-07-21 09:50:29 +08:00
kobewi de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov 9547de5b0e Merge pull request #76367 from Chaosus/import_settings_animation_playback
Add animation playback preview to scene import settings
2023-07-12 17:14:57 +02:00
Yuri Sizov c16afc1c2d
Merge pull request #79050 from capnm/fix_teststr_what
Fix import hints that are followed by dot.number
2023-07-05 15:59:44 +02:00
Martin Capitanio 470083caed Fix import hints that are followed by dot.number.
Fixes #78881.
2023-07-05 14:49:53 +02:00
Hannah Crawford 444e1a8e2c Add layer, shadow and visibility range options to Scene Importer. 2023-06-28 17:09:23 +01:00