I had the need to create a skin material for a multitude of characters.
The idea was to create a custom property on the rig to drive the color of many objects belonging to that rig.
After some tinkering here is a way to do just that.
create the objects and for each object create a custom property on the object level.
Important here is that the name has to be the same for each and every object.
Use a “Float Array” with a Subtype “Linear Color” to get a chance to set a color here.
create a simple material which grabs the custom property as an attribute from the object this material is attached to.
The name here can be different, but it has to be also a “Float Array” with Subtype “Linear Color”.
Now the tedious process of creating the drivers and attaching them to the custom properties starts.
Left-Click on the bone property of the color. Right-Click on Red-Channel and copy this as a new driver.
That’s really great, thanks a lot for sharing! I’ll read it a couple more times before trying it out to let it sink in in my mind.
Would you mind sharing a small timelapse/screenrecording of how the end result looks? I mean, what do you do afterwards to change the color of the skin of your characters? Do you move around the bone with drivers? Or what do you change?
Hi Andy,
here is a short screen recording of the full process.
Not edited, so there are a few missed clicks.
Hope it helps and it shows at the end what can be done with it.
I tried to use global properties, but if you use mulitple characters in the same scene all get the same skin color.
But I wanted to have a different skin color for each character I linked in.
And the object level property is per object. If a character consists of multiple objects you have to change it on each and every object of that character. Using the rig centralizes this and gives you one property for all objects of that character.