diff --git a/src/Autoload/Export.gd b/src/Autoload/Export.gd index da33df482..a83edb52c 100644 --- a/src/Autoload/Export.gd +++ b/src/Autoload/Export.gd @@ -383,11 +383,9 @@ func blend_layers( else: var layer: BaseLayer = project.layers[export_layers - 2] var layer_image := Image.new() - if layer is PixelLayer: - layer_image.copy_from(frame.cels[export_layers - 2].image) - elif layer is GroupLayer: + if layer is GroupLayer: layer_image.copy_from(layer.blend_children(frame, Vector2.ZERO)) - elif layer is Layer3D: + else: layer_image.copy_from(frame.cels[export_layers - 2].get_image()) image.blend_rect(layer_image, Rect2(Vector2.ZERO, project.size), origin) diff --git a/src/Classes/GroupLayer.gd b/src/Classes/GroupLayer.gd index 56a923663..69dfe3bb8 100644 --- a/src/Classes/GroupLayer.gd +++ b/src/Classes/GroupLayer.gd @@ -18,10 +18,10 @@ func blend_children(frame: Frame, origin := Vector2.ZERO) -> Image: for layer in children: if not layer.is_visible_in_hierarchy(): continue - if layer is PixelLayer: - var cel: PixelCel = frame.cels[layer.index] + if layer is PixelLayer or layer is Layer3D: + var cel: BaseCel = frame.cels[layer.index] var cel_image := Image.new() - cel_image.copy_from(cel.image) + cel_image.copy_from(cel.get_image()) if cel.opacity < 1: # If we have cel transparency cel_image.lock() for xx in cel_image.get_size().x: