Cache particle points and Offset particle cache in time?

   5716   5   1
User Avatar
Member
408 posts
Joined: June 2015
Offline
Hey Guys,

Noobs here. I'm using Houdini Indie and would like to know how to cache a POP and then duplicate it and offset it in time. The purpose of that being to loop the particle animation by overlapping identical POPs to match the first and last frame on my timeline.

So two questions really. What's the recommended way to cache POPs, knowing that i only want to cache points as the geometry is instanced at render time using Redshift “strands” and “point cloud instancing”.

And how to shift the time offset of the cached POP afterward?

I know it's an easy one, but i've never done it so far. Would be great to get some heads up.

Cheers,

A.
Edited by Adriano - March 19, 2017 09:15:19
User Avatar
Member
2540 posts
Joined: June 2008
Offline
The way I cache out most sims is to locate the import node for the simulator. This typically has a DOP Import. If you middle click on the DOP Import you can review what it contains/imports. Then I just drop down a ROP Output Driver and write out the entire sequence as .bgeo.sc files, which can contain geometry, attributes and volumes.

Now that you have your simulation on disk you can use a File node to bring it in. To offset it in time follow the File node with a Time Warp node. You can remap time using this node, kind of like a fit function in vex. Set your input range to match the frame count/range from your cache then set the output range to map where you want your input frames to appear. I think you can even reverse time if you wanted.
Edited by Enivob - March 19, 2017 09:52:27

Attachments:
Untitled-1.jpg (82.1 KB)

Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
408 posts
Joined: June 2015
Offline
Thanks a lot. Pretty straight forward way to remap the animation with the time warp. Cheers.

However, quick question again about the ROP output driver and .bgeo.sc format. Isn't that meant for indeed outputing geometries? Does that also work with just “particle points”?

I'm trying to mimic my past workflow with 3ds max / Krakatoa where i'd save out PRTs and then instance geos onto points with Frost. Will the ROP Output driver export my points only with all priory created attributes?

Thanks again.

A.
User Avatar
Member
2540 posts
Joined: June 2008
Offline
Yes, .bgeo.sc can also contain just points. I often throw in an attributeDelete before I write out sequences to remove any unwanted attributes from the resulting file sequence. In this case I only want to keep P and v. This can help control file size if you have a lot of unwanted attributes in the stream.
Edited by Enivob - March 19, 2017 09:59:46

Attachments:
Untitled-1.jpg (108.0 KB)

Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Yes. All ROP type output nodes including the various SOPs and DOPs that contain ROP networks to export geometry to disk will write out all geometry.
If you just want points, you need to remove all the other primitives and just write out the points to the bgeo file that you intend to instance with.
The bgeo format supports all houdini primitives including points so it is up to you to make sure the bgeo's you write to disk only contain the points you want to instance with. You can always test with a Copy To Points SOP on a subset of the points.


Yes all the attributes on the points are kept when you write out the bgeo file.

For instancing, you can add instance attributes on to the points and in the instance file string, reference the geometry on disk that the point is to use. There are a bunch of other ways to instance as well.

Once you are instancing geometry on to points, other attributes are used on the points to manipulate the instanced geometry at render time in Mantra:
float pscale = global scale of the instance geometry
vector scale = per axis scale of the instance geometry
vector4 orient = orientation of the instance geometry
vector v or vector N = Z-lookat instance direction of the geometry (alternate to orient)
vector up = Y-lookat instance direction (alternate to orient)

There are others as well but these are the most common point attributes that affect the points themselves when instancing stuff.
There's at least one school like the old school!
User Avatar
Member
408 posts
Joined: June 2015
Offline
Thanks Enivob for confirming, and for the attribute delete tip, Cheers!

Thanks Jeff, much appreciated. I'm getting more and more familiar with the instancing process in Houdini, not so much with Mantra as i've never even rendered anything with it. But I've built a multi-GPU machine dedicated for Redshift and i'm very impressed by the powerful flexibility Houdini offers (especially compared to other packages i've used before), but also by the speed of geometry instancing rendering, especially since using Redshift, which also seems to pick up all attributes required as well to control instances at render time. Big big step up on so many levels for me.


Thanks again.

A.
Edited by Adriano - March 19, 2017 10:23:07
  • Quick Links