Image transparency

Using many semi transparent images in 3D workspace, importing with “Images as Planes”.

in the Materials tab Blend mode is set to Opaque for all images and I need to change it to Alpha Blend to have the transparency show in Eevee.

My problem is that I cannot “Copy to Selected” for that property. It is greyed out so I have to manually change Blend Mode for each of the images, which can easily be 30-40 in each scene.
I haven’t found any settings to have imported images having Alpha Blend mode as default.
Importing exactly the same way as in 2.79> where the images comes in with transparency (Z Transparency)

Are there any solution to this?

without getting too technical, I think the copy to selected option isn’t available because of the way data is stored in blender. you never really have multiple materials selected, you have multiple objects selected, each of which could have multiple or no materials.

but given your use case, I made a little script that does what you need. it assumes you want to copy the blend mode from the active material of the active object, to the active material of other selected objects.

import bpy

blend_method = bpy.context.object.material_slots[bpy.context.object.active_material_index].material.blend_method
for ob in bpy.context.selected_objects:
    ob.material_slots[ob.active_material_index].material.blend_method = blend_method

one other consideration you’ll likely encounter, is that alpha blend I think struggles with depth sorting, so if you’ve got a bunch of layered transparent objects, they might not visually stack in the right order. I found alpha hashed to be a bit more reliable, and with enough samples, it smoothes out the dithering to resemble smooth alpha gradients.

1 Like

Thank you!
That script did exactly what I want.

I’ll have to investigate depth sorting, I usually have the images stacked as I’m doing cut-out animation. Thanks for the heads up on that.

I’ll file a feature request for the Blend mode on imported images.