[Sidefx-houdini-list] rib archives in sops

justin martin justin.martin at framestore-cfc.com
Mon Dec 5 07:24:58 EST 2005


I've been using something very similar to what Peter suggest below for a 
while and it works fine in prman.  An AttribCreate sop setting 
"instance" to point to objects in your hip that have delayed readarchive 
setup.  The main object has point instancing turned on.

`chsop("../allInstances")`/`points("../INSTANCE_NAME", 0, 
"instanceName")`_`padzero(2, $VARIANT)`

No frame variables needed for what I'm doing but it's the same thing.  
So I just have points and use copy/stamp to define which instance is 
copied to each one.

A nice bonus is that you can use another attribCreate with "scale" (3 
floats) to modify the instance scales independently in x, y, z - instead 
of just pscale (1 float).

Peter Bowmar wrote:

>Hi Colin,
>    I think you want to add an "instance" attribute with
>AttributeCreate at the SOP level, then use the usual tricks when you
>define it to randomize the string that is created. I don't use PRman
>so I'm not 100% sure that this will work, but I'm reasonably sure it
>will. I suspect the string would look like:
>/path/something_`ceil(fit(rand($PT),0,1,1,10))`.$F.rib or something
>like that. Then turn on Point Instancing on that object. Again, I know
>this will work for Mantra but I am not so sure for PRman. Especially
>the reading of the archive like that. If you have 10 Houdini Objects
>each reading the archive then this is more likely to work.
>Peter B
>On 05/12/05, Colin Doncaster <colin.doncaster at rsp.com.au> wrote:
>>Hey all, I imagine there's a simple answer to this and I really think
>>I should know it but I can't work it out.
>>I've got a sequence of ribarchives, 800 frames with 10 different
>>variations, so say
>>I've written a tool in Maya that lets me stamp a selected variations
>>at a frame of my choosing on a particle system.  I want to do this in
>>houdini and I know there's the instancing feature, and it actually
>>writes the specified read archive but how do I get it to randomly
>>stamp the actual readarchives.  The $IPT variable only works within
>>the stamping object.  Is there a sop level rib instancing OP?  Or a
>>way of adding arbitrary rib into the stream on a per point basis in
>>the SOP level?
>>Colin Doncaster
>>Chief Fireman -- colin.doncaster at rsp.com.au
>>rising sun pictures -- http://www.rsp.com.au/
>>direct line +61 (0)2 9338 6432
>>mobile ph +61 (0)4 1011 1709
>>syd ph +61 (0)2 9338 6400 -- fx +61 (0)2 9338 6401
>>15/16 charles street, redfern, sydney, nsw 2016
>>adl ph +61 (0)8 8400 6400 -- fx +61 (0)8 8400 6401
>>level 1, 133 gouger street, adelaide, sa 5000
>>rising sun research - http://www.risingsunresearch.com/
>>Sidefx-houdini-list mailing list
>>Sidefx-houdini-list at sidefx.com
>Sidefx-houdini-list mailing list
>Sidefx-houdini-list at sidefx.com

More information about the Sidefx-houdini-list mailing list