diff --git a/addons/io_scene_gltf2/blender/exp/material/gltf2_blender_gather_image.py b/addons/io_scene_gltf2/blender/exp/material/gltf2_blender_gather_image.py index 05846f701..12eb41992 100644 --- a/addons/io_scene_gltf2/blender/exp/material/gltf2_blender_gather_image.py +++ b/addons/io_scene_gltf2/blender/exp/material/gltf2_blender_gather_image.py @@ -348,7 +348,10 @@ def __get_image_data_mapping(sockets, results, use_tile, export_settings) -> Exp else: composed_image.fill_image(result.shader_node.image, dst_chan, src_chan) else: - composed_image.fill_image_bw_tile(result.shader_node.image, export_settings['current_udim_info']['tile'], dst_chan) + if src_chan == Channel.RGB2BW: + composed_image.fill_image_bw_tile(result.shader_node.image, export_settings['current_udim_info']['tile'], dst_chan) + else: + composed_image.fill_image_tile(result.shader_node.image, export_settings['current_udim_info']['tile'], dst_chan, src_chan) # Since metal/roughness are always used together, make sure # the other channel is filled.