Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by AntoineSfx

  1. What is the current way to produce an animation consisting of several shots of not yet known length, sharing some assets ? One simple way would be to put everything in the same scene, move the camera and objects as I need, and use a camera switcher. It doesn't look practical though for the moving objects. In what logical unit should a shot be put, and how do I chain them together ?
  2. Divide plane into non convex regions

    Do you know a way to divide the plane into non convex, non overlapping regions ? Problem I'm trying to solve: given a grid and a set of points inside that grid, I would like to generate a set of curves / primitives that represent some region around that points as if the region has grown organically. I've has some success with Cluster, but the result is too clean, because in the end, it's doing something similar to a Voronoi diagram. Maybe there is something I could do after this to randomize the points on the borders.
  3. Convert curve to mesh overlapping mesh

    Here is a solution based on PolyExpand 2D. The secret is to give the initial curve a shrinked version of itself. The rest is just plumbing The shrinked face (inside of top face at the end) will be ugly after the subdivision, but I guess it can be fixed by removing its shared edges if it's important downstream. odforce.subdiv.hipnc
  4. Center and align object on primitive

    I'm looking for a way to to this with fewer nodes Right now the right branch creates a point a the "center" ( approximation with primitive / scale=0) of the primitive blast1, and ensures that the resulting point has its normal set to the average normal of the primitive Then I copytopoint the tube to this point and it's ready to be boolean subtracted to make the hole. Is there a simpler setup that I could use, or some SOP that I could abuse in a way. MatchSize can almost do it but it would have to work in transformed space to match the primitive remaining in blast1,
  5. Keep point numbers after polyextrude

    Match Topology SOP will fix this
  6. Fix last segment for a resampled polygon

    I know about it. It suffers from the same problem. Last copy doesn't enough room so it is dropped. I'm working on a solution to iteratively test smaller resample.length values until it is good enough.
  7. Do you know a way to resample a polygon so that each segment end up having the same length ? Use case: I want to add a fence around a house, but the panels have a fixed length. So I have a curve and a number, and I need to increase that number by some value so that it ends up being divided into segments of the same length. Also, the resample mode is along the chord, so I can't just simply compute the number of segments from the perimeter of the polygon.
  8. I have a set of planar curves that I would like to polyextrude and assign a bricks material to. So I need to have the u component along the curve (closed) and the v along the extrusion side. Can you suggest a way to do it so that the brick size is consistent across different curves with different perimeter and extrusion depth ?
  9. Texture coordinates for polyextruded curve

    So I found that Sweep SOP has several options to output the UV I wanted, so I ended up building it using Sweep SOP instead.
  10. Chain SOP without overlapping

    It's a bit expensive as you have to find the next point that does not create a collision, but it's working. I guess it could run faster by considering the shape of the curve, curvature radius, and geometry of the object to be packed, but this is another level.. feedback.hipnc
  11. Chain SOP without overlapping

    I guess Chain SOP works well enough for objects much smaller than the curvature radius of the curve, but how about fitting tightly with no overlap ? Subdivide the curve + feedback loop on the points with intersection detection to determine when to put the next one ?
  12. Curve SOP and relative coordinates

    There is now a "Build Using relative points" in the contextual menu of Curve while building one. Not sure when it appeared, but it could not have existed before they fixed the first bug I mentioned in this thread.
  13. Curve SOP and relative coordinates

    Here is the relevant portion of the documentation: Coordinates Normally you will use this operator in the viewer and simply click to indicate coordinates; however, if you need to you can also use a space-separated list of coordinates in this field to specify points. Coordinates can be specified in the following formats: x,y,z Absolute 3D coordinates, with a default weight of 1. x,y,z,w Absolute 3D coordinates and weighting factor. @x,y,z 3D coordinates relative to the previous point in the list. My coordinate list: 0,0,0 -1,1,0 @2,0,0 @-1,-1,0 2,-2,0 @0,-1,0 @-2,0,0 Can someone confirm that it's not working as expected when two relative coordinates are used in a row ? It looks like the algorithm is ignoring the @ sign in the previous coordinates when computing a relative coordinate, which is kind of ironic.
  14. copy to points with adjustment to size of objects

    It's trivial nowadays, thanks to Chain SOP (since 18.5) Have a look at the 18.5 presentation (H18.5 LAUNCH EVENT on Sidefx.com) Proof: books.hipnc
  15. The refraction looks right, but it looks like the object is casting a shadow as if it were opaque. Rendered with Mantra Not sure about the physics model used in Mantra though. So is it actually physically right, and if it's not, can I do something about it ? glass.hipnc
  16. lookat Vex function

    https://www.sidefx.com/docs/houdini/vex/functions/lookat.html Computes a rotation matrix or angles to orient the z-axis along the vector (to-from) under the transformation. matrix3 lookat(vector from, vector to) matrix3 lookat(vector from, vector to, float roll) matrix3 lookat(vector from, vector to, vector up) Can you explain me how to use this function to have a line along the z axis, anywhere is space, point to another point in space ? I don't understand what the from and to vector are.
  17. Does SOP resample / subdivision curves converge to a specific curve ? If I use a polyline built on a NURBS control points as input, it almost converges to the original NURBS curve, except for the first and last three segments.
  18. What does resample / Subdivision curves converge to ?

    I may be overlooking something here. The points are in the XY plane. I'm not sure if a convert SOP using a polyline as input and its type set to NURBS curve is even supposed to converge to the same curve as the initial NURBS curve built on those same points, as there is also a knot vector associated with the sequence of points in each case. Also, it is not documented that resample / subdiv curve will actually converge to a NURBS curve, so I don't blame them. Some background here.. I'm trying to see if I can strategically place some points on a polyline so that it SOP resample / subdiv curve to a sequence of straight lines and circle arcs. Circles arcs and circles can actually be represented exactly with NURBS, so that's why I'm investigating this. If I can set the right order and knot sequence, I hope it will actually converge to circle arcs and straight lines, but I'm not there yet.. nurbs.hipnc
  19. Discretize 2d shapes

    Given a shape, how could you process it to make it a good starting point for copying those various elements at its points ? At first it looked like something related to the Bresenham algorithm, but neighbor pieces have to have one common edge.. The anti aliasing algorithm avoids such situation, so it won't work I wonder what other mathematical problem this is related to.Could it be as simple as a snap (fuse), to a grid, then take care of the 45 degree edges ? I'm trying to have a polygon that is made only of segments oriented along one axis only at a time, and is an approximation of the initial geometry.
  20. Subdivide the result of a boolean. Issues.

    If you can't design the mesh for polybeveling that specific edge, i.e get rid of the edges between the adjacent planar primitives, then do one of those: group the ring primitives and the larger primitive together, the do a divide / uncheck convex polygons, check remove shared edges. This will be much more polybevel friendly. or: group the larger primitive, then group expand SOP it with: flood fill + restrict by normal = 0 The trick is .. polybevel can somehow slide on ring edges to hide small asymmetry problems in meshes, but it can't do magic. It doesn't somehow recursively slide on adjacent primitives until the target curvature radius is reached. So it's up to you to make sure there is no other edge too close to the edge you're trying to polybevel. At least that's how I see it.
  21. Flattening mesh with RaySOP

    No. You're assigning a point to a float. Also , promoting a 3 component vector attribute to its minimum doesn't seem like a good idea. Will it find the minimum value using a lexicographic comparison over R^3, or will it do it independently over each component ? The documentation is not clear about it
  22. Subdivide the result of a boolean. Issues.

    Also: circle --- polyextrude: Distance 0, inset some value -- polyextrude -- polybevel Set some value greater than 1 in the divisions in the polyextrude SOP so that the quads have roughly the same size. It will result in a correctly quadrangulated geometry that will be subdivided as expected, and the subdivided result will have a nice topology, which you will appreciate downstream.
  23. Procedurally Select Points on Outside Corners

    Measure SOP Parameters: Element Type:Points Measure: Curvature (Principal) Group: points with @curvature>0 Polybevel previous group Less likely to break...
  24. Flattening mesh with RaySOP

    Not sure what your problem is, but you can try setting Scale in Ray SOP to .999 to make sure the primitives from one side don't end up in the same plane (i.e. sharing the Y coordinate) as the primitives from the other side in the case you're projecting on a plane. See https://en.wikipedia.org/wiki/Z-fighting
  25. Skin SOP, shift pairing

    Actually, yes, it's possible directly. I just found this: Reverse SOP, vertex shift, U Offset Change U offset until you're satisfied with the pairing.