Arnold for Cinema 4D Forum
Rendering with Arnold in CINEMA 4D using the C4DtoA plug-in.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Applying label on object with alpha map

Message 1 of 12
557 Views, 11 Replies

Applying label on object with alpha map


I have a problem and i can´t solve it which becomes really frustrating at the moment...

I want to apply a picture on an object using a alpha map. there is already a main texture on the object and i want to place the tetxture over it. i do a polygon selection for the area and aplly the texture on it and use another textue in the alpha channel of the object.

the alpha does not work and the poly selection is always white somehow (even without a texture on it)bildschirmfoto-2021-02-23-um-000511.png. changed the sequence of the poly selections but it won´t help. used the alpha map in the cut out oppacity channel in the object and unchecked the opaye option but i keeps looking there a prooper workflow way to do this because i am running out of ideas....thank you!

Labels (2)
Message 2 of 12
in reply to: eddi_fuhrmann

Hi, I know this isnt done in your host, but you can follow the logic of doing it in a nicer way than selecting polygons and treat it as a photoshop document instead.

Use the Arnold Layer RGBA node, and start from the bottom like in photoshop. so slot 8 gets the background texture.

Slot 7 gets the overlay and the alpha channel is stuck into slot 7s Mix slot.

That is it, you can then use a transform node to move your texture around separatly, scale it, make it look ace at the exact position, excluding the need to select polygons and greatly simplify your workflow making it flexible.

Do note I use OSL texture loaders, but your host can also load those, just follow the logic of stacking things up from the bottom like in photoshop and you will be fine.


Message 3 of 12
in reply to: madsd

thank you so far...i will try this later and tell you if it worked.

Message 4 of 12

Tried eversthing but i don´t can pull it of. the problem is i can´t use a layer note because material 1 is a complete shader and i want to layer the label on top of it. so i put the label in the base color of a new shader and try to combine them with a mix node or a layer shader but they don´t work..there must be a way for such a simple thing or am i missing something?

Message 5 of 12

This should be as simple as using the Alpha channel of the Arnold Material or a layer_shader. Here's a simple example of both:

I wonder what's different in your scene which makes it fail.

Message 6 of 12


i tried every combination but it doesn´t work at all.there is still some white around the label and i really don´t know what to do anymore....

Message 7 of 12

Can you share the scene or send it to

Message 8 of 12

i write you a mail..thanks for your help!

Message 9 of 12


ok i finally managed to place the label using the node setup in the first screenshot. had to use the exact same uv transform node for the label and the alpha...the last problem is now that i am not able to get rid of the label on the top....i set the uv wrap to clamp but it is still tiling..if i uncheck tiling in the material setings nothing changes either..only one step missing here...any final ideas?

Message 10 of 12
in reply to: eddi_fuhrmann

Instead of using Arnolds UV transform, use the OSL transform.


You simplify the noodle since this transform sits upsteam, on the other side of your bitmap, and thus you only need to use 1 to control rgb and alpha.
I think I mentioned this earlier else I forgot, but its better to do it like that.

If you also use an OSL Bitmap look up instead of whatever you use to load texture now, you can easily avoid tiling by setting the dropdown to non tiling and it will work.

So if you kinda do - excatly - like my initial images, its the simplest.

Message 11 of 12
in reply to: eddi_fuhrmann



Try look here.
I made a custom bitmap loader that does all you need.

Download the shader called NonTilingTexture and wire it up like second image. Dont forget to download the Uv transform node as well.

shader NonTilingTexture
    string Texture = ""[[string widget = "filename" ]],
    point Position = P,
    float gamma = 2.2,
    output color Color = 0,
    output float Alpha = 0,
    Color = texture(Texture,Position[0],1-Position[1], "wrap", "default", "alpha", Alpha);
    Color = pow(Color,gamma);

Message 12 of 12
in reply to: eddi_fuhrmann

So something like this.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums