Search - User list
Full Version: Use instance ID in material?
Root » Solaris and Karma » Use instance ID in material?
lor
Good Day.

Can anyone suggest in LOPs how I might use an instance ID in a material. I'm trying to get material variation on each instance of a mesh.

Thank you for any ideas.

lor
simon_o
Using the materialvariation node set to point instances and the instances parameter to something like /myinstancerprim1[*], you could create a new primvar based on the index variable:
toggle use snippet and set the wrangle to:
value=index

.. which will give you the instanceid as a primvar, so it can be read in your material.

Though probably better for material variation would be to create a color3f primvar already with the desired variation color and just read that directly in your material.

To read primvars in Karma, you can just use a parameter node.
rafal
Like Simon said. Here is an example.

P.S. For Karma, you should use Bind VOP rather than Parameter VOP, because inside Mat Lib LOP the semantics of a Parameter VOP is to create an input attribute on the material primitive, while Bind VOP is translated to the standard USD Primvar reader.
NicTanghe
These are fully red even though the foo variable seems to be correctly set.

also using usdglobal elemnum into random should logically work but doesn't.
Hamilton Meathouse
Couple of threads here for more info, but I've also attached an example file.
https://www.sidefx.com/forum/topic/76074/ [www.sidefx.com]
https://www.sidefx.com/forum/topic/79855/ [www.sidefx.com]
Hamilton Meathouse
Example file above has PointInstancer and InstanceableReference examples
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB