Saving geo with materials

   3861   14   4
User Avatar
Member
135 posts
Joined: March 2018
Offline
Is there a way to write out a geo together with materials?
In most other dcc this is a standard procedure but I actully never needed to do it in houdini.
The actual need I have is to save out a processed assets (like a car, a tree etc) and I really don’t want to use fbx or usd since I want the redshift or vray shader to be included.
I know I can use HDAs for this but that feels like a hack and forces me to create a python script in order to do programmatically. Any tips?
User Avatar
Member
334 posts
Joined: April 2018
Online
When you say this is standard procedure in other DCCs, what is the format you use to write out a Redshift or V-ray shader along with the rest of the scene?
User Avatar
Member
135 posts
Joined: March 2018
Offline
Oh I should not have mentioned that (other tools) since that is not the type of discussion I am looking for. (It can so easily become a "war" between tools and what is better etc) Anyway, If I for example save a .max file I Studio max it will contain all stuff including shaders and I can load that again. Same seems true for Maya with references but I don't use that currently. Blenders .blend files work in the same way.

So, what I am looking for is practical approaches to saving out materials in a similar way as geometry. The links to texture maps will still be references and does not need to be included/packed/stashed.

As I stated above I know that this can be solved by creating HDAs of an asset but to me that feels wrong.

What if I want to create 500 different trees in a preprocessing step and save out the mesh/textures + shaders to disk? Should I have 500 different HDAs called tree_0413.hda etc?
I can use .vrscene for VRAY but the way that is implemented currently makes it bad for further processing( why? Because the VRAY integration is not solid and unpacking .vrscenes crashes Houdini quite often)

So, any pointers would be greatly appreciated. Quite open to all solutions, as long as complex shaders can be included in an asset or associated with a geo.
Edited by filipw - Jan. 12, 2022 06:42:55
User Avatar
Member
334 posts
Joined: April 2018
Online
filipw
Oh I should not have mentioned that (other tools) since that is not the type of discussion I am looking for. (It can so easily become a "war" between tools and what is better etc) Anyway, If I for example save a .max file I Studio max it will contain all stuff including shaders and I can load that again. Same seems true for Maya with references but I don't use that currently. Blenders .blend files work in the same way.

Are you finding Houdini to be different in this regard? It also saves any shaders you create with the scene file, along with any paths to textures that you specify within that scene.
User Avatar
Member
135 posts
Joined: March 2018
Offline
eikonoklastes
Are you finding Houdini to be different in this regard? It also saves any shaders you create with the scene file, along with any paths to textures that you specify within that scene.

I have not found a way to for example do a "save the selected tree geo and its shaders as a new hip" and have a file node load a said .hip as reference (or just import through a node).

I really hope it is just me being and idiot and using the wrong nomenclature for this. In blender it is called "append" or "link" depending on how you want it to behave.
User Avatar
Member
711 posts
Joined: July 2005
Online
Have you looked into Redshift and VRay Proxies? They are both efficient ways of bringing in on-disk geometry, including materials. The only downside may be the inability to further edit the geometry. But, in Maya at least, you want to avoid doing a ton of edits on top of references.

Another good option would be USD/Solaris.
User Avatar
Member
135 posts
Joined: March 2018
Offline
Siavash Tehrani
Have you looked into Redshift and VRay Proxies?
Thanks for the input! Using VRAY vrscenes atm somewhat successfully for static assets. But in some cases it would be good to be able to do further modifications to materials and in that case we have had a lot for problems when unpacking. Even Chaos themselves recommended USD for those cases.
Have not tried using RS proxies.
User Avatar
Member
833 posts
Joined: Jan. 2018
Offline
Are you asking about saving a self-contained .hip file that carries with it everything as opposed to linking to various files all over the place (obviously making the .hip file rather large, but also easy to transfer to other machines)?
>>Kays
For my Houdini tutorials and more visit:
https://www.youtube.com/c/RightBrainedTutorials [www.youtube.com]
User Avatar
Member
282 posts
Joined: Oct. 2019
Offline
I was talking to Filip and I believe this is the kind of functionality he's talking about. I made a quick example in case it helps others.
Best,
Oliver

Attachments:
odzip.mp4 (2.8 MB)

Oliver Hotz
Origami Digital
Author of ODTools for Houdini: https://origamidigital.com/cart/index.php?route=product/product&path=59_63&product_id=66 [origamidigital.com]
User Avatar
Member
711 posts
Joined: July 2005
Online
filipw
Siavash Tehrani
Have you looked into Redshift and VRay Proxies?
Thanks for the input! Using VRAY vrscenes atm somewhat successfully for static assets. But in some cases it would be good to be able to do further modifications to materials and in that case we have had a lot for problems when unpacking. Even Chaos themselves recommended USD for those cases.
Have not tried using RS proxies.

Hi Filip, VRay proxies are different from .vrscenes:
https://docs.chaos.com/display/VRAYHOUDINI/V-Ray+Proxy+Export [docs.chaos.com]
User Avatar
Member
277 posts
Joined: Nov. 2013
Offline
HDA's are the most native and flexible way of saving geometry and materials (but not limited to of course). HDA's can be referenced/nested while HIP files can't. It's true that (afaik at least) there isn't a super fast way of selecting a bunch of geometry and saving it out to an HDA. But it can be scripted. I imagine once you are wanting to create 500 versions of something you would need to create some kind of script. You might want to look into PDG/TOPS as a means of automating the export process.
User Avatar
Member
334 posts
Joined: April 2018
Online
If I understand now, you want to save a subset of your scene as a separate file, with all the references to that geometry intact.

You're right, I don't know of an easy way to do this in Houdini. Sounds like something Solaris is better suited for.
User Avatar
Member
447 posts
Joined: Aug. 2019
Offline
I know HDA allows to embed extra files, but is there a way to automatically convert all the external references to embedded files when creating HDA? In other words, the "Pre-Flight" feature for HDA?

Now I need to manually find all the external references, change them to "opdef:" format, and embed all the files. And I never know if I miss one. It doesn't seem like a practical soluation.
Edited by raincole - Jan. 13, 2022 04:53:33
User Avatar
Member
135 posts
Joined: March 2018
Offline
I found Olivers tools very useful and basically using those are a way to solve the need I have. Since I already have a copy of ODTools I just need to evaluate and try to script it since my needs indeed are for processing stuff. I use PDG for some of my processing workflows but have found it to be not really reliable to be honest.(crashes!, fails on work items etc ). HDAs work fine as antc mentioned above, I just never used them in this way before. We'll see, pipelines are hard!
Edited by filipw - Jan. 13, 2022 08:15:24
User Avatar
Member
216 posts
Joined: Oct. 2015
Offline
@filipw, yes I think you point out a big problem about assets organisation in Houdini.

I come with softimage background were I was used model (.emdl) file, which is the .max equivalent, where it can save subset of scene (geo + material + anyway inside current selection for example).

Here there is hda which is of course more powerfull but not so easy to manage "simple" asset library of 500+ items.

Also, if you want to share project (for rendering purpose for example, or anyway) you may have to check option to save hda inside hip file. Which is convenient when you use specific production tool (even as indie user !). But imagine if you also have all this 500+ hda inside you're scene, it will became a file way too heavy !

Also if you have to share a simple part of scene for another user, by email for example, how to ? HDA ? and then other user must put it in a referenced hda folder by Houdini in env, then restart H. Not easy.

I also think, but just a personal feeling, that also explain why in all major 3d asset marketplace there isn't any kind of houdini specific asset format with ready materials (for mantra or other third party) .


In the other side, the positive benefit in houdini is that it can copy paste part of scene from one session to another with an astonishing ease ! If it not replace a physical asset file it give some facility.


@oliver7, you're solution is exactly what H miss, I'll look at it !

Then, and sorry for this long post, is the new solaris library asset is able to save, along geo, materials from third party shader ?
  • Quick Links