USD Materials
4692 6 1- TRex92
- Member
- 43 posts
- Joined: 12月 2012
- Offline
Is there a way to access the materials that are stored in a USD file? They also only seem visible using the file node instead of the USD import node. I did see another thread talking about this, but it went in a different direction. Basically I just want the materials to be put into a material library instead of having to recreate them manually. Is this possible?
- jsmack
- Member
- 8042 posts
- Joined: 9月 2011
- Offline
What are you trying to do? There isn't a facility to access the materials in a USD file from within the Houdini scene as nodes in a Material Library. They can be assigned to primitives in the scene or they can be modified by changing attribute values on shader or material prims with edit property nodes. There is the edit material network LOP which attempts to recreate the material in the scene to varying degrees of success, but it won't work for materials defined in code such as VEX builder materials.
If recreating materials as editable networks for use in solaris is all that's needed, the edit material network is probably the best option.
If recreating materials as editable networks for use in solaris is all that's needed, the edit material network is probably the best option.
- TRex92
- Member
- 43 posts
- Joined: 12月 2012
- Offline
- mgbaker
- Member
- 80 posts
- Joined: 4月 2020
- Online
Hello Experts,
I have a real newbie question. This topic thread looks like the closest to my question, but doesn't quite answer it. I'm importing a usd scene from NVIDIA Omniverse using the Houdini connector and usdimport. I'm also happy instead to import an fbx version of the scene. In either case, the primitives come in with a list of named parts and a list of paths to materials for those parts. I would like to associate those materials with the primitives, but I'm not sure how best to do that. I had thought to try to import them somehow into the materials library, but it sounds from this thread that this isn't the right way to go. (And I'm not finding the way to do that in any case.) Should I instead use the material SOP? But I'm not sure how to point it at the materials on disk by pathname.
I do understand this is a very newbie question. I've dealt with a lot of geometry and point color, but materials are new to me. I'm listening to a variety of tutorials, but I haven't yet found my answer in them. Perhaps I'm not searching for the right thing?
Thanks so much for any help you can offer,
Mary
I have a real newbie question. This topic thread looks like the closest to my question, but doesn't quite answer it. I'm importing a usd scene from NVIDIA Omniverse using the Houdini connector and usdimport. I'm also happy instead to import an fbx version of the scene. In either case, the primitives come in with a list of named parts and a list of paths to materials for those parts. I would like to associate those materials with the primitives, but I'm not sure how best to do that. I had thought to try to import them somehow into the materials library, but it sounds from this thread that this isn't the right way to go. (And I'm not finding the way to do that in any case.) Should I instead use the material SOP? But I'm not sure how to point it at the materials on disk by pathname.
I do understand this is a very newbie question. I've dealt with a lot of geometry and point color, but materials are new to me. I'm listening to a variety of tutorials, but I haven't yet found my answer in them. Perhaps I'm not searching for the right thing?
Thanks so much for any help you can offer,
Mary
- rafeek
- スタッフ
- 98 posts
- Joined: 8月 2015
- Offline
mgbaker
Hello Experts,
...
In either case, the primitives come in with a list of named parts and a list of paths to materials for those parts. I would like to associate those materials with the primitives, but I'm not sure how best to do that.
...
Should I instead use the material SOP? But I'm not sure how to point it at the materials on disk by pathname.
Hi Mary, this is a great question.
The basics of what you need to do are:
- Reference the material on disk. The
assetreference
LOP is the easiest way to do this, but you'll need a separate LOP for each reference made. The "Parent Primitive Type" is typically 'Scope' for materials. The more genericreference
LOP will allow you to do multiple references in a single LOP but is a bit more complex to use. - Assign the referenced material with the
assignmaterial
LOP. This LOP will let you do multiple assignments in a single LOP.
I hope this helps.
-- Rafeek
- mgbaker
- Member
- 80 posts
- Joined: 4月 2020
- Online
- Nabeel Shaikh
- Member
- 2 posts
- Joined: 2月 2022
- Offline
jsmackHey I have a similar issue like this I got a trex animation from skecthfab but they just gave glb and a converted usdz file with which in usdz the animatoon was not coming so I used glb as file for my scene. But the textures that came with glb file doesn't seem to work as usdz how can I transfer usdz textures on it.|
What are you trying to do? There isn't a facility to access the materials in a USD file from within the Houdini scene as nodes in a Material Library. They can be assigned to primitives in the scene or they can be modified by changing attribute values on shader or material prims with edit property nodes. There is the edit material network LOP which attempts to recreate the material in the scene to varying degrees of success, but it won't work for materials defined in code such as VEX builder materials.
If recreating materials as editable networks for use in solaris is all that's needed, the edit material network is probably the best option.
Image Not Found
-
- Quick Links