Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by asnowcappedromance

  1. Sop Solver cooked in Immediate mode...

    it also helps to have your viewport pinned to the dopnet instead of displaying the what's going on in the SOPSolver itself and bypassing the SOPSolver should also get rid of the error message. Annoys me every single time this happens, I wrote a script to recook the dopnet by pressing a hot-key combination, I have to see if I can find it ! cheers, Manu Edit: here's the code, just create a new shelf tool and copy paste into the script tab and chose a hotkey after: dopnet = hou.currentDopNet() button = dopnet.parm("resimulate") button.pressButton()
  2. List of points that appeared in a framerange

    I didn't know it stays fixed that way. Here's a little trick to speed the attribute transfer up though, got that one from sanostol. If both particle and trail have a pair attribute that links them to each other you could feed that attribute into one channel of a vector and have that vector as the lookup position in the pcopen, then you just append a point sop to the trail points and put the pair attribute in the x component tx, that way pcopen is able to find only the one pair point and you don't have to loop, it's fast, tested it with a couple million points recently!
  3. List of points that appeared in a framerange

    but the trail dies when the particle dies? So how are you going to prevent that from happening? Also that means you gotta double your pointcount
  4. List of points that appeared in a framerange

    yeah that's a tricky one. Chops is not really my field of expertise, my next try would be to hardcode those numbers into a Python list, but if your pointcount is insane that could be really painful ...
  5. List of points that appeared in a framerange

    SOP Solver would be my first bet, you could group based on conditions (active on some frame i.e.) and then create a variable only on that group. The points will keep their attributes then even if the condition becomes false after. Did you already try that? regards, Manu
  6. SciTech Award Ceremony - Mark and Andrew

    Congratulations Andrew and Mark!! Haha, clearly the poor girl has no clue what she is talking about
  7. DOP Fluid Impact Data Per Point Attribute

    alright, then you want to use a SOP Solver to do that. Check out the example file "denting with pops" that comes shipped with Houdini, that should give you an idea of how to grab the impact data in SOPs with the dopfield expression.
  8. Spheres inside sphere

    Hi, collision seems to work fine for me, check out the attached file. Make sure your container sphere is not too thin, otherwise you have to up the division samples of the ray intersect quite a lot. Also, setting surface representation to edges gives you better collision results. anyway, go over my settings, hope that helps, cheers, Manu RBD_concave_collision.hipnc
  9. DOP Fluid Impact Data Per Point Attribute

    You should dive inside your POP Solver (which gives you control about the sph particles) and create a collision POP. This way you can easily store attributes (there are presets), i.e. the numhit attribute (number of collided times), you can store the hit id, hit position, hit normal usw, very helpful over all. cheers, Manu
  10. Proximity Pop

    there's actually I mean hack to do it, by having a popsolver and a sopsolver. This way you can isolate one group in the sopsolver, dopimport those points into a sopgeometry object and then load those points as a pointcloudtexture into your pcopen. (you tell the voppop only to query the other pointgroup) I should say that relative paths don't work in this case so you'd input rather a full path or you could use the opfullpath hscript expression, that way your pcopen will find the points. Also it helps if the sopsolver is calculated before the popsolver in order to get the most accurate results!
  11. Learning VEX

    you can call components of a vector by using P.x, P.y or P.z ! cheers, Manu
  12. @att

    nice one, ... adding to my book!! but wait. Are you guys talking about the Filter Expression field of the Group SOP? can't be?! cheers, Manu
  13. check for corrupt geometry

    Hey guys, I created a tool which allows me to break hundreds of objects at the same time in a particular fashion. And that works quite well except for 1 or 2 pieces where the Boolean method of the Break SOP always fails. (depending on the seed the seed it's always different pieces that fail to get cut correctly.) So what I'd like to do is to check the geometry for any issues, like open edges or something and then just change the seed if the boolean operation fails in order to try it again. In 3DS Max for example there is a modifier called STL Check STL Check example which one could use to detect if cutting operations went well or not. Is there a similar thing in Houdini or any node that could help me? Any ideas? thanks, Manu
  14. check for corrupt geometry

    so after 2 weeks of breaking stuff I came up with a pretty fireproof method of procedurally cutting up tons of geometry with a custom tool and one method to check for open edges made things a lot easier: The "unshared edges" in the group SOP. This way I could easily detect corrupt pieces and reiterate them, just by checking if the group contains any points ( argc(pointlist("../corruptGroup", "corruptGroup") ) ) Maybe this helps someone who gets frustrated trying to procedurally apply boolean operations to objects cheers!
  15. control particle force

    in Houdini it's all about grouping particles, points, primitives! have a look at the file I attached, sketched it up for you, that should give you a start! cheers, Manu particles_activate.hipnc
  16. Mimic "CreateAllLocalMaterialParameters"

    here's how you do it shop = hou.node('/shop/clay') shopptg = shop.parmTemplateGroup() node = hou.node('/obj/box_object1') ptg = node.parmTemplateGroup() for i in shopptg.parmTemplates(): ptg.appendToFolder(ptg.findFolder("Material"), i) node.setParmTemplateGroup(ptg) cheers, Manuel
  17. velocity / speedcotrol

    have a look at this thread, where I posted a file on how to clamp angular velocity. The same technique applies to velocities. http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=24764&highlight= cheers, Manu
  18. Proximity Pop

    I've got the same problem here, want to do a closest point lookup from one group of particles to another. I'm aware of the nearpoint() expression, but don't really want to leave pops but rather stay inside of one Popnet. Pointcloud lookups also crossed my mind, but then again there's no way to look up only a single group inside of a VOP POP (at least not that I know of). Is there any way to do this just within one popnet? VOPs, VEX, Python, I'm open for every suggestion?! thanks, Manu
  19. Particle collisions with bounce and inherited velocity.

    well now that you got all that data it's just a matter of doing the correct cross product multiplications, have a look at the second example of this website, maybe that'll help you! http://www.msawtell.com/research/point_clouds/point_clouds.shtml cheers, Manuel
  20. hey guys, I'm dealing with a large-scale destruction scene right now and I'm activating pre-fractured objects over time. The way I'm doing it right now: I have two groups, the inactive group which gets fed into a static object in DOPs (group gets updated each frame so "Use deforming geometry" is checked) and the active group which is fed into a RBD fractured object ("creation frame" is set to $F in order to create objects as soon they get activated, those objects are being deleted in SOPs one frame after they get created in order to spawn every object only once in DOPs) So this workflow works pretty well, but I'm wondering if spawning every object on the first simulation frame and then only changing the "active value" of each object is a more robust / faster solution. What are your experiences on this? thanks, Manu
  21. Workflow question: Activating RBD objects over time

    hi guys! thanks for all the input, I actually didn't realize people were after all replying to this thread, that's why I didn't see it. First of all, Ford, you're totally right that "using deforming geometry" cooks the collision geometry every frame, but that doesn't affect me anymore as I switched to the Bullet Solver who doesn't care about sdf's. I actually know all of the above described techniques, I use a similar approach with a pointcloud lookup to activate my dop objects now, but yes, I agree that there should be a way in DOPs to easily look up attributes that were created in SOPs, so far I always created a new empty data set and modified it with either a dopfield() or point() expression to look up the values. @Ryan, thanks for the tip, I might actually do that, totally forgot about the Affector DOP, I hardly never use it although it can be quite handy at times! cheers, Manu
  22. dopImport1

    did you set the box as an RBD Fractured Object in DOPs? Frankly it's hard to tell from your screenshot what's wrong with your scene, can you post a hipfile?
  23. static Variables !

    If you want to add or subtract .1 to each frame it's best to use a SOP Solver. Have a look at the file that I attached, I also included a python script in there to create the behavior lookup that you wanted. File should be pretty clear, you're welcome to ask questions though cheers, Manuel SOP_Solver_Python_Rotation.hipnc
  24. Dijkstra Pathfinding with Python

    much appreciated Sergei, I sent you a pm! Oh and thanks for that link, Jason, I'll have a look at that! cheers!
  25. Dijkstra Pathfinding with Python

    that is indeed very impressive!! You're totally right, Python is not the best approach to do it, I think I should learn how to write c++