I found it...

Ideally you could just add any shader in the scene to any Material container like so (in the example a Cell shader from "Scene_Material" to another "Material")
Application.AddToContainer( "Sources.Materials.DefaultLib.Material", "sphere.Scene_Material.Cell" ) # Does not work!

However, above line fails because AddToContainer expects a preset and not an existing shader.

So instead you can make a connection directly between an existing shader output and another ones input, even if they reside in different materials.
The following requires you to know the out and input parameter names of your shaders. The following connects the out param of an existing cell shader of the Scene_Material to  the ambient input parameter of another Materials Blinn shader.  

Application.SIConnectShaderToCnxPoint("Sources.Materials.DefaultLib.Scene_Material.Cell.out", "Sources.Materials.DefaultLib.Material.Blinn.ambient", False).

Change your parameter names accordingly and you get what you want, but it's farm from user friendly and Softimage certainly never was intended
to do that, so use at your own risk. The connection is preserved between sessions (save/reload).
I just tried with a simple scene and it works for Mentalray, Vray and Arnold. 3Delight will ignore the connections (I guess they are querying for "Material.Shaders" only at export time and ignore all other inputs for performance reasons). I did not test Redshift or Maxwell.

Let me know how it goes.

Hey guys,

 

Is it possible to share certain nodes in the render tree between materials? I mean, that I have about 7 materials, that would share a Color Save State node which delivers the same color value to these materials.

 

I’d like to avoid custom parameters on scene root, etc. if possible…

 

 

Cheers

 


Szabolcs

___
This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. Crytek GmbH - http://www.crytek.com - Grüneburgweg 16-18, 60322 Frankfurt - HRB77322 Amtsgericht Frankfurt a. Main- UST IdentNr.: DE20432461 - Geschaeftsfuehrer: Avni Yerli, Cevat Yerli, Faruk Yerli



--
-------------------------------------------
Stefan Kubicek
-------------------------------------------
keyvis digital imagery
Alfred Feierfeilstraße 3
A-2380 Perchtoldsdorf bei Wien
Phone: +43/699/12614231
www.keyvis.at [email protected]
-- This email and its attachments are --
--confidential and for the recipient only--

Reply via email to