Jump to content
Sign in to follow this  
kiryha

Organizing complex assets

Recommended Posts

I have a complex HDA (a city) where all parts were merged together from a bunch of miscellaneous caches. I use HDA to transfer data between production stages, to load environment model in render scenes. At some point, I was not able to render my scene, after the "Generate scene..." message nothing happened for quite a long time. So I start to troubleshoot all this mess and find some possible reasons for issues.

First, I have static geo (terrain, buildings etc) and animated parts (moving cars, peoples etc) merged together and I add a Trail sop to calculate velocity to get motion blur at the end of my network (after all merges). I delete this node and scene start rendering again. So the first conclusion I made: I can't merge static and animated geometry, have to create separate HDA for moving parts.

After this, I stuck with the next issue, some parts of the asset were not present on render, some of them were black... I clean up all attributes on all caches, leave the only shop_materialpath and this helps, I get what I expected on render. So my second conclusion: merged objects have to share the same attributes to work properly.

My question is: do my conclusions make sense? I doubt cos until some point the all-in-one messy asset were rendered fine... I realize that this is quite an abstract question but I have a filling I might do something wrong at the high level. 
I don't know how to share the HDA, cos all geometry is baked on disk and its a lot of data. Here is collapsed asset, just for reference of HDA structure GEO_CITY_030.hipnc And example render of the environment.

 

Share this post


Link to post
Share on other sites
Quote

I don't know how to share the HDA, cos all geometry is baked on disk and its a lot of data. Here is collapsed asset, just for reference of HDA structure GEO_CITY_030.hipnc And example render of the environment.

There's an option to save asset definition inside the hipfile. Assets >> Asset Manager .. [ Configuration ] Save Operators definitions to Hip File.
For geo, you could use a 'stash' sop node or lock the node.

It's a bit difficult to visualize possible problems without seeing the geometry. Looking through your scene everything looks fine. There are many ways to solve complex scenes and this will depend a lot on the challenges you face to output and which control you're looking for. 

Share this post


Link to post
Share on other sites

Well, after I sort out all attributes (now they are all the same for all merge nodes) and split animated data into a separate asset the scene is rendering fine.
Next, I will try to merge animation back to the main asset, see what will happen. In overall, the question was if its ok to merge branches with mismatched attributes...

Share this post


Link to post
Share on other sites

Merging animated and static data fails...

Here is the file reproducing the problem. Try to render "cam" camera, after 'Generating scene..." nothing happened, rendering does not starts.

E010_S040_008.zip

Edited by kiryha

Share this post


Link to post
Share on other sites

i don't see anything in viewport when i'm displaying subnet TRAFFIC. In the node info i can see 462 Packed Geos and when i'm unpacking them there is a warning in node info: "Geometry contains degenerate primitives" and nothing happens

Share this post


Link to post
Share on other sites

I am not sure how this Stash node is working... I can see the TRAFFIC geo even if I delete FileCache node "BAKE_CARS" on my machine. What can I do to fix it?

Share this post


Link to post
Share on other sites

Then, why Victor (@vicvvsh) can't see anything? That is the question :)

Edited by kiryha

Share this post


Link to post
Share on other sites

but if your cars are moving/animated....I don't think you're using stash correctly. If you feed something to stash, click Stash Input, then it takes a snapshot at that instant....it's not storing the entire sequence/animation of whatever you're feeding it...

an extremely easy test to do, animate a ball going left to right, then add stash, test Stash at various different frames and you'll see the effect immediately.

Edited by Noobini

Share this post


Link to post
Share on other sites

I don't need to store all animation range, one frame is fine to debug what's wrong with my render. Will Stash store one frame (its assets copied to points with Pack And Instance enabled)?

Share this post


Link to post
Share on other sites

it should i guess..here I'm testing stashing a mix of packed/nonpacked geos...seems to be fine..

it doesn't explain why I can't see anything in your stash tho...even tho it says there are 462 packed geos...i can't see anything...maybe to be sure...click stash input again before you save and upload..

stash_mix.jpg

Share this post


Link to post
Share on other sites

I extract nodes from asset and delete it. Even so, the issue still exists, rendering does not starts. If you turn OFF the "Geometry Velocity Blur" on ENVIRONMENT node it will work.

E010_S040_001.thumb.PNG.766b785fff65ed02b98ad4e9d5eb0c2c.PNG

E010_S040_0081.zip

Edited by kiryha

Share this post


Link to post
Share on other sites
3 hours ago, kiryha said:

I extract nodes from asset and delete it. Even so, the issue still exists, rendering does not starts. If you turn OFF the "Geometry Velocity Blur" on ENVIRONMENT node it will work.

E010_S040_001.thumb.PNG.766b785fff65ed02b98ad4e9d5eb0c2c.PNG

E010_S040_0081.zip

 

No, all the same.

pic_01.jpg.adcfc383f8367ef50795faf74f9ca06c.jpg

 

then i tried render MONUMENT geometry and got this

pic_02.jpg.a9a70ef54520d39ed8146267c00c92e4.jpg

 

and when i unpacked

pic_03.thumb.jpg.b556d14adf2a8aaca02dea684831f81f.jpg

 

It seems that something wrong with your alembic.

  • Like 1

Share this post


Link to post
Share on other sites

Output form MONUMENT now is pure geometry plus packed alembic. If your separate them then each of them rendering fine separately but still i can't see alembic.

Edited by vicvvsh

Share this post


Link to post
Share on other sites

Unpack before Stush. Add alembic archives just in case (but alembic itself should be fine... what could be wrong with Alembic...). 

So the issue could be with mixing alembic and Houdini geometry, not in mixing different attributes...

ABC.zip

E010_S040_0082.zip

Share this post


Link to post
Share on other sites

Now:

MONUMENT - render OK

I pulled alembic form ABC.zip into the scene - render OK

copy to point alembic, pack and instance - on - render OK

then merge this packed geos and MONUMENT - render OK

merge alembic and MONUMENT - render OK

I did this with and without stash node - all OK

But from TRAFFIC i can't see anything

 

Share this post


Link to post
Share on other sites

Now I've tried this:

saved scene with merged alembic and geo from MONUMENT and stash. Then i delete alembic files from the disk and opened scene again. And that why i can't see alembic because it must be on the disk even if using stash node or locking node. No one alembic geometry in viewport and Render View. When I've returned *.abc on the disk  - all OK.

Edited by vicvvsh
  • Like 1

Share this post


Link to post
Share on other sites

Here are the source vehicles (I have no idea how to use them cos they were copied to points and then baked to bgeo.sc which was unpack and stashed). I think even if you will get all the data to render it may not reproduce my problem...

I wonder, if there are any tools to collect all data for Houdini scene so I can share the necessary part as is, without any baking and collapsing (cos during this stages we can loose the reason of issue).

VEHICLES.zip

Share this post


Link to post
Share on other sites

If you doubt that merging different types of geometry and attributes leads to issues you can try separate them in different geometry object nodes. Did you try this?

Share this post


Link to post
Share on other sites

Yes, I ended up separating animated and static data and everything is working fine since. It makes setup a bit more complex, you have to carry two environments HDA instead of one but its still manageable.
I think there should be a way to put everything in one HDA but for now, I will move forward with this solution.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×