0
$\begingroup$

I am making a beverage can factory animation now. Movement of cans is completed and now I made material of can (lid, label and bottom). Top and bottom lid are with image texture and color ramp, label with image texture in color. UV mapping is also completed and finally I tried to assign all the material to multiple objects. All objects are the same cans.

enter image description here I selected multiple objects, original can at last. Object > make links > materials. They are successfully assigned. Then UV mapping. I bring the can lid material on top then…. Object > make links > transfer UV maps.

enter image description here Iron texture is successfully assigned. Then the label.

enter image description here It is also assigned. But as you can see, this is NOT what I want.

I want to assign all three materials (a top lid, label and bottom) at the same time. Same geometry, same materials… some may think “why don’t you simply duplicate them?” But I can’t. Because I already made quite complicated movements of cans, animation, Rigid body constraint, shape keys and so on. And it took a whole month to do it. I can’t do it all over again. I just want to assign three materials to finish the process. My job is almost completed but I can’t move forward now. Does anybody help me? It will be very much appreciated.

2021・04・21

Thanks for your advice. I have made a lot of progress.

I combined the image texture in one. "3 materials in one" And 3 of them are successfully assigned. Now I have to adjust the surface.

enter image description here I followed the Gordon Brinkmann's advice, made it black and white.

And plugged the image texture to basic color and color ramp to metallic.

enter image description here They are all successfully assigned.

Still there are a lot of thing to add or adjust. I'll keep working on it.

There is one problem.

enter image description here About painting black and white, looking from the side, it looks good. But when I looked from the top....

enter image description here This is no good. I think I'll try texture painting next.

$\endgroup$
3
  • 2
    $\begingroup$ are they not supposed to share the same mesh? To do so, shift select them all, select the one you want to copy at last, then Ctrl L (Make Links) > Object & Data? $\endgroup$ – moonboots Apr 20 at 6:29
  • $\begingroup$ I upvoted this comment because I thought it's a good way and I would usually do it like that, too. But after reading his explanation why he just isn't duplicating them I see the problem - rigid body constraints, shape keys etc. will all be copied from the object they are linked to, and I guess they are not all the same on each can... $\endgroup$ – Gordon Brinkmann Apr 20 at 6:50
  • $\begingroup$ Thank you for comments. moonboots All are sharing the same mesh. I can assign a single material. But the problem is why not three of them at the same time. $\endgroup$ – Varrick Apr 20 at 7:51
0
$\begingroup$

Another way is to model a single can and UV map the textures. Then duplicate your textured can as many times as needed and, the last step, animate the cans. I learned that Blender often requires the right order to achieve the desired effect.

$\endgroup$
5
  • $\begingroup$ Thank you for the answer!! I gradually realized that there is The right order as you said. What I did was opposite way. Even from the beginning of animation I started with simple meshed cylinders and then I made cans with complicated mesh. After replacing the object, the movement became heavy. This was also opposite way. $\endgroup$ – Varrick Apr 20 at 12:24
  • 1
    $\begingroup$ I was deliberately not giving the answer how he should have done it right from the start because in the question he said he wouldn't want to do all the cans all over again... my answer was aiming at his question to keep the cans as they are. $\endgroup$ – Gordon Brinkmann Apr 20 at 13:16
  • $\begingroup$ @Varrick To mark answer as accepted is definitely your privilege, but I'm also surprised how quickly you are able switch from one state - "I can't do it all over again." to "Thank you I will start from beginning." and throw away a month of work :) BTW Gordon's merging material into single one is possible and seems to me as the best solution in your situation. $\endgroup$ – vklidu Apr 20 at 13:34
  • $\begingroup$ @vklidu Well, I won't complain about which answer he chooses, I just wanted to make clear it is still maybe easier to do it my way if it isn't too late now and he already started from the beginning ;) But since I don't really know how much work starting again it will be actually, my way might not be so good. $\endgroup$ – Gordon Brinkmann Apr 20 at 13:43
  • $\begingroup$ @GordonBrinkmann ... but I want. I'm kidding, peace to all of you :) I just that this answer (doesn't matter what s the best) is not an answer to given question how it stated. $\endgroup$ – vklidu Apr 20 at 15:05
2
$\begingroup$

The comment that moonboots gave is the best answer if all your cans are exactly the same. However, if the constraints and shape keys on them are differing from each other, those individual informations would be lost. So this might help as a workaround (if they still share the same mesh):

  1. Select all cans so that the one with the correct UVs is the active one. Then Ctrl+L > Make Links > Transfer UV Maps. This way they have all the same UV maps.
  2. Now you have to link all materials to the other cans. Ctrl+L > Make Links > Materials. Now all materials, no matter how many, are put on all the other cans.
  3. The problem with this is, since you can copy materials to different objects that not necessarily share the same geometry, Blender doesn't transfer the information to which faces they are assigned. That's what you have to do manually.

It's still a lot of work I guess, but maybe less than having to do all constraints, shape keys, rotations, etc. over again. If someone knows how to copy face assignments for materials, please edit this answer.

A different solution would be: combine all three different materials in one material and separate them by masks and UVs, then all cans would only share one material with one UV map and there was no need for re-assigning faces.

$\endgroup$
10
  • $\begingroup$ I think it's the best one can do at this stage. $\endgroup$ – Maulik Sharma Apr 20 at 7:16
  • $\begingroup$ @MaulikSharma I edited my answer, at the bottom I've got another solution. In the end it's not necessary to have many different materials on one object, you could make a single one of them. $\endgroup$ – Gordon Brinkmann Apr 20 at 7:22
  • 1
    $\begingroup$ Why didn't I think of that. I have used that approach so many times in my projects🤦‍♂️🤦‍♂️ $\endgroup$ – Maulik Sharma Apr 20 at 7:38
  • $\begingroup$ Thank you for the comment!! Gordon Brinkmann. You gave me many hints. I'll try several ways for assigning. Whether I succeed or not, I'll leave the comment later. I need some time. $\endgroup$ – Varrick Apr 20 at 8:15
  • 1
    $\begingroup$ Of course this would have been the right order - but in your question you said you can't or don't want to duplicate the one can because you put so much effort in the others before. The problem you describe can be easily solved with a mask texture. Make it black where it should be plastic and white where it should be metal. Plug that into the Metallic input of a Principled BSDF. Now you have metal and plastic masked out. If you want different Roughness for plastic and metal, e.g. 0.2 for plastic and 0.4 for metal than map the 0 and 1 to 0.2 and 0.4 with a Color Ramp or Map Range node. $\endgroup$ – Gordon Brinkmann Apr 20 at 12:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.