10
$\begingroup$

For example, make an object glossier after touching another mesh, to make it look wet (dynamic paint?)

Or make it appear burned after being close to a flame simulation? (particles + dynamic paint?)

I know it's possible to change the object color with dynamic paint, but is it possible to do the same sort of thing with a material?

(Perhaps some complex system that uses dynamic paint generated image sequences to mix several shaders and node groups?)

$\endgroup$
  • 1
    $\begingroup$ See the dynamic paint documentation. It can output a images sequence or vertex colours, either can be used in your materials for mixing and/or setting-colours. $\endgroup$ – Aldrik Jul 15 '13 at 23:54
7
$\begingroup$

Dynamic paint is basically an automated painting system, you define a canvas and brush and together they generate an image (unless saved into vertex data such as vertex colour or group). This image can be used just like any other image within blender.

As shown in Miika's documentation you can use the generated image to adjust various texture settings within the blender internal materials. One example that appears to be omitted is the stencil setting (in the influence panel), this enables the texture layer to be a mask between higher and lower texture layers.

Within cycles you can use an image as input for the Fac value of a mix shader. As the final mix in a material you effectively choose between two different materials. You could also use it at any stage to mix any part of the node setup or input any specific value of a single node, like noise scale or emission strength.

Using nodes with the blender internal render you would input into a MixRGB node instead of a MixShader node to get a similar result.

enter image description here

| improve this answer | |
$\endgroup$
0
$\begingroup$

Are you using Cycles? Then it's easy! Use a mix shader. Feed one input with one material, and the other with a different material. The "fac" input of the mix shader can be keyframed, for example 0.0 from at frame 100, and 1.0 at frame 200. Then you've got an object appearing as one material from the start of the animation to about five seconds in (24 or 25 fps), gradually changing to be the other material at 10 sec in.

If instead of switching materials at fixed times you want to change them upon object collisions, in response to fluid or particle system activity, or anything else, it probably can be done with a "driver" but I have too little experience with drivers to explain.

Blender Internal's material parameters can be keyframed, but I don't know of anything as slick as using a mix shader in Cycles.

For the game engine, I have no idea...

| improve this answer | |
$\endgroup$

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.