gregjenings Posted June 5 Share Posted June 5 I am currently working on transferring animated data to an asset in the final output of a shot. I have generated a cache using a Geometry Sequence, but I would appreciate some guidance on the correct and most efficient method to transfer this cached or animated data to the final asset. Additionally, I would like to know whether the same approach can be applied to simulation caches. To help illustrate my workflow, I have attached a reference file for your review. I would be grateful for any suggestions or best practices you could share. Thank you in advance for your support! USD_Anim_Transfer.rar Quote Link to comment Share on other sites More sharing options...
PixelNinja Posted Thursday at 06:56 AM Share Posted Thursday at 06:56 AM I don't know your pipeline so I can only comment on why your scenefile doesn't currently work. If you're intent is to sublayer deforming meshes over static meshes then your deforming meshes layer must be authored such that the mesh prims are in the correct place. Your scene attempts to sublayer /Anim/Ball_Anim over /Anim/Ball/geo/Ball, so it won't work. You could reference the deformation onto /Anim/Ball/geo/Ball but your deformation layer has /Anim/Ball_Anim specified as an "over" not a "define" so that won't work either. Essentially you need to reauthor your GeoClip layer. The red nodes in the image here are what I needed to do to make it work. My recommendation would be to either author your deforming mesh with a heirarchy that matches your asset (/Ball/geo/Ball) or your shot (/Anim/Ball/geo/Ball). In the former case you can sublayer the animation over the asset and then reference the animating asset into the shot. In the latter case you can simply sublayer the animation over the shot. Hope that helps. As a side note, I try to avoid sublayering after referencing as it leads to more layers on disk than necessary. If you look at the layers panel, every time you end up with an implicit layer sandwiched between explicit or "don't save" layers you'll end up with an extra layer needing to be saved. So try to order things to keep implicit layers together at the top of the stack so they nicely collaspe into a single work layer when you export. Quote Link to comment Share on other sites More sharing options...
gregjenings Posted Saturday at 01:32 PM Author Share Posted Saturday at 01:32 PM Thank you very much, Matt, for your detailed response and explanation. I greatly appreciate your time and insight. I was hoping to understand more about how you structure your scene while keeping the pipeline in mind. I'm planning to use the Component Builder for asset creation, and I’d prefer not to export USD directly from SOPs. From what I’ve read in some forum discussions, exporting USD from SOPs can sometimes result in missing attributes. For that reason, I'm currently using the Geo Clip Sequence node. My goal is to bring all geometry into Solaris and cache it there. However, I’ve encountered an issue with the Geo Clip node: when I save the output, it alters the hierarchy names. I'm not sure how to prevent this so that it matches the hierarchy created by the Component Builder. Any guidance on how to resolve this would be very helpful. If possible, it would be incredibly helpful if you could provide an example file showing the correct workflow. I’ve looked through SideFX documentation and tutorials but haven’t found one that addresses this specific issue within Solaris. Without caching, I've also noticed the scene becomes quite slow during lighting — especially when working with fur or feathers. Additionally, I have a question about caching: after creating a .bgeo cache, is it necessary to generate a separate geometry cache? It seems to create redundant files, and in cases involving fur or feathers, the geometry cache tends to be significantly larger than the .bgeo. The only benefit I’ve seen is that the Geo Clip Sequence loads faster. As mentioned, is there a way to directly generate the final geometry cache without first creating a .bgeo cache? I’d like to avoid repeated caching steps if possible. Thanks again for your help and any advice you can offer! Quote Link to comment Share on other sites More sharing options...
PixelNinja Posted Saturday at 10:32 PM Share Posted Saturday at 10:32 PM (edited) I also don't like to export directly from SOPs. I tend to do all of my work in SOPCreate nodes so that I can see how my geo is being translated into USD before I cache. You should be able to specify the primitive path on the Geo Clip Sequence node. I don't have a hip file on hand but I have made a tutorial that covers a caching + referencing workflow that might be helpful. Scenes can get slow for loads of reasons, even when everything is cached. The main thing you can do to keep things as light as possible is make sure you have no time dependency badges and ideally have proxy geo for everything. If it's a big scene with lots of assets then unloading payloads can help too. Regarding the bgeo cache, you can use that directly in the Geometry Clip Sequence (as long as you're rendering in Houdini/husk). I do that for heavy fluid Sims as you're right it tends to be a smaller file size. I also cover this in the tutorial above. Alternatively for other things I'll treat the bgeo cache as a temporary cache to avoid having to recook things and then save my USD cache from there. You can of course save directly to USD instead of bgeo. Just use a USD Export in sops or USD ROP or File Cache in LOPs. Note that you should only need the Geometry Clip Sequence if you're caching really heavy geo to per frame USD or bgeo files. For most things you can save to a single USD file which is much easier to work with. Edited Saturday at 10:35 PM by PixelNinja Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.