Sharing texture nodes between materials 2005-03-28 - By Guillaume Laforge
Back I wrote this little script to quickly share a node/branch between two materials : /****************** SHARE TREE SECTION *******************/
/* -1 Select the node you want to use in a material from an explorer. -2 Run the script and pick the parameter you want to connect in the other material. (if it's a folder with alpha,blue,green,red you can also pick it). Now the node is share between the two materials. */ var oSelNode = Selection(0); var opickedNode = PickObject () ; SIConnectShaderToCnxPoint(oSelNode, opickedNode.item(2), false);
//**************************************************
If the mail formatting is wrong, you can download the script here : www.vol2nuit.fr/scripting/share_tree_section.js
Cheers,
Guillaume Laforge CG artist www.vol2nuit.fr
-- -- Original Message -- --
From: "Guillaume Laforge" <guillaume.laf@(protected)> To: <XSI@(protected)> Sent: Monday, March 28, 2005 9:19 PM Subject: Re: Sharing texture nodes between materials
>> You can share sections without overrides as well. It's a bit of a hack >> and I'm not sure it's intentional functionality, but with scripting >> you can link the input of one node to a node from any material in the >> library. > > Great tip Alan ! > I thought we can't use the same node between two materials. > > For those interested : > If you've got a material named "The_One" with a Cell texture in the > diffuse input and a material named "The_Other_One" without Cell texture, > you can use Cell texture from "the_one" like this : > SIConnectShaderToCnxPoint("Sources.Materials.DefaultLib.The_One.Blinn.Cell", > "Sources.Materials.DefaultLib.The_Other_One.Lambert.diffuse", false); > > Now "The_One" and "The_Other_One" use the same Cell texture that you can > edit in the material you want :-) > > Thanks again Alan for the tips. > > Cheers, > > Guillaume Laforge > CG artist > www.vol2nuit.fr > > > > -- -- Original Message -- -- > > From: "Alan Jones" <skyphyr@(protected)> > To: <XSI@(protected)> > Sent: Monday, March 28, 2005 7:18 PM > Subject: Re: Sharing texture nodes between materials > > >> You can share sections without overrides as well. It's a bit of a hack >> and I'm not sure it's intentional functionality, but with scripting >> you can link the input of one node to a node from any material in the >> library. >> >> Though you don't actually see any visual cue that a node is linked >> among multiple materials in the rendertree. So you might want to name >> the node so you realise. I can't remember the exact syntax for it but >> just drag a nodes output onto another in the rendertree and check the >> script editor. You should be able to figure out how to modify that >> easily enough. >> >> Cheers, >> >> Alan. >> >> >> On Mon, 28 Mar 2005 11:51:15 -0500, Bernard Lebel >> <softimage@(protected)> wrote: >>> That is absolutely possible. However not the same way it is done in >>> Maya. >>> >>> First, you can share entire materials. Second, you can use overrides to >>> share nodes. This is not 100% like the Maya way though. Here is a >>> tutorial that should get you started. >>> >>> http://www.bernardlebel.com/tutorials/XSI_individualTextSharedMat /IndividualTextSharedMat.htm >>> >>> (Written during the XSI 3.0 era, so in 4.0+ you will not need to do the >>> scripting override trick. I should update the turorial...) >>> >>> Cheers >>> Bernard >>> >>> >>> Andrew Konkin wrote: >>> > It's impossible . >>> > I'd been Maya user as well and this lack of ways to connect a one >>> > texture to many materials did disappoint me first time very much. >>> > >>> > On Mon, 28 Mar 2005 17:11:17 +0200, Yaniv Gorali >>> > <yaniv@(protected)> wrote: >>> > >>> >>Hi all. >>> >>I'm a Maya user and used to the sharing capabilities of textures nodes >>> >>between materials. I'm wondering how this is done in XSI. Forgive the >>> >>beginner question, but I've been using XSI for a very short time. >>> >> >>> >>Thanks in advance! >>> >>> --- >>> Unsubscribe? Mail Majordomo@(protected) with the following text in >>> body: >>> unsubscribe xsi >>> >> --- >> Unsubscribe? Mail Majordomo@(protected) with the following text in >> body: >> unsubscribe xsi >> > > > > --- > Unsubscribe? Mail Majordomo@(protected) with the following text in body: > unsubscribe xsi
--- Unsubscribe? Mail Majordomo@(protected) with the following text in body: unsubscribe xsi
|
|