Closed bitdream closed 1 year ago
The files from gltf exporter are not supported by Godot engine and lots of other engines...
What's the issue? I tested import in Blender and it works fine.
The files from gltf exporter are not supported by Godot engine and lots of other engines...
What's the issue? I tested import in Blender and it works fine.
It only can be imported correctly in Blender. That's the issue. It can not be imported in Godot game engine or other online glTF viewers or Windows 3D model viewer. one example here: The glTF I exported with your gdx-glft: https://drive.google.com/drive/folders/1b1d5DEFLxNjQ51YaUUKSpWuDO7nwTsUz?usp=sharing The online viewer I used to import them: https://gltf-viewer.donmccurdy.com/ And the error messages:
Report generated byKhronosGroup/glTF-Validator 2.0.0-dev.3.9.
Error | Message | Pointer -- | -- | -- MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/0/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/0/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/1/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/1/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/2/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/2/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/3/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/3/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/4/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/4/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/5/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/5/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/6/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/6/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/7/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/7/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/8/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/8/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/9/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/9/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/10/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/10/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/11/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/11/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/12/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/12/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/13/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/13/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/14/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/14/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/15/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/15/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/16/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/16/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/17/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/17/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/18/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/18/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS | accessor.min and accessor.max must be defined for POSITION attribute accessor. | /meshes/0/primitives/19/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT | Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). | /meshes/0/primitives/19/indices Validation report Format: glTF 2.0 Generator: GDX glTF exporter 1.0 Stats: 448 draw calls 0 animations 448 materials 4816896 vertices 5376 triangles Extensions: None Report generated by[KhronosGroup/glTF-Validator](https://github.com/KhronosGroup/glTF-Validator/) 2.0.0-dev.3.9. Error Message Pointer MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/0/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/0/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/1/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/1/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/2/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/2/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/3/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/3/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/4/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/4/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/5/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/5/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/6/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/6/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/7/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/7/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/8/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/8/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/9/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/9/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/10/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/10/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/11/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/11/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/12/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/12/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/13/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/13/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/14/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/14/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/15/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/15/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/16/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/16/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/17/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/17/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/18/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/18/indices MESH_PRIMITIVE_POSITION_ACCESSOR_WITHOUT_BOUNDS accessor.min and accessor.max must be defined for POSITION attribute accessor. /meshes/0/primitives/19/attributes/POSITION MESH_PRIMITIVE_INDICES_ACCESSOR_INVALID_FORMAT Invalid indices accessor format '{SCALAR, SHORT}'. Must be one of ('{SCALAR, UNSIGNED_BYTE}', '{SCALAR, UNSIGNED_SHORT}', '{SCALAR, UNSIGNED_INT}'). /meshes/0/primitives/19/indicesit should be OK now
Thanks. The issue is indeed fixed. But please come back to the other question: do you have plan to add the GlbExporter in near future?
do you have plan to add the GlbExporter in near future?
No, this format is not so good (eg. can't share textures with other files, slower loading) so i don't plan to invest time in it.
The files from gltf exporter are not supported by Godot engine and lots of other engines... Every time I have to convert them into glb by some external tools. If this glb exporter is missing, what's the difference between this one and the old fbx-conv work flow?