Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

2 Neutral

About nuki

  • Rank

Personal Information

  • Name
    Martin Kenzel
  • Location
  1. Dynamically scaling pieces?

    You could use a 4d noise, using the scale attribute as the w component. For your setup, if you promote the $CR attribute to a detail attribute you should then be able to use that as a scale. Random_Piece_Scale_mk_v001.hip
  2. Maximise Pscale

    oh, you can just put the exact wrangle you have in the solver sop into a foreach iterating over points and get the same result
  3. Maximise Pscale

    thanks a lot for your file jamesr, this is definately a ton better than what I came up with! I think the overlap is a result of your step size. What really put a knot into my brain yesterday was finding a way to directly calculate the pscale in a single pass eg. by finding the min. of the lengths of all midwaypoints...and all that amounted to is that I am pretty sure there is no way to solve this other than incrementing the scale ^^.
  4. I am struggling to find a comprehensive solution for the following problem: Given a scattered point cloud, how would I calculate a pscale for every point that is the maximum possible pscale while at the same time avoiding intersections between the spherical ranges they describe. Generating the pscales between the points is easy of course but maximizing the space they use is giving me a lot of trouble. If you look at this image, you can clearly see the problem: Blue numbers are the @ptnum, red numbers are the number of their closest neighbour. Points 6 and 9 work fine. They represent each others closest neighbour, thus "touch each others surface" fine. It gets tricky when points are not each others closest neighbours. Point 7 is closest to Point0 while Point 0 is closest to Point 1... My attempts at "fixing the gaps" finally lead to this: But since Points 7 and 0 BOTH Need to be scaled up to touch their neighbour, they start to intersect. I am at a bit of a loss here.... ClosestDistanceTest_mk_v003.hip
  5. PolyExtrude Issue?

    Weird. If instead of using the extrudeFrontSeam group you create another unshared edge group between the two polyextrudes you end up with 24 points. Both groups are identical though.
  6. Smooth Groups

    So now I've wrapped this up into a subnetwork. Sharing it here as well as my random group expand, in case anyone cares. GroupMod_mk_v001.hipnc
  7. Smooth Groups

    I ended up mixing both of your suggestions...with a solution that seemed really obvious once I figured out I can just cast the group to an attribute. So now, I cast it to float, blur the attribute, then threshold it again. The cool thing is that I now also have control about expanding/shrinking the group, where a threshold of 0.5 will keep the bounds of the original group. And taking this further I could also keep the float attribute to control eg. fur length etc. Thanks for your help guys! group_blur.hip
  8. Smooth Groups

    I was wondering how one could smooth out group assignments after subdividing a mesh. Since the assignment is binary I thought subsequent erosion/dilation would do the trick, but it doesnt really work that well altogether. group_blur.hip
  9. UV Flatten distorted plane

    thank you a lot, the delta mush method works great! Smoothing the mesh aggressively before flattening and then copy overthe uvs to the original seems to work fine as well.
  10. UV Flatten distorted plane

    I am trying to generate nice, relaxed UVs for a distorted grid object. Ideally I would want to simply relax the initially generated UVs after distorting it but all the tools available seem to be focused on generating new UVs altogether. Having never done this kind of thing in Houdini I also struggle to understand how I could procedurally constraint eg. the outline of the grid to a square or all the points with @P.x==0 to a straight line. UVs pre distortion UVLayout post distortion Quickly generated UVs in maya to outline what I'm after river_UV.hip
  11. RBD Fracture get seed from attr

    thanks again toadstorm. I was playing around with this setup for a bit and found it more convenient to generate seconday debris by scattering additional points generated with voronoifracturepoints into a single voronoifracture, rather than using a foreach loop with a second voronoifracture. I was wondering which workflow is preferred in production?
  12. RBD Fracture get seed from attr

    thanks for your help toadstorm! I had tried copying the pigheads before fracturing myself, but had trouble fetching the number of points fed into the copyToPoints node (it should be attr(".../box1", "@numpt") , right?). I needed this to adjust the amount of scattered points for n instances. Is there any reason you use vdbfrompolygons instead of isoffset apart from personal preference?
  13. Hi forum! First post for me, although I've lurked odforce for a while. I am following a RBD tutorial by Steve Knipping and have a very basic question trying to improve this setup a bit. I am fracturing a pigHead and then copy it to Points to get more instances to shatter. I would like each copy to use a seed value added to the Points to drive the seed in the following scatter nodes. I was under the impression that I could set the fracture up once and then procedurally alter each copy, but I seem to be missing some obvious logic here. Should I use an HDA here? thanks for your help! rbdTest.hipnc