glTF: Fix & tweak glTF / Embedded / glb

This commit is contained in:
Julien Duroure 2018-12-04 18:27:13 +01:00
parent 3aa7c2cc3e
commit ebd3f5a4dc
3 changed files with 7 additions and 8 deletions

View File

@ -74,11 +74,11 @@ class ExportGLTF2_Base:
export_format: EnumProperty(
name='Format',
items=(('GLB', 'Binary (.glb)', 'Exports a single file, with all data packed in binary form. Most efficient and portable, but more difficult to edit later'),
('GLTF', 'JSON (.gltf)', 'Exports a single file, with all data packed in JSON. Less efficient than binary, but easier to edit later'),
('GLTF_SEPARATE', 'JSON (.gltf + .bin + textures)', 'Exports multiple files, with separate JSON (.gltf), binary (.bin), and texture data. Easiest to edit later')),
items=(('GLB', 'glb', 'Exports a single file, with all data packed in binary form. Most efficient and portable, but more difficult to edit later'),
('GLTF_EMBEDDED', 'glTF embedded)', 'Exports a single file, with all data packed in JSON. Less efficient than binary, but easier to edit later'),
('GLTF', 'glTF', 'Exports multiple files, with separate JSON (.gltf), binary (.bin), and texture data. Easiest to edit later')),
description='Output format and embedding options. Binary is most efficient, but JSON (embedded or separate) may be easier to edit later',
default='GLB'
default='GLTF'
)
export_copyright: StringProperty(

View File

@ -61,7 +61,7 @@ def __create_buffer(exporter, export_settings):
if export_settings[gltf2_blender_export_keys.FORMAT] == 'GLB':
buffer = exporter.finalize_buffer(export_settings[gltf2_blender_export_keys.FILE_DIRECTORY], is_glb=True)
else:
if export_settings[gltf2_blender_export_keys.FORMAT] == 'GLTF':
if export_settings[gltf2_blender_export_keys.FORMAT] == 'GLTF_EMBEDDED':
exporter.finalize_buffer(export_settings[gltf2_blender_export_keys.FILE_DIRECTORY])
else:
exporter.finalize_buffer(export_settings[gltf2_blender_export_keys.FILE_DIRECTORY],

View File

@ -48,8 +48,7 @@ def __filter_image(sockets_or_slots, export_settings):
def __gather_buffer_view(sockets_or_slots, export_settings):
if export_settings[gltf2_blender_export_keys.FORMAT] != 'ASCII':
if export_settings[gltf2_blender_export_keys.FORMAT] != 'GLTF':
image = __get_image_data(sockets_or_slots)
return gltf2_io_binary_data.BinaryData(
data=image.to_image_data(__gather_mime_type(sockets_or_slots, export_settings)))
@ -80,7 +79,7 @@ def __gather_name(sockets_or_slots, export_settings):
def __gather_uri(sockets_or_slots, export_settings):
if export_settings[gltf2_blender_export_keys.FORMAT] != 'GLB':
if export_settings[gltf2_blender_export_keys.FORMAT] == 'GLTF':
# as usual we just store the data in place instead of already resolving the references
return __get_image_data(sockets_or_slots)
return None