Jump to content


Popular Content

Showing most liked content on 11/14/2019 in all areas

  1. 2 points
    Maybe it's useful for someone? just sharing what I have learned. vopS7.hipnc
  2. 2 points
    You need to use setCurrent method in hou.Node. For eg., say you've copy pasted some nodes in the geometry node called geo1 and to get back to the object level, just setCurrent on geo1. geo1 = hou.node("/obj/geo1") geo1.setCurrent(True) -J
  3. 2 points
    A while ago, I was working on a project that had lots of animated tiles. It is actually quite a tricky problem to pack a bunch of shapes together with the smallest amount of "grout". While researching this, I stumbled across this paper "Simulating Decorative Mosaics" by Alejo Hausner, and thought this would be a perfect thing to implement in Houdini! Here is the input, the houdini logo: Also needed are curves that represent the color or element boundaries: Here is one iteration of the loop. This is basically the result you would get copying tiles using a scatter and copy sop: After running the loop for fifty iterations, the tiles seem to be pretty well packed, and are respecting the boundary curves very well: And lastly, here is a version with randomized tile sizes. Still works pretty well! While I never actually ended up using this in production, But I thought it was pretty cool and could be used for other stuff, like maybe packing houses in a procedurally generated map or something. Anyway, here is an example .hip file if anyone wants to play around with it: mosaics_example.hip
  4. 1 point
    You've saved my ass, thanks so much for your help! (Also, neat path deformer!)
  5. 1 point
    Finally I found most closest way. The big challenge was to find such parameter for breaking threshold to keep sphere while some noises and velocities. I also found that best look for motion is when you use Pyro as source of velocity and add some random area initial velocities to pyro source object linefracture.hiplc
  6. 1 point
    Thanks guys! So what I did in the end is to negate the volume gradient of the collider and use it as force, it is working well!
  7. 1 point
    http://www.patreon.com/posts/31506335 Carves out polygons using a point attribute with the ability to define the carve values per primitive using primitive attributes. Pure VEX implementation, 10x faster than the default Carve SOP (compiled). It preserves all available attributes. It supports both open and closed polygons.
  8. 1 point
    hi, there is a job for you in guangzhou, would you like to try? you can add my wechat:world_sparky
  9. 1 point
    Sorry but this is amazing!!
  10. 1 point
    Your best bet would be to add an extra parameter (can be hidden) with Python expression which would expand that relative path for you and then in you can read this string back in vex. " ".join([n.path() for n in hou.pwd().glob(hou.pwd().evalParm('relative'))])
  11. 1 point
    thanks for testing, maybe it's time for sidefx to optimize Clip SOP and Poly Cut SOP as both more or less can be used in this way, but it's not nice to be paying speed penalty over more custom VEX solutions
  12. 1 point
    I just did a Python script to create a sphere only with nulls. Actually can be done any shape you want. Here the video with the HIP file included: I know, it's a completely useless and silly project, but was fun to do. Any comment will be welcomed, Oscar
  13. 1 point
    Hi guys, just another update on the tools: LYNX.shelf: Introducing the LYNX shelf, a collection of helpful presets and tools to support the LYNX toolset. LYNX_fabric: LYNX_fabric_configure shelf tool script let's you create weave setups with a single click A new example file for LYNX_fabric let's you bake patterns to tileable textures New patterns for LYNX_fabric_pattern UX improvements
  14. 1 point
    To get reflection symmetry in VEX try setting v@P to abs(v@P). Feeding that into an animated noise function will bring you some caleidoscope-like effects. vector pos = abs(v@P) + set(@Time * 0.2, @Time, @Time * 0.4); v@P += v@N * anoise(pos); Otherwise yes, clip and mirror. calei.hiplc
  15. 1 point
    Check out the attached file. I am not sure what you are trying to do with rest position. I don't think that has much to do with uv's, just tracks initial position throughout the sim, which is useful for driving procedural noise and other procedural textures, but I don't think is useful for uv's. You really need to track uv coordinates through the sim. Anyway, the first file I am including is very simple. A sop solver attribute transfers uv coordinates from the source geometry at frame 1. After building the fluid mesh, the uv's are transferred to it from the sim points. Only thing weird I did was turn off reseeding in the flip solver, just to keep a constant point count. The second file is even easier, just changes the way particles are sourced into the sim. This way, no sop solver is needed and the flip particles just inherit the uv's from the source. Hope these help! -Adam FluidWithUVs.hipnc FluidWithUVs_V02.hipnc