Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


probiner last won the day on September 5

probiner had the most liked content!

Community Reputation

69 Excellent


About probiner

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location
    {0, 0, 0}

Recent Profile Visitors

1,274 profile views
  1. Heightfield Isolines?

    Ok, so with the help on Discord later today, first I tried Boolean and then Voronoi, but those required to convert to geometry. So then I had another idea, using Trace SOP with the Heightfield as a COP! This way the isolines are sampled directly from the image! Just be sure to use a color plane, like the default C. Don't use single channel like the ones created by the "SOP Import" button. Single channels for some reason will bug the Trace SOP. Wasted a lot of time figuring out they were the cause. There must be a logical reason but I don't know yet. COPs + Trace ftw! Thanks for looking into it Noobini!
  2. "square" scatter

    I'm wondering if you couldn't start with big blocks define a threshold of acceptable fitting and shatter and adjust the existing blocks until they fit the threshold. There must be small gaps anyway, but yes, they can be minimized and that's what a mason can do.
  3. Heightfield Isolines?

    I'm meddling with Heightfields and one thing that seems to be missing int the workflow and amazed me in 3DSMax Forest plugin is the convert masks to curves. Is there a way to create isolines in Houdini from either @height or @mask? I'm looking into creating road/river/track networks into terrain so if there's any good reference to follow let me know, thanks. For now I'm just generating them irrespective of the heightfield.
  4. Growth Thingy Help!

    Hey Mitch Cool topic! Love the drawing! As a general approach I would build the growth path so I get the hierarchy relations (tri25 is child of tri76) and the hierarchical distance from the start (tri45 is 13 steps away from the starting tri) which allows me to build the transforms between the tris and then control them by a gradient generated from the hierarchical distance. I wondered about this recently because I've done something with regular hexes before. But unlike with regular polygons, where everything stacks into place neatly, with irregular ones you will have different shapes that stack weirdly and the chain of transforms they produce it's not as predictable as well. Is this going to be a field of regular triangles, or you're after applying to an arbitrary triangular surface, like for example a character? This will have an impact in the complexity of the setup, I think. I see tetrahedrons in your file so I'm a bit confused. I'm not familiar with Simon's take. When I did the hexes the point was placed at the center of the rotation, i.e at the edge between hexagons; represented by those little matrix axes. In your case wouldn't it be the case you want the point also at the edge of the tetrahedron instead at the center of the face? This video is part of a blog entry where I dumped elements of this topic. Nothing coherent or files to share, but may inspire you. http://probiner.xyz/2017/06/20/rigging-chains-with-arrays-of-matrices/ Looking forward to see your progress as I also will dive into this again one day! Good luck! Cheers
  5. Yes @anim I was going for a groupscope to mask the search. i'll RFE it. Cheers!
  6. http://www.sidefx.com/docs/houdini/vex/functions/findattribval.html Here's a test with "primgroup" What doesn't make sense to me is that I thought I had to use the class for "primgroup", and the attribname for groupname, but then there's no input for the actuall attribute name. Cheers PRB_findattribval_primgroup.hiplc
  7. @LaidlawFX Thanks I visited this page but didn't notice that. I guess I'll an expression on a hidden param and that is a resolved value I can then use as conditional. Thanks!
  8. expose nodes in blackboxed asset

    I see. Could you somehow output that from a second ouput and reference that or a null connected to it? I get that it would be useful to reference them directly.
  9. Given two string parameters I tried to check if they are equal to disable another parameter, but doesn't work atm. { parma == "" } works { parmb == "" } works { parma == parmb } doesn't work Any idea why? Thanks
  10. expose nodes in blackboxed asset

    Why not expose the parameters of the object merge on the asset UI?
  11. Given a reasonable geometry and an element (point, prim, vert) get a list of other elements associated with it and a list of attribute values in them. https://orbolt.com/asset/prb::ConnectedElements::1.00 Cheers
  12. RFE'd that missing agent rigs load without error and that the external reference of agents can be changed, like one can for packed disk prims with: setprimintrinsic(0, "unexpandedfilename", @primnum, "filepath"); Cheers Pedro
  13. I got a crowd cached sequence files and an agent folder(with bgeo, rig, clips, etc). File SOP is throwing an error, can't read the sequence and finding the agent path. "Unable to read file: < cache file path >" (this path is correct, it's on my system) "Error loading the rig. The following paths were searched: < agent rig file path >. (nearbyte offset 408663, line 1, column 408634) Backend IO" (this path is pointing to the agent file on another system) I noticed if I click "Delay Load Geometry" the SOP doesn't give error anymore and the spreadsheet shows the content. But I don't see a primintrinsic or something I could edit to make it point to the correct agent files path. I gave it a try with "Packed Disk Edit" SOP, but no luck Where can I access the packed agent external reference and edit it to point to the folder on my system? Thanks
  14. "opinput:1" to operator full path

    @Skybar Thanks for looking into it. This does it. Cheers
  15. "opinput:1" to operator full path

    Hi One can use "opinput:1" or "opinput:-1" in functions with geometry argument to access the geometries connected on the ports or in spare inputs. My questions is how to convert that string to full path that those end up point to. opfullpath doesn't seem to do it. http://www.sidefx.com/docs/houdini/vex/functions/opfullpath.html I guess I'm looking for the equivalent of opinputpahth ? http://www.sidefx.com/docs/houdini/expressions/opinputpath.html Guess it doesn't exist, but just checking. Cheers