Jump to content
[[Template core/front/profile/profileHeader is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

Ryan last won the day on May 11 2019

Ryan had the most liked content!

Community Reputation

29 Excellent

About Ryan

  • Rank

Contact Methods

  • Website URL
  • Skype

Personal Information

  • Name
  • Location
    Los Angeles

Recent Profile Visitors

4,889 profile views

    Here you go. I put comments in your file. grain_test_collision_stuck_fix.hip
  2. RBD's and SOP Solver

    Here is my attempt. For sure you need unique names and ids. RBDs_SOP_solver_testing_01_fix.hip Hope this helps.
  3. // Relative Neighbourhood Graph // https://houdininote.tumblr.com/post/162427874300/connecting-points // This wrangle runs thru all points. // Current point = point being ran thru // 'nearpoints' gives you a list of point numbers near the current point foreach(int pt; nearpoints(0, @P, 1.0, 10)) // For every point 'nearpoints' finds in the given radius.. { if(pt == @ptnum) continue; // Skip itself, go to the next iteration vector p = point(0, 'P', pt); // Store position of the near point float dist = distance(p, @P); // Store distance (mydist) from current point to near point // Building 2 new arrays... // We will search for any points within the radii (mydist) of both the current and near points // to check if they are closer to each other. int ptsA[] = nearpoints(0, @P, dist); // Look for any more points around the current point within mydist... int ptsB[] = nearpoints(0, p, dist); // Then, look for any more points around its near point within mydist. int chk = 0; // Initialize a flag foreach(int cpt; ptsB) // For every point (cpt) found in our 'ptsB' array.. { if(cpt == @ptnum || cpt == pt) continue; // if cpt is the current point or near point, skip it. chk = removevalue(ptsA, cpt); // Remove cpt from our 'ptsB' array. If successful, set our flag to TRUE. if(chk) break; // If we successfuly removed cpt, break out of this nested loop. } // If our list 'ptsA' is empty, lets draw a line between the current point and the near point. // If there were points left in the list, no line will be drawn. if(!chk) // If we failed to remove a value previously... { int pr = addprim(0, 'polyline'); // create a new empty polyline addvertex(0, pr, @ptnum); // Add a new vertex to that polyline at the position of the current point addvertex(0, pr, pt); // Add another vertex to that polyline at the position of the near point } } Im not the original author of this code. Its an example I pointed to in that link.
  4. Here is a solution using some stacked grids and intersect analysis: isosurfacetest_fix.hiplc
  5. Here is one solution. Sort Points_fix.hiplc Here is a really nice blog on connecting points: https://houdininote.tumblr.com/post/162427874300/connecting-points There is an example file with it too.
  6. constraint cluster names

    Yea. That's what it is. Even voronoi fracture is different. Good to know.
  7. Gradient based of normal

    When you negate your Normals, your color values are going from 0 to -1. You need to check the sign ( + or - ) of each vector component of the Normal. If it is negative, you need to take the compliment of the Position component [ ex. (1-P.x) ] then do absolute value.
  8. constraint cluster names

    Send a screen shot. Is this what you mean?
  9. ray to center normal

    It might be because the RaySOP doesn't wok well with curves. Here is a VEX idea. I'm not sure if this is what you were going for.
  10. constraint cluster names

    You might need to reset the cluster numbers and names. rbd_cluster_constraint_name_fix4.hip Hopefully that bug will get fixed in the next release.
  11. Sop solver with multiple Bulllet object

    Here are 3 ways to emit packed prims. Hope this helps. emitting_packedprims.hip
  12. Layered Destruction with Point Deform?

    Here is my attempt. I am using a TransformPiecesSOP to transform the glass shards. Then using those transformed shards in a new dopnet. Hope this helps. layered_destruction_fix.hiplc
  13. constraint cluster names

    Small fix... rbd_cluster_constraint_name_fix3.hip
  14. constraint cluster names

    I think this might be what you want. Try this. rbd_cluster_constraint_name_fix2.hip
  15. constraint cluster names

    Your problem was that the RBD Cluster node was generating pieces with the same cluster number that were too far away from each other. I switched the Cluster Type to Group Constraints. That seemed to work. But I dont know if its what you want. rbd_cluster_constraint_name_fix.hip