Commit Graph

394 Commits

Author SHA1 Message Date
Aaron Franke c399424db9 Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06: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
Hugo Locurcio f781571d07 Add keywords to improve search in the class reference 2024-02-22 16:16:49 +01:00
Danil Alexeev af28f87791 Documentation: Add support for deprecated/experimental messages 2024-02-15 15:59:50 +03:00
Aaron Franke f18c46d687 Fix exporting trigger shapes in GLTF 2024-02-11 04:37:54 -06:00
Rémi Verschelde d00dc8facf Merge pull request #87371 from AThousandShips/size_err_check
Replace error checks against `size` with `is_empty`
2024-02-09 18:09:11 +01:00
Rémi Verschelde 161894652a Merge pull request #83231 from aaronfranke/gltf-transform
Fix desynced duplicate GLTFNode transform properties
2024-02-09 18:09:05 +01:00
A Thousand Ships 684752e75b Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
Aaron Franke 35c99bbcc1 Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const 2024-02-08 13:01:50 -06:00
Rémi Verschelde 763d5cb7a4 Merge pull request #87934 from aaronfranke/fix-gltf-bad-mesh-export
Fix GLTF exporting invalid meshes and attempting to export gizmo meshes
2024-02-08 10:53:48 +01:00
Aaron Franke 2d38c980ee Fix GLTF exporting invalid meshes and attempting to export gizmo meshes 2024-02-04 02:58:29 -06:00
Aaron Franke 4c8d69f264 Fix crash when importing a GLTF file with a skeleton as the root 2024-02-04 02:48:16 -06:00
Rémi Verschelde cb0d450b7d Merge pull request #87775 from clayjohn/GLTF-export-ra-rg
Remove workaround in GLTF exporter that double converts ra textures to rg
2024-01-31 10:57:17 +01:00
clayjohn 4f41b94943 Remove workaround in GLTF exporter that double converts ra textures to rg 2024-01-30 23:22:20 -08:00
Aaron Franke c60ed2587d Fix desynced duplicate GLTFNode transform properties 2024-01-29 21:24:02 -06:00
Rémi Verschelde fa48a51183 Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde 269145f48a Merge pull request #87300 from Calinou/math-normalize-error-show-value
Display values in vector/quaternion math function errors
2024-01-29 13:16:51 +01:00
Rémi Verschelde 13bf4fd19a Merge pull request #85519 from mxaddict/blender-rpc-server
Added proper timeout for blender rpc connection
2024-01-29 13:16:22 +01:00
A Thousand Ships 15369fdb1d Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
Hugo Locurcio 0437db0106 Display values in vector/quaternion math function errors
This can help track down the source of the error more easily.
2024-01-28 18:45:46 +01:00
mxaddict 857586b7ae Added proper timeout for blender rpc connection 2024-01-27 03:44:27 +08:00
mxaddict ad106a283b Update blender_path behavior to require exact path to executable instead of trying to guess it 2024-01-27 00:41:53 +08:00
Aaron Franke b00e5cef63 GLTF: Update OMI_physics_body, add OMI_physics_shape, keep OMI_collider 2024-01-19 14:35:49 -06:00
Aaron Franke dc325069fe Fix crash in GLTFBufferView::load_buffer_view_data 2024-01-17 20:57:31 -06: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
Aaron Franke d36a34edb7 Misc changes to the GLTF module before audio PR 2024-01-11 20:33:51 -06:00
Rémi Verschelde 78fadf45ca Merge pull request #85335 from zinefer/bugfix-blend-importer-on-windows-network-share
Replace `//` with `\\` before sending path to Blender
2024-01-09 15:30:50 +01:00
Silc Lizard (Tokage) Renew a51958a2a0 Remove Object pointer/solve types conflict in AnimationTrackCache
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-08 21:48:19 +09:00
Rémi Verschelde 60f557c0c5 Merge pull request #86016 from demolke/master
Import step interpolation for loc/rot/scale from GLTF as nearest
2024-01-08 11:52:16 +01:00
demolke 3749cbb3ca Import step interpolation for loc/rot/scale from GLTF as nearest
Currently all object transform animation tracks get imported and baked
as linear. For step interpolation mark the resulting animation track
with Nearest interpolation to make sure there are no in-betweens
generated. This is useful for camera cuts or similar.
2024-01-05 22:03:57 +01:00
Muller-Castro 96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Aaron Franke 9753a35c76 Move 3D scene import classes to their own folder 2024-01-04 11:02:49 -06: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
Rémi Verschelde a1d45858e0 Merge pull request #86504 from lyuma/gltf_reimport_textures_merry_xmas
gltf: Fix three bugs which prevented extracted textures from being refreshed
2024-01-02 18:05:19 +01:00
Aaron Franke 8acef03cb5 Add export settings to the export dialog for GLTF 2023-12-30 19:57:39 -06:00
Lyuma fea4165ca8 gltf: fix three bugs which prevented extracted textures from being refreshed.
1. Extracted texture paths in `GLTFDocument::_parse_image_save_image` at the project root started with res:/// which broke cache invalidation
2. md5 hashes were not being written to generator_parameters for new imports, which led Godot to think the file was manually created.
3. `EditorFileSystem::reimport_append` must emit the `resources_reimported` signal in order for the resource cache to be updated.
2023-12-25 01:03:40 -08:00
Wilson E. Alvarez a3cb1b096f Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Aaron Franke 52f1b86ebc Fix referring to ResourceImporterScene static importers via instances 2023-12-11 20:01:39 -06:00
zinefer 72d18d50a4 Bugfix: Replace // with \\ before sending path to Blender
On Windows, Blender treats //fileshare/assets/model.blend as a relative
path which will not be found. Instead, replace the first two chars with
`\\` which when escaped becomes `\\\\`.
2023-12-07 15:23:11 -07:00
Pedro J. Estébanez fe4850c0d0 Use mingw-std-threads in MinGW builds 2023-11-18 11:56:05 +01:00
Hugo Locurcio e5270c0db2 Link to runtime loading/saving tutorial and improve Image documentation 2023-11-14 12:05:54 +01:00
Aaron Franke 6d8f029df4 Use the Blender file name instead of the generated GLTF file name 2023-11-09 12:11:39 -06:00
Aaron Franke 58076b9ccb Implement glTF compat version system for files from older Godot versions 2023-11-03 12:07:25 -05: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
Saracen 4b671eec0e Reimport bone attachment fixes:
Assign bone_idx to GLTF importer to fix serialization.
Notifies Skeletons and BoneAttachments when reimporting.
Removes usage of NOTIFICATION_NODE_RECACHE_REQUESTED
2023-10-27 20:34:01 +01:00
Haoyu Qiu 2413952a4c Fix "as" capitalization in editor strings 2023-10-23 16:10:05 +08:00
jsjtxietian 1c70a7ae6a Prevent godot crash from importing a certain kind of invalid gltf
invalid type: mistach interpolation CUBICSPLINE and value size
2023-10-20 16:58:11 +08:00
A Thousand Ships 034c0f1624 Replace sanity with safety for checks 2023-10-08 16:22:24 +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
Rémi Verschelde 3cf17679ca Merge pull request #81194 from rcorre/blend-import-76338
Update blender export flags for 3.6.
2023-10-02 13:16:11 +02:00