summaryrefslogtreecommitdiff
path: root/modules/gltf
AgeCommit message (Collapse)Author
2021-09-108 uvs for glTF2, URI decode and Vertex Custom api.Lyuma
Add glTF2 uri decode for paths. Add vertex custom apis. Add scene importer api. Change Color to float; add support for float-based custom channels in SurfaceTool and EditorSceneImporterMesh Co-authored-by: darth negative hunter <thenegativehunter2@users.noreply.github.com>
2021-09-10Remove packed scene gltfK. S. Ernest (iFire) Lee
We determined through discussion that composing the packed scene from a node tree was a better design because it removed duplication of code.
2021-08-22Replace HTTP links with HTTPS for sites with HTTPS versionsAaron Franke
2021-08-09Continue when glTF2 lights fail to parse.K. S. Ernest (iFire) Lee
2021-07-30Merge pull request #51052 from V-Sekai/gltf-fallbacksRémi Verschelde
glTF2 fallback load PNG and JPG
2021-07-30glTF2 fallback load PNG and JPGK. S. Ernest (iFire) Lee
2021-07-30doc: Use self-closing tags for `return` and `argument`Rémi Verschelde
For the time being we don't support writing a description for those, preferring having all details in the method's description. Using self-closing tags saves half the lines, and prevents contributors from thinking that they should write the argument or return documentation there.
2021-07-29In glTF2 animations, log spam less when running.K. S. Ernest (iFire) Lee
2021-07-23Fix GLTF crash when the material is not set.Andrea Catania
Sometimes there are meshes that doesn't have materials, so make sure to check this case before extracting the name.
2021-07-21Set the surface name when GLTF file is imported.Andrea Catania
2021-07-15Misc cleanup of header includesRémi Verschelde
Was looking for misuse of module headers without checking that the module is actually enabled and got carried away...
2021-07-13Implement the ability to disable classesreduz
* This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-06-30Fix editor suffixes and degrees conversionreduz
* Functions to convert to/from degrees are all gone. Conversion is done by the editor. * Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees. * Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m" * In general, can add suffixes for EditorSpinSlider Not covered by this PR, will have to be addressed by future ones: * Ability to switch radians/degrees in the inspector for angle properties (if actually wanted). * Animations previously made will most likely break, need to add a way to make old ones compatible. * Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes. * Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-06-27Make curve interpolate crash less.K. S. Ernest (iFire) Lee
2021-06-20Merge pull request #49754 from aaronfranke/is-eq-approx-sub-optRémi Verschelde
Fix sub-optimal uses of is_equal_approx
2021-06-20Fix sub-optimal uses of is_equal_approxAaron Franke
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-19Consolidate JSON, JSONParseResults and JSONParser into JSONMarcel Admiraal
Renames JSON.parse_string() to parse() Renames JSON.decode_data() to stringify()
2021-06-18Better format arguments in variant parserMichael Alexsander Silva Dias
2021-06-16Merge pull request #49401 from fire/8-weightsK. S. Ernest (iFire) Lee
Fix 8 bone weights in glTF2
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-07Fix 8 bone weights in glTF2K. S. Ernest (iFire) Lee
Don't spam in glTF2 import either. Clear() in SurfaceTool does not keep 8 weights.
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-03Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3DAaron Franke
2021-06-03Update documentation for Transform3DAaron Franke
2021-06-03Rename Variant TRANSFORM to TRANSFORM3DAaron Franke
Also _transform to _transform3d
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-05-27gltf: Fix mesh nodes which are also bones.Lyuma
Fix issue when two skeletons end up directly parented. Prevent animating TRS for skinned Mesh node. Fix animating weights on meshes with targets but no weights.
2021-05-25Rename File::get_len() get_length()Marcel Admiraal
2021-05-21Merge pull request #48913 from lyuma/gltf_named_binds_dedupRémi Verschelde
Fix incorrect skin deduplication when using named binds
2021-05-20gltf: Fail gracefully when a mesh instance fails.Lyuma
2021-05-20Fix incorrect skin deduplication when using named bindsLyuma
2021-05-21Merge pull request #48904 from fire/gltf-img-failureRémi Verschelde
When one invalid image fails, it should only fail that single image.
2021-05-20When one invalid image fails, it should only fail that single image.K. S. Ernest (iFire) Lee
Move to a more graceful degradation 3d asset import model.
2021-05-20Change behavior of String.rightTomasz Chabora
2021-05-01Fix some tangent Color typos in GLTFAaron Franke
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-15Merge pull request #47878 from clayjohn/rename-get_surface_materialRémi Verschelde
Rename get_surface_material to get_surface_override_material
2021-04-14Rename get_surface_material to get_surface_override_materialclayjohn
2021-04-13Export gltf2 normal textures correctly.K. S. Ernest (iFire) Lee
2021-04-05Style: Apply clang-tidy's `readability-braces-around-statements`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde
2021-03-28Rename Texture.get_data() to get_image()Marcel Admiraal
2021-03-25doc: Sync classref with current sourceRémi Verschelde
2021-03-24Always have a name for gltf2 mesh, material and skins.K. S. Ernest (iFire) Lee
Co-authored-by: Lcbx <luc.courbariaux@gmail.com>
2021-03-22Improved 3D Scene ImporterJuan Linietsky
* Added option for importers to show an Advanced settings dialog * Created advanced settings dialog for Scene Importer * Cleaned up importers (remove many old/unused options) * Added the ability to customize every node, material, mesh and animation individually * Saving to animations and meshes to files is now a manual process, making it more predictable * Added the ability for materials to be replaced by external files (or to be made external, up to you). * When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it. WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
2021-03-19Merge pull request #47128 from ArdaE/masterRémi Verschelde
GLTF importer: Prevent quick accumulation of significant numerical errors in keyframe times
2021-03-18GLTF import: Prevent significant numerical errors in keyframe timesArdaE
Keyframe times shift slowly in imported animations, starting with a zero shift at the beginning and increasing and becoming erratic slowly farther into an animation, reaching significant levels at times after about 3 minutes into an animation. This commit fixes the issue by increasing the precision of the floating point numbers used for keyframe time calculations. Only the most significant cases that cause fast accumulation of errors over a short animation duration are fixed. Other cases that would have a marginal benefit from switching to double precision numbers are left for another PR/further analysis. Note that this change has no impact on the runtime performance of games/apps created using Godot. It only affects the GLTF importer. Fixes #47127.
2021-03-18doc: Sync classref with current sourceRémi Verschelde
And move GLTF docs to its module folder.
2021-03-16Expand bone name possibilities.K. S. Ernest (iFire) Lee