self_modulate equivalent for sprite3D?

Godot Version

4.3.stable

Question

How can I prevent modulate of a parent node from affecting its children? I recently switched my setup for a project from fully 2D to Sprite3Ds and was previously relying on self_modulate, but for some reason Sprite3D doesn't seem to have that

You can assign a standard material to sprit’s material_override property, then assign an albedo texture and use material’s albedo color to modulate the texture.

I feel like I’m missing something. When I add anything to the material override section it replaces the sprite, and if I try using the sprite itself as the material override it loses its transparency

You need to enable alpha transparency in material properties.

1 Like

Thank you so much! It’s working now, tho I can’t quite seem to figure out how to convert the hex codes I was using previously via html() to vec4 for the albedo :sweat_smile:

Color picker should ley you type/paste hex values. If you’re assigning via a script it’s exactly the same, you just assign to a different property. In this case: sprite_node.material_override.albedo_color

Thanks, got it working via material_override.set_albedo