0
$\begingroup$

I'm working on designing furniture, and the idea is to have several renders of the same furniture pieces but with different materials ( no changing of camera ).

Since I'm looking to render 30+ different versions, I don't have the capability to create a material with different textures that change with a mix of RGB.

What I'm looking for is more like: frame 1: material #1, frame 2: material #2, and so on. and let them render

Is there a way to change the material per frame?

Thank you very much in advance !

I have all those material to make as renders

$\endgroup$

2 Answers 2

1
$\begingroup$

Just add this simple Geometry node setup to your object, remembering that counting starts from 0, so if you have three materials, they will be presented on frame 0,1,2.

enter image description here

$\endgroup$
3
  • $\begingroup$ Thank you very much, this is so simple... I never tought of geonodes for this !!! $\endgroup$ Commented Jul 4 at 14:42
  • $\begingroup$ @FelixMaison I was a bit slower... I thought about maybe not just using the original geometry, but maybe some new geometry created in the nodetree - that took a bit longer :D Apart from that I thought the Index Switch is a bit more flexible because it does not require all materials to be added to the object, for example if you have materials in a asset library. $\endgroup$ Commented Jul 4 at 14:55
  • $\begingroup$ i.sstatic.net/KPFoQyfG.png thank you for both reply, since I'm modeling the object then add texture I use the first technique with two vertex group in order to have full control on the materials ! thank you again for your clear answer $\endgroup$ Commented Jul 4 at 15:38
1
$\begingroup$

With Geometry Nodes there are basically two ways (probably more?), first of all depending on if you are using the original geometry or have geometry generated by the Geometry Nodes nodetree. I'm making a simple example with only three materials

Original geometry:

The second method below would work here, too, but this one works like this only with the original geometry from the Group Input.

Let's you have a sphere object which should show the different materials. This sphere has three materials, the slots have the indices 0, 1, 2. If you now add a new Geometry Nodes setup, you can use a Set Material Index node to decide which material the object should show.

Plug a Scene Time > Frame node into the Index input and the material changes per frame. (I subtract 1 because the index always starts with 0, but my frames start at 1.)

original geometry

Generated Geometry:

In this case, the generated geometry like this Mesh Primitive > Cone does not automatically gets any of the materials of the original geometry assigned - this has to be done with a Set Material node.

This also means, the indices of the material slots have no effect. To have materials to choose from you can use an Index Switch node set to Material. To get enough slots you can click the Add Item button in the sidepanel.

Then you can select materials for the empty slots. The good thing about this method is (which would also work with the original geometry as mentioned above), it does not need all materials on the original object. As long as they are in the scene, they can be selected here.

generated geometry

The result for both setups (apart from one being a sphere, the other a cone) is this:

frame 1-3

$\endgroup$

You must log in to answer this question.

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