Commit Graph

391 Commits

Author SHA1 Message Date
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
Ryan Roden-Corrent 7e64c6c399
Update blender export flags for 3.6.
Fixes #76338.

Blender 3.6 imports fail with:

```
TypeError: Converting py args to operator properties: : keyword "export_nla_strips" unrecognized
```

The `export_nla_strips` flag was removed and replaced with `export_animation_mode`.
In 3.6.0-3.6.21, this option does not exist at all and causes the failure above.
In 3.6.22, this option was re-added, but does nothing.
See 96a73cb664.

We now need to check the blender version to determine what flags to use.
This adds an additional shell command before every import.
We might consider caching the version, but we'd have to invalidate the cache if the blender version or path changes.

As an aside, the "group animations" setting in Godot does the opposite of what I'd expect.
When `group_tracks=true`, each animation is exported individually.
When `group_tracks=false`, all animations are exported as a single track.
This seems backwards, but I've kept the 3.6 behavior consistent with 3.5.

From https://docs.blender.org/api/3.6/bpy.ops.export_scene.html:

> ACTIONS Actions – Export actions (actives and on NLA tracks) as separate animations.
> ACTIVE_ACTIONS Active actions merged – All the currently assigned actions become one glTF animation.

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-09-30 11:32:21 -04:00
Aaron Franke 7bd894ba7a
Fix skeletons when generating multiple Godot scenes from one GLTF 2023-09-28 17:48:33 -05:00
Rémi Verschelde dc14f02892
Merge pull request #81851 from aaronfranke/gltf-single-root
GLTF: Add root node export options and GODOT_single_root extension
2023-09-26 17:52:51 +02:00