Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by pusat

  1. Hope they don't ruin SD
  2. Slow viewport- Graphic card and Monitor

    You can also set volumes to display as points in wireframe. I saw serious speed ups in this mode.
  3. Lambda SOP

    Thanks a lot guys, appreciate the feedback. Let me address your questions, starting with @acey195 because it's easier I see the Lambda SOP as a high level tool that uses the Invoke SOP internally, but both approaches require compilable networks. The key differences between this and the low-level Invoke is: 1. This is easier and quicker to use, drag and drop, plug and play. With Invoke SOP you have to prepare your network in compilable enclosure, name your compile inputs properly so invoke can see them, etc. 2. It provides a nice way to gather everything nicely in a subnet just like a template, where all the nodes are centralized inside. You can do this yourself also of course. 3. It provides all the looping options of a regular For Loop block. I think being able to invoke a collection of nodes once, is very useful, but one should also have the ability to run the same operation in a loop. Sure you can make your own loop each time, but I see this part of a common workflow. 4. I also provide an additional looping mode which allows running over attributes. It would be nice if this was actually built into the For Loop blocks because it takes a bit of setup to get it right and optimized. Because it's a common operation I have needed in production many times before. For example, let's say you have some geometry you are deforming, i.e. using Path Deform, but you might also have rest positions for the same geometry, and other attributes where you also want them to have the same deformations. The common approach is to copy each of these attributes into P separately (or whatever else you are modifying) and then apply the same nodes to the new P and then copy the result back into the original attribute, and then copy this attribute back into the main branch. This is a lot of work to do. Run Over Attributes does this in a loop. 5. Run Over Attributes also makes every SOP, attribute agnostic in a way. For example, Bend SOP only works on P, but by using this mode, you can perform it on any attribute which either requires you to do the above trick or wait for SESI to expose the modified attribute as a parameter. I think this should also be intrinsic to Invoke to be able to invoke any operation on any attribute. 6. This operator reduces redundancy and increases readability of a scene, just like Invoke SOP, but on a greater scale and with greater control. If I am not wrong, Invoke SOP was introduced so SESI doesn't have to code the same operator both in DOPs and SOPs, which is why Detangle is a SOP. I don't know if they made it to also call a collection of nodes as a template in this manner. I guess you can summarize it as "This operator invokes any number of operations on any number of arbitrary attributes over any geometry/element/number or no input at all, in a feedback or merge gather style." Hope that makes sense.
  4. Lambda SOP

    This operator allows you to call a collection of nodes on any data or simply no data (generators). It gives you full control over how the lambda function should be run.
  5. Frozen Volume using Upres node

    This is volume accumulation, you can do it inside a solver sop, with volume mix using Max mix method, but you have to make sure to resize your volume each frame as you go.
  6. Hi, so you want to split recursively? You can do this. Also to speed your loop, you can likely predefine which primitives will be split and how by assigning some attribute value to them and then loop over the primitives using this attribute, so all prims with the same attributes would be split at once. You would have to replace polysplit with another node though.
  7. Smoothing volumes

    I don't know Redshift but if you use CVEX volume procedural you can avoid this kind of artifact.
  8. nprimsgroup equivalent in Python

    nprimsgroup. I filed an RFE for this before to have the same available function in Python HOM but it was rejected. So submit an RFE please.
  9. Use VEX eigenvalues function on 2x2 matrix

    Hi Geordie, You can cast your matrix2 into a matrix3: matrix3 m = (matrix3) m2;
  10. nprimsgroup equivalent in Python

    Be careful calling this method, on hires geometry, you can waste a lot of memory allocating a large tuple of Prim data.
  11. Group connected prims by poly count

    Hi, You can use Connectivity SOP to create a primitive attribute and then in an AttribWrangle in Primitive Run Over mode, use findattribvalcount function to count how many primitives belong to each connected piece of geometry and group them based on your threshold.
  12. P is a special attribute, and Houdini makes a lot of assumptions about the existence of P. If you are concerned about the memory use, just set it to 0 and it shouldn't take as much space.
  13. I only add type if the attribute is unknown to Houdini and it's not a float. Using @ for unknown attributes will declare it as a float.
  14. int pts [ ] = expandedgegroup ( 0, "myedgegroup" );
  15. pcopen with vex v.s. vops

    This is by design for performance reasons.
  16. Zero out vector lengths ?

    Just assign 0 to them afterwards. myvector = 0;
  17. Centroidal Voronoi Tessellation

    I did this before, it's pretty straightforward, but the problem is Voronoi Split SOP that's used by Voronoi Fracture SOP will split up your mesh and disconnect each piece. So you have to use Fuse SOP which creates artifacts as it's not as exact. I asked SESI to add an option not to disconnect pieces a few years ago. CVT is also very useful to get a high quality remesh which is why I was looking into it.
  18. setpointattrib after addpoint in detail wrangle

    Your code is ok, but order is a known attribute of type int by default. That's why you don't see the correct value.
  19. You can directly read and store the "measuredperimeter" prim intrinsic attribute inside an AttribWrangle, or compute it yourself inside a AttribWrangle by looping over primitives.
  20. Measure SOP -> Perimeter
  21. Change f@test to v@test.
  22. Use Convert Line SOP and then after the scatter using an attribwrangle, use xyzdist to compute the distance of points to these edges and then using a threshold delete these points.
  23. VEX SIMD vs. Remove coincident primitives

    Hi, This is a fast way: http://www.orbolt.com/asset/animatrix::deleteOverlappingPolygons::1.00 You can see the VEX code inside.