Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by probiner

  1. You got this fixed? Adding "python.jediEnabled": false, And removing "python.autoComplete.preloadModules": ["hou"], Seemed to have fixed it for me. Cheers
  2. I would like to disable this prompt. Would be nice if warnings like this could be added to a info queue instead of halting operations. Thanks
  3. No, first I'm trying to figure out if there is already a way to mute them. If not then, yes, I shall RFE it.
  4. VOPs - output to @P.y.

    You could do a little asset Just connect P to Ramp and to the Y component. Only thing I don't see how to do is to have this setup support signatures for other data types, like vector2, matrix, etc. PRB_ReplaceComponent.hip
  5. Euler to orient-matrix inside dops.

    Bit corny, but cool
  6. There's ways to decompose/describe a vector - 3 coordinates (xyz) that scale the coordinate system unit vectors (ijk) and add them together: P = i*x + j*y + k*z. - direction (vector scaled to length 1) and legth/magnitude (distance from tail to head of the vector) - direction (two angles) and length And more... It's all about using the representation that is more sensible to the operation you are doing. For angular related calcs direction is handy, while for position calcs you want to deal with xyz, etc.
  7. @Atom I've been looking at Python in Houdini only recently, so I look forward to get more people's insight. Put it in any of the locations corresponding to $HOME, $HSITE, $HIP, $JOB inside a structure like {loocation}/{houdiniversion}/python2.7libs/ For example I have $HSITE at F:/HOUDINI/HSITE/ so I put the huilib.py in F:/HOUDINI/HSITE/houdini17.0/python2.7libs/ After this import huilib in the shelf tool Script field will be able to find it. As for running the examples, here I'm not so sure about the correct method, but what I've been doing is putting my scripts in a subfolder ../python2.7libs/PRB_HOM/ which contains an empty __init__.py and then call those scripts from the shelf with import. For example, I've put in said folder the example shipped with huilib, all_gadgets.py, while changing the script bottom part from: if __name__ == '__main__': ui = TestDialog(name = 'test', title = 'Test UI') ui.show() into def main(): ui = TestDialog(name = 'test', title = 'Test UI') ui.show() if __name__ == '__main__': main() And then in the shelf tool Script field I can do: from PRB_HOM import all_gadgets as tool reload(tool) tool.main() And this way it gets picked up. This is how I'm running my shelf tools in general, so I can store .py files in a repo and use an external editor and not have the scripts stored in the .shelf file. But I'm curious to know if this is "the proper" way to do it @Stalkerx777 or anyone! It would still be nice if we could work in the Parameter Editor and store that into a .ui file. Cheers PS: I failed to refresh the page and notice you guys already sorted it
  8. What't the easiest way to present a user with a set of options when running a python script from the shelf? Is there by chance a way to use the Parameter Interface Editor, save that, call it from the script commit, and use the information from it? I've used hou.ui.readInput for simple string inputs, but I don't want to make that pop one after the other for several options. Thanks
  9. Thanks to @Stalkerx777 for his library: https://bitbucket.org/alexxbb/huilib/overview Really fits my needs here of having some simple options for something that is just to run once. @garf Indeed I'll go down that path for heavy lifting stuff. But atm that would be a rabbit hole for me. @kiryha Thanks for producing that! Sounds like it will be verbose for evolved things (maybe even more than what is being executed) and probably a good opportunity to get in to code generators.
  10. Hi looking for any existing pointers about generating fibers to fill a volume and pushing things out. I'm wondering if I can avoid Vellum or sims. But seems unlikely at this point.. Cheers
  11. Change a curve basis in VEX?

    I'm dealing with curve sampling these days and one thing I would like to is to set curves' basis through vex. But seems such is not possible, if I'm seeing correctly that those prim intrinsics are not editable: I can use indeed the Basis SOP to read the current basis and then edit what I want, I guess I could even pass a detail attribute to this field with a string generated in VEX... But not the most procedural way and doesn't allow specification per primitive. Anyone else been through this? Cheers
  12. Change a curve basis in VEX?

    Thanks for the feedback @acey195 , I'm suspecting I'll have to RFE. Cheers
  13. Non-overlapping Copies

    @fxrod Maybe this is of interest:
  14. Looking to into having a mixed behavior per control point where some care about handles and others just act like splines. Since I can't have Bezier and Spline in the same curve, I thought I could just have some Bezier control points and handles imitate the shape of the Spline. Is there a native way I'm missing? Thanks
  15. Deform/Bend curves with radius

    Similar question showed up on discord and I used this asset I've put on Orbolt to sort the bend time offset between each copy. Instead of looping, which is slower, you could just bend the copies afterwards as long as you have the proper attributes to the define the copies' space. Check 5m10s Cheers
  16. Heightfield Isolines?

    Thanks Petz, nice approach, to focus more on COPs operators to perform things that are more natural to image than SOP making full use of the enviorment! I guess the only "challange" is to get a consistent "u"/ height for the whole points of each slice. Thanks! Only change I would do is to sample the hf directly: Thanks konstantin, I tried converting the hf to mesh and then boolean and found it quite slow. But it's obvious one of the first ideas to try. I found the voronoi fracture, with a vertical line, to provide similar results, faster and more consistent in this particular case. Cheers!
  17. 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.
  18. Heightfield Isolines?

    Quick tut about it. Cheers
  19. 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!
  20. "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.
  21. 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
  22. Yes @anim I was going for a groupscope to mask the search. i'll RFE it. Cheers!
  23. 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