Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

0 Neutral

About neblina

  • Rank

Personal Information

  • Name
  1. Packing circles of different radius

    Assuming you would want the circles not to intersect, we can solve this in a VOP network with only a few nodes. First we make sure the geometry we want the circles copied to has normals (if we want this to work with any input). We scatter points, and append them to a point VOP. Inside the VOP (which loops over the points), we want to evaluate the closest point and the point itself, subtract their positions to measure that distance and divide it in half, since we are looking for the largest radius each circle copied to those points could have. pcopen (original P to P, OpInput1 to file) > 2x pcimportbyidx (handle to handle, first has index 1, second has index 0) > subtract > length > multconst (0.5) > bind export (pscale) Also, make sure to adjust the search radius on the pcopen accordingly. A large enough number will suffice. After that we only have to copy circles to those points. I can provide a file later. All of this could also be solved with wrangles, obviously. I might give that a try too. Hope it helps, cheers! edit: well, the same principle in vex is actually simpler than I thought. Put this in a wrangle after scatter and copy the circles to points. int pcloud = pcopen(0, "P", @P, 10, 2); vector found = pcimportbyidxv(pcloud, "P", 1); @pscale = length(found - @P)*.5;
  2. Hello everyone. Please see image attached. I'm trying to setup procedural UV's for a wall system I'm working on, and I've been encountering this issue. My wall profile is constructed from lines, and for setting up the UV texture I'm converting them to NURBS curves and using the arclen function for them to have the proper size in UV dimensions. It works well, including the sweep part. The only problem is I can't have a 'closed' curve as the sweep backbone, otherwise the UV's get all messed up, even when I join them after converting back to polygons. Anyone knows a way to properly setup procedural UV's for closed swept curves? Or rather a alternative approach to this problem? Thanks in advance!
  3. Yes, thank you. Somehow I figured this out yesterday, subtracting 1 from the $NPT does the trick. clamp(ch("../posParm"), 0, $NPT - 1) Just like your example, @Noobini.
  4. Hello everyone, here's the issue I'm encountering: From a set of points I'd like to delete all but one of them, and with a slider on the upper level be able to select which. I managed to to that, but if the slider has a value bigger than the total number of points I have a problem. So I thought about maybe clamping the slider value between 0 and the total number of points. I don't know if that is possible, but here's what I tried so far: Attribute Create node (posAttr) with a detail attribute (posAttr) with the following value: clamp(ch("../posParm"), 0, $NPT) After that a Delete node, Delete by Expression, Filter: $PT == detail("../posAttr", "posAttr", 0) I expected this would evaluate the value coming from the ch in the upper level and always clamp it between 0 and the number of points, but instead it does nothing. If the value goes past the number of points it still 'crashes'. If this is a completely wrong approach, how else could I accomplish this? Thanks in advance!
  5. First off thank you, and sorry for it being a bit confusing. This solution works great in your file. My problem I think is that on my Voronoi Fracture I don't have 'Create Inside Surface' nor 'Connect Inside Edges' enabled (this somehow yielded the best results so far in terms of amount of edges I wanted and their configuration). Is there a way to make it work without those selected? If not, I'll have to figure out something else. Great technique with the Edge grouping, thanks. Learned another one.
  6. Please see screenshots attached. After running a Voronoi Fracture, I use the original shape's points as the first group, and try to intersect with a second one. The problem is, whenever one of the fractured pieces' points land on the same position as the original corner points, I can't separate them anymore. In this case, in the same position are points 7 and 15, but both of them get unselected when I group combine. Is this SOP solely based on Position attribute? I'm trying to find a way to always extract only the 'internal' curves, any ideas? Thanks in advance.
  7. Oh nice, I got it working! Attached the solution. I placed another Meta Import Node, set it to Fetch Feedback and append after the Sphere before getting it inside the loop. The Block End was then set to Feedback Each Iteration.
  8. Hello everyone, how would one accomplish something like this? Given a sphere with many points scattered on its surface, how should a For Each Point Loop be setup to have every iteration boolean a cube out of the surface of the sphere, but always use the resulting geometry of the first iteration for the next boolean? The expected result is a sphere with many holes. What I get instead is a sphere that has been indeed booleanized, but since all results 'overlap' without Single Pass checked, it still looks like a full sphere (see example attached). This is a simplified version of one issue I'm having with a project. I hope I could explain this properly. Has anyone an idea? Thanks in advance!
  9. I just found out another much, MUCH easier way of achieving this. It's so easy I'm actually mistrusting it a little, maybe someone can tell me if there are any complications in the long run? Using the Measure SOP and setting it to Curvature, then append a new group having " @curvature>0 " as the base group. This select all the corner points in a curve or extruded prim. After just delete the selected or the non-selected, as needed. Am I missing something?
  10. Simple copy and transform

    Thank you @vtrvtr, this was the best video I've seen so far explaining For Each Loops, very useful!
  11. Hello @Atom! I tried to follow the video but I can't get the results. The For Loops are different and I don't know what I should do. Also, many nodes used on the video look different now, for example Neighbour and Import Attribute. The neighbour one asks for a file, should I just say First Input instead? Or does it automatically ignore that as soon as I plug something in? Should I use Get Attribute instead of import? I'm kind of lost, I got until the part where he creates a AddAttrib node, and can see the values either 0 or 1 assigned to each point. For me they're just all 0's. Any ideas on how to accomplish this using the newer nodes? Similarly to OP, I'd like to have a way to separate corner points into a group. I understand the principle and the math behind it, using the Dot product, but I just started learning Vex and VOP's still confuse me sometimes. @acey195, could you elaborate on achieving this using the vertices instead? That would also interest me! I'm also experimenting with building facades and would like to optimize the placement of sub-assets, since my last effort became complicated very fast when trying to model from inside the same network, based on the prims and their attributes. Thanks in advance, and sorry for bringing up an older thread! edit: After a lot of struggle, I finally managed to get it working! But I still think there should be a better way of doing this, since the network I had to build inside the Attribute VOP became very large. If anyone could take a look at it and give me some advice would be really nice! 171102_Delete-Corners.hipnc
  12. Okay, so I figured it out, kind of. It took me forever to debug this, since it didn't make sense at all. Finally, since the texture was downloaded from the internet it had a random file name, and it's first character was a dollar sign ($), this was somehow interfering. I renamed and it worked fine, the .png texture shows as expected in the viewport. I'm not aiming for rendering or anything, but I was curious to see how it looked if I tried. So bam, another issue. Apparently the alpha channel gets blacked out. and does not show through. See attached picture with side by side comparison from viewport and mantra rendering. I apologise if this is trivial, I'm just starting out with Houdini and couldn't find anything related to this. Anyone knows what I should do differently to fix this? Thanks in advance!
  13. Hello everyone! I've been following some tutorials and stumbled upon some introduction to UV Mapping inside Houdini, even utilising parameters from the geometry itself for live-updating later when tweaking it, which is awesome! Sadly I only got it working when applying a normal jpeg as texture. It doesn't seem to work at all with a png as input. Attached is the setup that worked well with a normal jpeg texture for a procedural road I'm working on. I followed the tutorial and apparently one should convert it to NURBS before UV mapping. For me that didn't work; choosing Mesh instead worked fine. I tried that same setup only swapping the files, in this case a those wire fences as png, but nothing is shown in my viewport, although no errors come up. The UV Mapping part is actually working fine (I guess). Apparently I just can't setup the material (or texture) correctly. Am I missing something, or should I approach it differently? Thanks in advance!
  14. Hello everyone! Please see the picture attached. In the "old" Point node is possible to simply "Add Normals", make operations like subtracting vectors. I'm just beginning Houdini, so I apologise if this is dumb or extremely simple. How would you go on to achieve the same results without using the old Point node? The setup is simple, this is a subnet, and the Switch is connected to a toggle on the upper level. When this is on, the user has the ability to control a handle and the point normals would "point at it / follow it". Any ideas? Thanks in advance.
  15. Oh, yes! That does it too! I'll probably stick to my solution, but thanks for the reply. Always good to know alternative ways. Thank you!