2
$\begingroup$

I have linked an object (Blender 3.1) and I'd like to make it gradually appear. I saw that one can do that using keyframes on alpha in the material. Unfortunately, I can't change the alpha of this material as all properties are grayed out:

enter image description here

Is there a solution to my problem that does not overwrite completely the material? Also, my object is created using a Geometry Node, so it means that I needed to manually apply the material inside the Geometry Node (no idea if there is a better solution):

enter image description here

EDIT

I would like to avoid to duplicate or (worse) to create a new material from scratch, as I won't get updates when the original material is changed.

I already have a library override on the object, and I also tried to add a library override to the material, but I can't find how to do:

enter image description here

$\endgroup$
5
  • $\begingroup$ Have you tried to do a library override on either the object or the material from the outliner? $\endgroup$
    – Lauloque
    Commented Mar 9, 2022 at 20:08
  • $\begingroup$ @L0Lock I have one on the object, but I can't find how to apply it to the material $\endgroup$
    – tobiasBora
    Commented Mar 9, 2022 at 20:48
  • $\begingroup$ Hi :). Or you can connect Object info node > Color the material's Alpha, and control it that way :) $\endgroup$ Commented Mar 9, 2022 at 21:05
  • $\begingroup$ @JachymMichal you mean after creating a new shape? The problem is that it won't update if the underlying material changes. $\endgroup$
    – tobiasBora
    Commented Mar 9, 2022 at 22:14
  • 1
    $\begingroup$ Unfortunately material overrides don't really work as of right now. You'll have to create a local copy I'm afraid. $\endgroup$
    – Gorgious
    Commented Mar 10, 2022 at 8:02

3 Answers 3

2
$\begingroup$

You can use Object Info node in the linked material

  1. Add Object Info > Color to drive transparency in the linked material
  2. Link Object to another scene
  3. Adjust transparency through Viewport Display > Color

Linked instance enter image description here

Linked material setup enter image description here

$\endgroup$
1
  • 1
    $\begingroup$ Thanks for your answer! It works nicely and is relatively quick to setup, but it lacks a bit of configurability (you can use at most 4 sliders or one color). I found a solution exploiting custom properties and drivers. $\endgroup$
    – tobiasBora
    Commented Mar 12, 2022 at 16:16
1
$\begingroup$

The proposition of Jachym is fairly nice, but I found it to be not configurable enough for more complex setup (the advantage is that it is really quick to setup, but sadly I can't have more than 4 floats to configure my whole object…). Instead, I found out that I could use object properties + drivers (drivers allow you to bind any property/computed value to any slider). This works even when the material is embedded inside a Geometry node (which is not the case of the solution based on duplicating the material or using group node). The solution is first to create some properties for your object:

enter image description here

Then to configure it (you can choose any name/type inluding colors/min/max you like), notably to allow library overrides:

enter image description here

enter image description here

The new properties appear also in the object properties (type N in the viewport):

enter image description here

Note that you can also configure a color (with or without an alpha channel), like this:

enter image description here

enter image description here

Then, copy the name of your custom property by right clicking on it and selecting "Copy Data Path":

enter image description here

Then, in your Shader Editor, right click on the slider you would like to change (here the alpha parameter), and add a driver (it basically binds any value/property to a slider):

enter image description here

then, in the list, choose your object, and paste the previously copied data path. Update var+1 to var:

enter image description here

Now, you can change your alpha directly from your object property, and link it (link the whole collection) and use libraries override on it as before.

$\endgroup$
1
  • $\begingroup$ Hey :) . Thanks for sharing your solution in detail. I'll probably use it in some future projects ;) $\endgroup$ Commented Mar 12, 2022 at 21:29
0
$\begingroup$

Your material is linked, and must be un-linked to be edited. Click on the paperclip icon next to the material name "Virus" to create a local copy

$\endgroup$
1
  • $\begingroup$ I can't click on the paperclip as it's grey (no idea why, I also reported this before without success). The problem also of this is that if the material changes it won't be synced into account in my new copy. $\endgroup$
    – tobiasBora
    Commented Mar 9, 2022 at 22:17

You must log in to answer this question.

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