Jump to content

Rikrok

Members
  • Content count

    24
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Posts posted by Rikrok


  1. I'm trying to write out multiple variations of the same object as fbx's (I have to use fbx), the object is set to change every frame. Unfortunately when you set a frame range on the the Filmbox FBX ROP you don't get multiple fbx's, you just get one with a point cache.

    I put a script on the object to change the start and end frame of the ROP to the current frame (which works), followed by
    hou.parm('/out/filmboxfbx1/execute').pressButton()
    Which when pressing play writes out a bunch of fbx's but unfortunately they're all empty; the script gives an infinite recursion in evaluation error.

    I then tried making a tool that runs a script
    for n in range (1, 101):
           hou.setFrame(n)

           hou.parm('/out/filmboxfbx1/execute').pressButton()

    This only writes out 1 frame. I even tried using threading and sleep incase it was because it was executing the render button too quickly, no dice.

    Does anyone know how I can achieve this?


  2. I'm having a hell of a time trying to do something I thought would be very straight forward. I want objects colliding with some objects but not others.

     

    I tried this technique method using collider label and no collider but it didn't work:

    From: https://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&p=177142

    collision_layer_fix.hip

    Download collision_layer_fix.hip https://www.sidefx.com/index2.php?option=com_forum&Itemid=172&page=download&id=20466

     

    For me both balls just fall straight through the top grid (I'm using H15). Only one of them is supposed to go through.

     

    I can't use collisiongroup and collisionignore attributes as I'm not using packed objects.

     

    Can anyone help?


  3. I'm using clothCapture where the geometry to capture is changing over time. I want to create that clothCapture attribute at a specific time. I thought I could use a timeShift, do the clothCapture and then copy that attribute back to the original animated geometry. Unfortunately that doesn't work; it turns a 74f in a 2f.

     

    How do people get around this problem?

     

     


  4. I have moving particles that leave a trail of static particles behind them. I need to stop a moving particle if it gets close to another's trail.

    I've tried using the proximity pop, so if a moving particle has any neighbours nearby it stops, but I can't see a way to not have it count particles that are in its own trail.

    I thought perhaps there'd be an attribute transfer pop for between particles (to see if there were any particles within a radius which had a different trail attribute, if there were then stop the particle) but I can't see a way to do that either. I hope someone can help!


  5. If you create an emitter (location/source) and append a kill, why do particles exist for an instant before being killed? Surely you should never see any at all?

    In case you're wondering why it matters- I need certain particles (A) to birth other particles ( B ) but ultimately have (A) deleted. I have geometry copied to them, and (A) annoyingly gets geometry copied to it for a frame before that kill takes it out. I'm getting around the problem by using an add sop to turn the particles into points and then deleting (A), but it seems a strange thing to have to do.


  6. Damn.

    So I've resigned myself to having the COPs write out loads of images, the problem is this will need to be done frequently with lots of nodes. To save clicking render 100 times every time the text needs to change I had the idea to merge all the font nodes and then write to exr using layers to store the planes. It works in that I can see all the different text in their own layers in Nuke, but is it possible to access exr layers in a shader?


  7. I'm trying to get scrolling text across various primitives. That in itself was ok, using the shader to reference the cop node op:/obj/geo1/cop2net1/font1

    My problem is getting the text to say different things based on a primitive's attribute. In the font node I'm reading a text file, and I want to be able to control which line it reads. I have a primitive attribute ($LINE), but putting that in doesn't work. I also tried..

    prim("../../randomnode",$PR,"line",0)

    which crashes Houdini (works if I replace $PR with a specific primitive number, but of course that's useless).

    So eventually I gave up and created multiple font nodes each manually set to read a different line (far from ideal as they'll need to be hundreds) with the idea that in the material I can read the line attribute and append that number to op:/obj/geo1/cop2net1/font

    Doing that within the material VEX builder doesn't work (mantra: Unable to load texture 'op:/obj/geo1/cop2net1/font1')

    Promoting the texture and putting this in doesn't work either

    op:/obj/geo1/cop2net1/font`prim("../../randomnode",$PR,"line",0)`

    Please help!


  8. Hope that helps

    Christian

    Thanks very much, your example is doing exactly what I described.

    At the risk of sounding ungrateful/stupid, I'm just starting out with Houdini coming from Maya, and I must say I'm having trouble getting my head round some things (I've failed even with your scene to recreate it from scratch). Does it really have to be this complicated? In Maya I'd simply say, if (x==otherobject.x) $samex = 1; and bang, I've got a variable that tells me whether something was at the same coordinate as another.


  9. I'm trying to get points put into a group based on whether they have been contained by another shape. The first part is fine, but once the shape has moved on they're no longer in that group- I need them to stay in it (remembering if they have been touched or not.)

    I tried creating an attribute with the idea to set a value for anything in the group, but of course once they leave the group that attribute reverts to the default value...

×