Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by toadstorm

  1. Surface as force volume?

    The Field Force DOP, confusingly enough, doesn't want a field; it wants geometry. You attach a SOP Geometry DOP to the green input, and provide a point attribute (defaults to "force") to create the force field from, and then it makes the field for you. You could just create point normals on your original geo before the shatter and rename the attribute to "force" and you'd be good to go. Since Packed RBDs are also points as far as Houdini is concerned, you can use POP DOPs on them in place of traditional DOP forces (which can be confusing, clearly). I converted the velocity VDB to standard Houdini volumes, then used POP Advect By Volumes to apply the volume as a force (i.e. not wind). volume_gradient_example_03.hiplc
  2. incident ray in sops?

    vector camP = chv("cam_position"); // camera translate values here v@I = normalize(@P - camP);
  3. Surface as force volume?

    Check this out: volume_gradient_example.hip
  4. If you crack open most of the POP DOPs that support VEXpressions, you'll see that they're just modifying local variables inside the VOPnet, not actual geometry attributes. You could always create some arbitrary @orbitspeed attribute and then use `orbitspeed = @orbitspeed` in your VEXpression.
  5. "source fluid" is for old-school SPH fluids, i believe. it doesn't create particles, which you need for FLIP simulations.
  6. Select Pts with One Connection

    there's probably an easier way to do this with SOPs, but in VEX: int n = neighbours(0, @ptnum); if(len(n) < 2) { @group_ends = 1; }
  7. Noise in glass materials?

    If you're seeing noise in direct reflect, try increasing your light samples before cranking reflect/refract quality on the ROP.
  8. Surface as force volume?

    you could create a velocity volume from the bounds of the surface, then use either point cloud functions to sample the N of the surface (if by "surface" you actually mean "mesh"), or if your surface is an SDF, use `volumegradient()` to get the gradient of your surface (which is sort of like the "normal" of an SDF) and bind it to your velocity volume.
  9. many SOPs are switching to VEX snippet-style syntax for ad-hoc group masking and parameter expressions. local variables like $TX $TY etc still exist, but they are only compatible on a SOP-by-SOP basis, and they don't support arbitrary attributes like @myAttr<3, so my advice would be to start using the VEX syntax wherever you can.
  10. MOPs: Motion Graphics Operators for Houdini

    New updates! A quick list of what's new: Automatic update feature for easy future updates! New "Spread Falloff" for growing, crawling effects! spread_falloff_01.hip example file included. Instancer now automatically uses relative paths. Quick Add function in Instancer to add all your objects at once! Instancer now supports scatter density attribute when scattering on meshes. Instancer now supports different merge types ("Into This Object", etc). Falloff Preview now shows points only to prevent crashing. Disable Preview shelf tool turns off all Falloff previews for the entire current SOP chain. Lag and Area added to Audio Falloff.
  11. Pixelkram / Moritz S. (of Entagma) and I are proud to announce MOPs: an open-source toolkit for creating motion graphics in Houdini! MOPs is both a suite of ready-to-use tools for solving typical motion graphics problems, and a framework for building your own custom operators easily. More information is available from our website: http://www.motionoperators.com Enjoy!
  12. Using Point Position Dop with packed primitives

    Don't bother; that DOP is more for old school RBDs. Packed RBDs can be manipulated as points via POP DOPs or POP/Geometry Wrangles. Or just use a SOP Solver. It's much easier this way.
  13. Packed Alembics have an intrinsic primitive attribute called "abcframe". It determines the time (not the frame, it's badly named) that the Alembic primitive should read from. If you haven't messed with intrinsics before, they're sort-of-hidden attributes that you can reveal in the Geometry Spreadsheet using the Intrinsics dropdown (in Primitives mode). You can set the attribute using the setprimintrinsic() VEX function in a primitive wrangle, like this: float frame = 1.0; setprimintrinsic(0, "abcframe", @primnum, frame*@TimeInc, "set"); This will work even after the Alembic primitives are copied to points, so there's no need to stamp. If you want each primitive to go to a different frame, just create a float attribute however you like, then use that attribute to set your "abcframe" using setprimintrinsic().
  14. Is your point count changing? Also, you could avoid copy stamping entirely by just setting the `abcframe` primitive intrinsic per-copy. Might make things a little simpler.
  15. Hmm, I'm on Windows, which usually doesn't create typographic quotes. Not sure why they'd appear on your system. Glad it worked, though!
  16. you'd have to edit your material to manually grab the AOV data from the refracted ray using the gather() function, then export that value like you would the AOV from the original material. i'm attaching an example file. check out /mat/sphere_mtl to see the Inline VOP that uses gather() to sample the exported "matte" value. refract_aov.hip
  17. Mantra Initialization Pause (RESOLVED)

    I'm not noticing any significant delay when adjusting the promoted parameters on your material. What's your system specs, and what build of Houdini are you using? I'm on 16.5.496 on a Win10 laptop.
  18. Mantra Initialization Pause (RESOLVED)

    can you post the HIP here?
  19. Mantra Initialization Pause (RESOLVED)

    you keep saying "delayed load"... are you actually using a mantra delayed load procedural? or are you just talking about the IPR lag when changing material parameters?
  20. Mantra Initialization Pause (RESOLVED)

    are your parameters promoted, or are you directly editing the material? if you make changes inside a material rather than to a promoted parameter, the shader will have to recompile every time. you can try wrapping your procedural into a Material Builder if it isn't in one already, then promote any parameters you know you'd want to adjust.
  21. Redshift stuck at 1/2 res

    are you rendering via batch/mplay or rendering IPR? the IPR resolution override settings are separate.
  22. Set Point Orientation for copy node

    I did a little writeup about the copy sop and template point attributes here: http://www.toadstorm.com/blog/?p=493 That video by Jeff above is great for a very in-depth rundown, especially with spare parameters and compile blocks.
  23. Is there a difference between using geoself() or int 0?

    In a typical wrangle in SOPs there's no difference. However in CVEX, there's no real "inputs" that you can count on, so you may have to use geoself() in order to reference the geometry you're working on if it's not directly reading a file on disk.