Commit Graph

1049 Commits

Author SHA1 Message Date
Rémi Verschelde 2e400bc475
Merge pull request #95299 from bruvzg/kern_img
[ImageFont] Fix escape sequence parsing, add note to the docs.
2024-08-16 23:45:44 +02:00
Arseny Kapoulkine 0fde03c0e0 Optimize base and shadow meshes for cache
Previously, vertex cache optimization was ran for the LOD meshes, but
was never ran for the base mesh or for the shadow meshes, including
shadow LOD chain (shadow LOD chain would sometimes get implicitly
optimized for vertex cache as a byproduct of base LOD optimization, but
not always). This could significantly affect the rendering performance
of geometry heavy scenes, especially for depth or shadow passes where
the fragment load is light.
2024-08-16 07:36:12 -07:00
bruvzg 4cc065c2db
[ImageFont] Fix escape sequence parsing, add note to the docs. 2024-08-16 15:48:56 +03:00
Rémi Verschelde f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Rémi Verschelde 5847d362de
Merge pull request #95505 from lyuma/import_null_external_animation_library
Avoid `[]` for `external_animation_library` import option
2024-08-16 14:35:20 +02:00
Rémi Verschelde 7865266f24
Merge pull request #94609 from bruvzg/pixel_font_detect
[Font Import] Detect pixel fonts and disable subpixel positioning.
2024-08-16 14:32:14 +02:00
Rémi Verschelde e52cf86661
Merge pull request #94100 from Calinou/obj-import-remove-unused-optimize-mesh
Remove unused Optimize Mesh import option from OBJ mesh import
2024-08-16 10:34:16 +02:00
Rémi Verschelde e58a7530aa
Merge pull request #93727 from zeux/raycast-opt
Disable normal raycaster for LOD generation by default
2024-08-16 10:34:03 +02:00
Haoyu Qiu 7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
Lyuma e7de6f8725 Avoid [] for external_animation_library import option
Some uses of operator[] were causing "rest_pose/external_animation_library": null to be added to the .import file.
2024-08-13 17:53:46 -07:00
Rémi Verschelde 39fc116c5f
Merge pull request #94968 from jsjtxietian/obj-import
Fix obj's name set in wrong order when importing
2024-08-12 18:24:27 +02:00
Rémi Verschelde 9fe4cb6a76
Merge pull request #93284 from rune-scape/missing-import-settings-crash
Avoid crashing when scene import settings are empty
2024-07-31 11:37:34 +02:00
jsjtxietian eab49cf256 Fix obj's name set in wrong order when importing 2024-07-31 14:50:02 +08:00
bruvzg 32bc1c2f33
[Font Import] Detect pixel fonts and disable subpixel positioning. 2024-07-23 20:34:39 +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
Hugo Locurcio bbf68306c5
Fix error message being printed when importing an OBJ with no surfaces
An OBJ with no surfaces is valid, and typically happens when
you import an OBJ mesh with no associated MTL file.
2024-07-08 23:14:52 +02:00
Hugo Locurcio 5ee4100e4c
Remove unused Optimize Mesh import option from OBJ mesh import
This option was enabled by default, but it did nothing regardless
of whether it was enabled or not.
2024-07-08 22:58:51 +02:00
Arseny Kapoulkine a13a64eacd Disable normal raycaster for LOD generation by default
Normal raycaster makes LOD generation process >2x slower and often
generates normals that look significantly worse compared to what the
simplifier comes up with by default. This was likely different before
last meshoptimizer upgrade, as the attribute metric was not functioning
properly, but now it looks like it's doing more harm than good.

This change makes it disabled by default but keeps an easy option to
re-enable it per mesh using LOD parameters for now until we get more
confidence and can remove the code outright.

Because the long term plan would be to disable this feature entirely,
the scripting API isn't changed, and it's just off-by-default there with
no way to re-enable.
2024-07-02 10:18:15 -07:00
Bastiaan Olij ab0c974f28 Fix default collision shape on imported rigidbody 2024-06-24 10:16:58 +10:00
Rémi Verschelde e5ed515f24
Merge pull request #93337 from bruvzg/rename_img_fnt_imp
Remove `monospace/fixed-width` from the `ResourceImporterImageFont` name and description.
2024-06-19 10:10:21 +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
Rémi Verschelde 1609b275b0
Merge pull request #92638 from AThousandShips/item_selected_sname
[Scene] Add `SceneStringNames::item_selected`
2024-06-19 10:09:53 +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
A Thousand Ships d9e2fc74c7
[Scene] Add `SceneStringNames::item_selected` 2024-06-19 09:39:05 +02:00
bruvzg 049cf70fbf
Remove `monospace/fixed-width` from the `ResourceImporterImageFont` name and description. 2024-06-19 08:42:13 +03: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
rune-scape b303e73877 avoid crashing when scene import settings are empty 2024-06-17 18:13:09 -07:00
bruvzg db46eac24c
[Image Font Importer] Adds support for `\uXXXX` in the kerning config strings. 2024-06-13 09:20:04 +03:00
Rémi Verschelde 2fb296a5cd
Merge pull request #93074 from bruvzg/bmp_imp_adv
[Image Font Importer] Fix reading advance after hex/dec range.
2024-06-12 11:01:43 +02:00
bruvzg 26df66cbad
[Image Font Importer] Fix reading advance after hex/dec range. 2024-06-12 11:38:41 +03:00
Yuri Rubinsky 29fa291317 Fix incorrect camera transform of animation view in the import window 2024-06-10 16:09:36 +03:00
Rémi Verschelde 9c87e8c7b4
Merge pull request #91953 from AThousandShips/use_normal_sname
Use `CoreStringNames::normal` in more places
2024-05-31 14:16:05 +02:00
A Thousand Ships cade5b88d9
Use `CoreStringNames::normal` in more places 2024-05-30 22:57:54 +02:00
A Thousand Ships 926afccbd8
[Scene] Add `SceneStringNames::panel` 2024-05-30 22:54:50 +02:00
A Thousand Ships 755a0efbb6
[Scene] Add `SceneStringNames::id_pressed` 2024-05-30 22:54:04 +02:00
Rémi Verschelde ff242e2e94
Merge pull request #92539 from RandomShaper/no_crash_glsl_headless
Avoid crash when importing .glsl in headless
2024-05-30 15:41:59 +02:00
Pedro J. Estébanez c1d5a2c8c6 Avoid crash when importing .glsl in headless 2024-05-30 13:51:35 +02:00
A Thousand Ships 4ed62665a2
Replace `.bind(...).call_deferred()` with `.call_deferred(...)` 2024-05-27 13:29:57 +02:00
Rémi Verschelde 782a0261cb
Merge pull request #92196 from lyuma/gltf_anim_library_import_as_bones
Support Import As Skeleton Bones on glTF and AnimationLibrary import
2024-05-23 08:59:13 +02:00
Rémi Verschelde 4c96dcf6e0
Merge pull request #92179 from aaronp64/image_import_memory
Improve memory usage for image import and `PortableCompressedTexture2D`
2024-05-22 09:26:53 +02:00
Lyuma c433754d34 fbx: change import option defaults
ufbx has special logic to handle animation/trimming, and most users expect trimming to be on.
For existing projects, we should upgrade files0 to FBX2glTF to preserve node compatibility.
2024-05-21 07:58:36 -07:00
Lyuma ef486db569 Support Import As Skeleton Bones on glTF and AnimationLibrary import 2024-05-21 03:19:35 -07:00
aaronp64 f81e0fcbf4 Improve memory usage for image import and PortableCompressedTexture2D
When importing images, we store a compressed version of the image to a .ctex file with ResourceImporterTexture::save_to_ctex_format.  When importing many large images at once, this can use a large amount of memory, especially when the .ctex file uses WebP format.

This change is for ResourceImporterTexture::save_to_ctex_format to use the original Image object instead of p_image->get_image_from_mipmap(0), to avoid creating a copy of the full uncompressed image when looping through the base Image and mipmaps.  This reduces the import memory usage for large images by around 10% when using WebP, and 35-40% when Project Settings/Rendering/Textures/Lossless Compression/Force PNG is enabled, may vary depending on the image and number of import threads running.  Same change applied to PortableCompressedTexture2D::create_from_image, which has similar logic.

This helps with #92084, but does not fully resolve the issue on its own, as compressing with WebP on many threads can still use a large amount of memory - this just lowers that amount, and makes it more likely that enabling "Force PNG" will reduce memory usage enough to import the files.
2024-05-20 19:40:39 -04:00
Rémi Verschelde e1f72c7ca6
Merge pull request #92012 from lyuma/rest_fixer_anim_scale
Skeleton rest fixer: Apply orthonormalized scale to anims
2024-05-17 11:14:11 +02:00
Rémi Verschelde 54b2e5dc78
Merge pull request #90647 from Gaktan/master
Fix decimal and hex ranges not working with image fonts
2024-05-17 11:13:39 +02:00
Lyuma 25ddb3dd7f rest fixer: Apply orthonormalized scale to anims
Adjust the logic for position and scale animation tracks in the Apply Node Transforms case
To match how we adjust bone pose/rest, use basis.orthonormalized() for parentless bones.
2024-05-16 02:45:42 -07:00