1
$\begingroup$

Let's say I have a cube with two materials assigned to it: cat and dog. The cat material is assigned to one face, and it's a simple image texture node with a picture of a cat. The dog material is assigned to another face, and same node setup.

Now I understand that a model can be assigned multiple materials, but each face can only be assigned one material, and so my question is:

Is is possible, in the texture paint mode specifically, to create a painted line that would start from the dog face and end in the cat face? If so how?

Now it seems to me that it's not possible unless you make two textures (splitting your painting in two in this case), one for the dog, and one for the cat, but I'm a beginner so I still hope it's possible somehow in a simpler manner...

enter image description here

$\endgroup$

2 Answers 2

1
$\begingroup$

If you are using Cycles, this is as easy as copying and pasting the new overlay image texture set up into the second material so that when painting on the single image, it is references in both materials and can allow interaction in Texture Paint mode with Material Draw mode. I have a screen shot to show a simple two side set up.shared image texture between materials

$\endgroup$
0
$\begingroup$

@Craig D Jones, thanks, that worked like a charm.

Now if there are other beginners like me who wants to know the exact steps to implement Craig's method, here is what I did:

  1. Split your screen in 4 (3d view, 3d view rendered, node editor, uv/image editor)
  2. 3DView > add cube
  3. switch to Edit mode, unwrap the cube (place your seams before hand if necessary)
  4. Properties > material > add two materials:
    • first one named red, with a red diffuse color. Note: at this step blender will assign the whole UV map to this red material
    • second one is blue, with a blue diffuse color
  5. In the 3d view, select a face, then back in properties > material, select the blue material, then click assign to assign the blue material to the selected face. Now it's time to add the paint overlay!
  6. 3DView > switch to texture paint mode, then open your toolshelf with "t" if not opened yet. Click the "add paint slot" button. A dropdown list appear, I chose alpha (but I guess I could I have go with diffuse color as well). Blender will create an image texture named "blue Alpha" (visible in properties > texture tab) and also create an image texture node (visible in the node editor). Notice that the node is not connected to other nodes.
  7. 3DView > toolshelf > Slot tab, change the painting mode to "image" to be able to draw on the whole mesh (and not just the selected material). Then in the "canvas Image" section (just below), click the dropdown menu and select the "blue Alpha" image texture. In your 3d view, your mesh should turn from white to black, indicating that it's ready to be painted on.
  8. Paint your mesh as you like. Notice how it affects the "blue Alpha" image texture in the uv/image editor.
  9. Now it's time to render your paint. In the node editor, add a color>mixRGB node then implement the following connexions:
    • image texture (blue Alpha).color > mixRGB.color2
    • image texture.alpha > mixRGB.factor
    • mixRGB.color > diffuseBSDF.color
    • diffuseBSDF.BSDF > Material Output.surface
  10. Then in your mixRGB node change the blend mode to "add" or "screen" (otherwise your background would probably look black). You should be able to see your first face in the 3DView (the one with the rendered mode active).
  11. Now select both the image texture node and the mixRGB node (now labelled "Add" since we changed the blend mode to add), and copy them (ctrl+c), we are going to paste them in the red material.
  12. In properties > material, select the red material
  13. Back in the node editor, paste the nodes from your clipboard (ctrl+v), then connect the mixRGB.color node to the diffuseBSDF.color.
  14. Change your background color to whatever (mixRGB.color2).
  15. Done :)

Note: if you want, you can replace your background color (in mixRGB.color1) with an image: create an image texture node and plug its color to mixRGB.color1, that should get you started.

Hope this helps.

$\endgroup$
1
  • $\begingroup$ I just used regular texture mode, not image mode, and I used Mix instead of Add, as I used the Alpha input to control the amount. Other than that, at least you figured it out now. $\endgroup$ Commented Oct 31, 2018 at 2:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .