Search - User list
Full Version: Procedural Tool to Art Direct Your Instances With
Root » 3rd Party » Procedural Tool to Art Direct Your Instances With
sharanvaswani93
Hi Everyone,

This is a post to talk about my video "Procedural Tool to Art Direct Your Instances"



In this video, I created a demo of an HDA Toolkit which I had made to Populate a scene using multiple caches and how the toolkit can help artists in various situations.

The OTL uses a bundle system, so we can switch between a low-resolution proxy cache and a high-resolution render cache anytime. This makes it easy for artists to preview shots, layout simulations and art direct timing as per their needs. Artists can visualize the proxy cache but render the final sim using a different null.

The setup comes with two modes.

A randomizer mode:
1. creates random variations for bundles (render cache and proxy combined is a bundle) that used during instancing.
2. creates random pscale based on min and max.
3. random roation from -360 to 360 only in Y as of now.
4. a min and max range of startframes to trigger your caches that animate.
5. Further there is a global seed value to pick to your liking.


A defined mode: This method builds menus for each point that is input and can be customized precisely to your needs.
1. There is also a global setting incase you want something by default
2. hit the enable toggle and customize only particular points
3. a dynamic menu dropdown which lists all input bundles to select from.
4. a pscale slider for that particular instance.
5. a startframe to trigger
6. a rotation value in Y as of now

Further we have provided an Override OTL which can be used to override settings when artists are in a rush. The override tool has been built just to fix small settings, create alternatives to the existing setup or input selected group of points to fix. It also comes with an option to trigger frames based on point number in sequence so an artists can trigger a row of particles on a curve.

The VEX Code is available and the OTLs are open and free to inpect. Please feel free to contact me at sharan@chakshuvfx.com with any queries or questions and customizations.

I will be upgrading the setup soon with more functions and ideas that I have.

1. Trigger caches based on a map. Artists can input a map with various colours saying (0.9, 0.7, 0.5) for sand or (0.1, 0.9, 0.8) for water etc and it will trigger the caches with variation based on the input map.
2. Further providing artists an option to paint directly within houdini so that they can just paint where they want to trigger.
3. adding more options like rotation in all axis' and min max randomizations etc.
4. randomize materials and variants.
5. the same system within the Solaris environment.

Thanks!
Sharan
sharanvaswani93
What I've realized till now... Instancing is a very vast topic and there are loads of methods.

What needs to be done:

1. Input Geometry:
- Right now my HDA only takes in input geometry as an object merge. That is great but not flexible.
- Include scope for input as Packed Prim Sequences, Alembics and Packed Primitives.
- This will allow me to take advantage of the prim-intrinsic available like "index" etc and manipulate geometry accordingly.
- Further, it will be much lighter and easy to use.
- Need to incorporate a way to do the same for Object Level Instancing and solaris.

2. Rotation:
- Right now only rotation in the Y- Axis is supported.
- Need to add random and custom rotation in XYZ.
- Need to incorporate a way for rotation based on attributes (example velocity). right now no matter what I try I am getting these ugly twists & flips in rotation.
- adding a Look At feature will be a huge bonus.

3. Frameoffset:
- Right now my system uses a simple Timeshift and a For-Each loop to offset time.
- It's heavy and can take time to cook.
- Need to incorporate timeoffset based on prim-intrinsic & manipulate packed geo directly. Although I've read this can be a problem in other render engines (Need to provide alternatives & backups for that).

4. Need to do the same in Solaris!
- Solaris workflow is completely different and I would like all these features to work directly with USDs.

5. Variations of Caches based on Attributes/Maps:
- Created a small prototype subnet which allows artists to paint different colour from a Paint SOP and it will populate that region with the required cache.
- At the moment it is very basic and limited to lots of manual work.
- Would also like it to work with Camera Projections and Rotoshapes in COPs.

While there are several third-party options like MOPs available, I would like to use this to understand and study Instancing in detail for when such tools arent available.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB