Silc 'Tokage' Renew
0235086c14
Add validation to glTF importer for Blendshape and Animation
2024-07-26 18:05:34 +09:00
Jordyfel
416e63ae35
Fix handling of missing bin file in gltf separate
2024-07-18 14:04:16 +03:00
Rémi Verschelde
2380ed5e1b
Merge pull request #94058 from Hilderin/fix-scene-project-importation-settings
...
Fix missing options in Project Import Defaults
2024-07-17 11:42:59 +02:00
Hilderin
169e732518
Fix missing options in Project Import Defaults
2024-07-09 09:33:39 -04:00
Rémi Verschelde
3b891f5a8a
Merge pull request #94004 from Hilderin/fix-blender-export-quotation-mark
...
Fix .blend files with quotation marks in filename fail to import
2024-07-08 11:48:23 +02:00
Hilderin
d244d6f4fe
Fix .blend files with quotation marks in filename fail to import
2024-07-07 18:12:45 -04:00
Rémi Verschelde
080b975c09
Merge pull request #93998 from demolke/blender42
...
Update vertex color import to handle Blender 4.2 upwards
2024-07-07 12:38:47 +02:00
demolke
7864abbeec
Update vertex color import to handle Blender 4.2 upwards
...
Blender commit 0f0a8df8a9
which is landing in 4.2 deprecated `vertex_colors` GLTF property, use `export_vertex_color` instead.
2024-07-06 14:22:09 +02:00
Aaron Franke
923a8eb5d3
Move GLTFAccessorType into GLTFAccessor
2024-07-04 15:46:48 -07:00
Gurvan
e7f34aace3
Use Hermite instead of Bezier for glTF spline interpolation
2024-06-29 14:36:49 +02:00
Rémi Verschelde
558054f707
Merge pull request #92640 from AThousandShips/text_value_changed_sname
...
[Scene] Add `SceneStringNames::text/value_changed`
2024-06-19 10:10:00 +02:00
Rémi Verschelde
0cc321b144
Merge pull request #92639 from AThousandShips/confirmed_sname
...
[Scene] Add `SceneStringNames::confirmed`
2024-06-19 10:09:56 +02:00
A Thousand Ships
fbb879debd
[Scene] Add SceneStringNames::text/value_changed
2024-06-19 09:44:38 +02:00
A Thousand Ships
ca18a06ecb
[Scene] Add SceneStringNames::confirmed
2024-06-19 09:40:54 +02:00
tamas
e19f0042ca
Retain meta data set on imported nodes
...
During the import process, many importer nodes are replaced with their
engine node counterparts. For example, ImporterMeshInstance3D is
replaced with a MeshInstance3D node. Any meta data set on these
importer nodes, i.e. through a GLTFDocumentExtension, are lost during
the conversion. This change copies over any meta data set on these
importer nodes to their engine counterparts.
2024-06-18 12:39:34 -05:00
A Thousand Ships
d519715d94
[Scene] Add SceneStringNames::font(_size/_color)
2024-06-18 17:24:27 +02:00
jsjtxietian
e09443509a
Unsetting the owner of ImporterMeshInstance3D
before adding it to skeleton's child
2024-06-13 12:45:55 +08:00
Rémi Verschelde
bc7a7a479e
Merge pull request #73941 from Jummit/active-collection
...
Blend import: Allow importing `active_collection_only`
2024-06-03 10:35:34 +02:00
Jummit
c182adcd48
Blend import: Ability to import only the active collection
2024-05-31 18:37:14 +02:00
K. S. Ernest (iFire) Lee
5a24aec599
Fix GLTFDocument so it can export CSG Meshes correctly.
2024-05-29 07:10:45 -07:00
Aaron Franke
d3a58e57b8
Rename accessor GLTFType to GLTFAccessorType, fix verbose prints, doc
2024-05-24 03:21:13 -07:00
K. S. Ernest (iFire) Lee
24f56008ac
Add bake_fps for FBXDocument, GLTFDocument and both import-export.
2024-05-23 09:09:36 -07:00
Lyuma
ef486db569
Support Import As Skeleton Bones on glTF and AnimationLibrary import
2024-05-21 03:19:35 -07:00
A Thousand Ships
ee79386f7b
[Scene] Add SceneStringNames::pressed
2024-05-14 15:51:28 +02:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
David Nikdel
522f035cb1
GLTF export improvements
...
- GLBs produced by godot don't pass validation when there's no data in the buffer segment. The segment is dropped but the size of the chunk_header is still reported in total length (incorrectly)
- Remove empty "extensions" JSON object being appended to all nodes (if it's still empty). This is just cutting down on unnecessary bloat and consistent with the rest of the file's attempts to not emit any keys that are equal to their default value.
- Allow the case where root_nodes is empty. This is permitted by the GLTF spec. Moreover it can happen fairly naturally when using the ROOT_NODE_MODE_MULTI_ROOT root node mode on a scene with only a root node (which is valid in godot).
- Don't create an initial buffer until we're ready to write data into it (buffers of byteLength=0 don't pass validation).
2024-05-11 21:42:05 -04:00
Rémi Verschelde
a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
...
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
A Thousand Ships
b4c6cc7d82
[Core] Add case-insensitive String::containsn
2024-05-08 12:48:01 +02:00
A Thousand Ships
a0dbdcc3ab
Replace find
with contains/has
where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Aaron Franke
1bcbbe96c4
Organize existing code for editor plugins
2024-04-27 11:59:58 -07:00
Rémi Verschelde
cb01094ccd
Merge pull request #88301 from aaronfranke/gltf-explicit-compound-triggers
...
Add support for explicitly-defined compound triggers in GLTF files
2024-04-26 11:08:19 +02:00
Rémi Verschelde
f859400c6b
Merge pull request #91078 from aaronp64/import_skip_crash
...
Fix errors/crashes related to skipped imports
2024-04-25 17:12:38 +02:00
aaronp64
e63d0983d0
Fix errors/crashes related to skipped imports
...
- Added check for "animation/fps" key before attempting to use it in EditorSceneFormatImporterBlend::import_scene, to give error instead of crashing
- Don't show "Advanced..." button if last import used "Keep File" or "Skip File"
- Don't try to call ResourceLoader::load on kept/skipped file when changing importer, which would give an error
Fixes #90324
2024-04-25 10:33:59 -04:00
Lyuma
bb9674c1b1
Set animation step from importers. Increase default step from 10 to 30 FPS.
2024-04-19 03:02:20 -07:00
Lyuma
d3706488d9
Fix FBX and glTF when root nodes are skeleton bones
...
Set p_scene_parent to the skeleton to guarantee BoneAttachment3D nodes are added as a child of the active skeleton.
Use get_owner() to go all the way up when calculating the root node in generate_scene
2024-04-17 22:10:05 -07:00
Rémi Verschelde
42ab525aa2
Merge pull request #86144 from jsjtxietian/disable-mesh-compression-for-2d
...
Disable mesh compression if vertex `position.z` is always 0
2024-04-12 11:16:33 +02:00
aaronp64
b56934ce19
Fix GLTFDocument.append_from_scene() crash on null node
...
Added null check for p_node parameter to give error instead of crash
Fixes #90502
2024-04-10 17:05:54 -04:00
jsjtxietian
077e20cd51
Disable mesh compression if vertex position.z is always 0
2024-04-10 11:27:36 +08:00
Rémi Verschelde
cedf4ad011
Merge pull request #90230 from aaronfranke/gltf-sep-shape3d-res
...
Separate Shape3D resource logic in GLTFPhysicsShape
2024-04-08 11:21:02 +02:00
Aaron Franke
92b243dc3c
Separate Shape3D resource logic in GLTFPhysicsShape
2024-04-04 16:22:01 -07:00
Aaron Franke
ade5a8d802
Add support for explicitly-defined compound triggers in GLTF files
2024-04-04 14:34:40 -07:00
Aaron Franke
a9416da6ea
GLTF export: Propagate property_list_changed
from extensions
2024-04-04 14:06:09 -07:00
Lyuma
b0ce274a52
Apply "Remove Immutable Tracks" after post-import.
...
Reimplements "Remove Immutable" by comparing to the skeleton rest.
It is necessary to delay removing animation tracks until after the correct rest pose is calculated in rest-fixer.
Preserves the original implementation in the GLTFDocument / FBXDocument API for compatibility.
2024-03-30 23:45:22 -07:00
Rémi Verschelde
d121873d01
Merge pull request #89542 from aaronfranke/convert-hull-to-mesh-func
...
GLTF: Extract converting hull points to mesh to a helper function
2024-03-24 01:17:15 +01:00
Aaron Franke
3604b57ba3
GLTF: Extract converting hull points to mesh to a helper function
2024-03-15 15:22:48 -07:00
Lyuma
8232759100
Fix method bindings in FBXDocument by making them virtual in GLTFDocument.
2024-03-15 12:47:02 -07:00
Rémi Verschelde
21b33c5ea4
Merge pull request #89418 from lyuma/gltf_vertex_packing
...
Only store vertices referenced by the indices per surface in the glTF importer
2024-03-14 22:34:52 +01:00
Rémi Verschelde
37b08a3724
Merge pull request #89356 from lyuma/vsk-gltf-sparse-accessors-4.3
...
GLTF export: Use sparse accessors for morph targets
2024-03-14 22:34:47 +01:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Lyuma
77f6e35a8d
glTF importer now only stores vertices referenced by the indices per surface.
2024-03-13 18:34:55 -07:00
A Thousand Ships
24c9d442e9
[Doc] Fix some incorrect uses of a/an
2024-03-13 21:20:28 +01:00
Adam Scott
44d3ce2c11
Add browse folder and browse file icons
2024-03-12 09:57:59 -04:00
Lyuma
db2c9571bb
glTF export: morph targets are relative, so use zero as reference
2024-03-12 02:39:15 -07:00
K. S. Ernest (iFire) Lee
1e63a2a132
Update buffer view target handling, encode sparse accessors as vec3.
...
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2024-03-12 02:39:00 -07:00
Lyuma
fd2aa564ab
gltf export: Remove snapping and fix validation
...
Round min/max correctly in accessors
Include correct target in vertex and indices bufferViews
Avoid use of Math::snapped
Normalize vertex weights.
2024-03-10 06:07:46 -07:00
Thaddeus Crews
9903e6779b
Enforce template syntax typename
over class
2024-03-07 22:39:09 -06:00
Rémi Verschelde
9101067666
Merge pull request #88958 from 398utubzyt/gltf/use-correct-name
...
Fix compilation errors when `DISABLE_DEPRECATED` is defined
2024-02-29 13:54:35 +01:00
Rémi Verschelde
c9b531c613
Merge pull request #88920 from AThousandShips/group_doc_fix
...
[Doc] Fix some incorrect uses of "children"
2024-02-29 13:54:18 +01:00
A Thousand Ships
9b5cd8e240
[Doc] Fix some incorrect uses of "children"
2024-02-29 11:52:55 +01:00
398utubzyt
4c69e8c026
Fix compilation errors when DISABLE_DEPRECATED
is defined
2024-02-28 05:09:29 -08:00
clayjohn
14c776f798
Fix wrong indexing when generating dummy tangents in GLTF import
2024-02-27 11:44:57 -08:00
Rémi Verschelde
21e3b2111e
Merge pull request #88862 from smix8/split_physics_classes
...
Split monolithic physics class files
2024-02-27 16:37:07 +01:00
smix8
35dafc9fa8
Split monolithic physics class files
...
Splits monolithic physics class files.
2024-02-27 11:18:16 +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
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
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