Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by Aizatulin

  1. noise look problem

    Hi, here is an approach rebuilding the uv based on the distance to a given center point (for example (0.5, 0.5, 0)). noise_question_mod.hipnc
  2. Hi, you can use addpoint() function on each prim to add the vector attribute as point. You can remove the prims after this and you can also apply fuse to remove duplicates. You can also apply the add function on subsets (groups) if needed. prim_vector_attribute_add.hipnc
  3. Sorting curved points

    Hi, there are probably many ways to do this, but one way can using the expand group node applied on the left open edge ring. Combined with some other attributes it should give you desired result. Question_sort_mod.hipnc
  4. Poisson Disk Sampling Help

    You can also use scatter with relax iteration to get quite equidistant sampling. It is a bit slow but you can also use density attribute. poisson_on_bottle_setup_scattering.hipnc
  5. Select only concave edges

    Hi, you can also loop over the edges. If an edge is convex, the dot product of the direction between the center of the first and second (incident) primitive with the normal of the first primitive should be less than zero. edges_convexity.hipnc
  6. Organic shape

    Hi, you can try to set creases on edges for (catmull-clark) subdivision to get sharper lines, here is an example. creases_lines.hipnc
  7. insert vertex where one curve touches another

    Hi, here are some ideas: create a referene for each prim onto its parent (if not already done) for each prim store all children(ref) into one array (using the reference) map this array to the u position of the parent curve (by using distance functions) [there are probably multiple ways -> but xyzdist() should be fine here] push all u values into one array including the existing points and rebuild the curve (with this array sorted by u) Here is simple setup including some aspects prim_insert_vertices.hipnc
  8. Simple Way to Disconnect Edge?

    Hi, you can also try polybevel. It is not exactly the same, but quite similar (you have to extend the edge selection). edge_polybevel.hipnc
  9. Linear Vertex - Help

    Hi, the linear vertex number is useful, if you want to loop over all vertices at once (without looping over the prims). The linear vertex is independent from the primitive, where the vertex belongs to. Each prim has multiple vertices but each vertex has only one prim. Or lets say, if you put all vertices of all primitives into one list with unique identification (increasing numbers) you will get the linear vertices. Just put this source code into a vertex wrangle, to see the differences (you can also see, that each point can have several vertices aswell but each (linear) vertex is exactly one point reference) i@vn = @vtxnum; i@pv = vertexprimindex(0, @vtxnum); i@prim = @primnum; or just a file linear_vertex.hipnc

    You can also try to deform your static rest geometry and apply this deformation onto the deformed geometry using position and orientation attributes. Here is an example philodendron_model_03_for_forum_mod.hipnc
  11. Transfering attributes issue...

    Or you shift the previous frame to the current position and apply the attribute transfer on it (all in the solver). AttributeTransfer_03_shift.hipnc
  12. Square Bottom Bottle Modeling Question

    Hi, you can sweep with different cross sections for example. bottle_sweep.hipnc
  13. deform area with pathdeform

    Hi, you can scale the rotation (of the pathdeformer) with an attribute, by setting a float attribute on the spine. Here is an example. pathdeform_rotate_scale.hipnc
  14. If nothing else work, you can always use a foreach loop and write each piece attribute to detail, and reference it by detail(input, 'name', 0) in any field.
  15. Keep point numbers after polyextrude

    You can also store the ptnum as (extra)attribute before extrude. Extrude will transfer this attribute to the new points, which can be used to sort the points.
  16. Problems connecting curves with the skin/loft nodes

    Here is another update with some comments. If the primitives are sorted in a right order, you can shift the vertices based on the differences between the u-values. This will probably only make sense, if the polygons are closed (or open with same first/last point ~ which is the case here). You can also look into the file from anims link, there is less VEX Code. curveSkin_modA.hipnc
  17. Problems connecting curves with the skin/loft nodes

    Hi, you can try to set primgroups based on the neighboured points. If you walk over both prims and taking the sum of the lengths of a set of point pairs with different directions, one direction should have a smaller sum (which should be prefered). Based on this information you can set the primgroup. Here is an (heuristic) example. curveSkin_mod.hipnc
  18. Keeping displacement using rest pos

    Hi, one option -> point deform: first input: deformed and displaced geometry second input: deformed non displaced geometry third input: rest geometry (rest node not necessary here)
  19. Intersect All VEX only works sometimes?

    Hi, not sure what you are trying to achieve, but if you want to detect the points with intersection rays, which are in the overlapping area, you can duplicate the geometry, add an offset to y and move each points slightly based on their point number in y-direction. Now you should be able to send a ray from the original point to y-direction with little offset from the starting point. here is a file intersect_all_overlap.hipnc
  20. Sidewalks - PathDeform?

    You can also try polyexpand2d (if not already done), but it is only working on planar curves (which is not a problem, since you can project your curves onto a plane and project them back after it, if the curves aren't too distorted). It is also working with intersections (Intersection Stitch can be used before ~ depending on cases). Once you have this you can use the input curves to calculate uv-coordinates.
  21. Sidewalks - PathDeform?

    Hi, if you want to use a path deformer, you can bevel each curve point circular. Unfortunetly there is no inbuild solution yet (afaik). Make sure, that the object width corresponds to the curve radius, the radius should be slighty bigger than the half width of the obejct. Here is an example using a path deformer and a round tool (VEX). path_deform_along_circular_beveled_path.hipnc
  22. Dual mesh to Voronoi mesh

    You can try to combinate some nodes like polyextrude, fuse, polyreduce and subdivide on a voronoi pattern. Here is a simple example ... voronoi_scales_simple.hipnc
  23. Help trying to model a bevelled needle

    Hi, you can use boolean with a big box for example and apply bevel on the abseams (if wanted). Here is an example needle.hipnc
  24. Hi, to get the uvs on different sides, you can create reference copies and transfer the uvs to the deformed geometry for example. Here is an example file (trying to recreate the effect in the video). All steps are quite straighforward and usually substitutable. My approach is using a reference object (sphere) and an influence object (cube) to assign attributes. The bending part is bit critical in performance. At the end I've used simple material to visualize the uv effect. rotate_copy_by_influence_uv.hipnc
  25. Sorting primitives

    Hi, for these kind of tasks you can use attributes, which can be stored in the geometry. The sort sop has the option "primitive sort" -> "by attribute". The result strongly depends on the attributes you set. In your case you can probably combine two attributes. The prim distance to the center prim (by point and not edge incidence) and the direction from the center. Here is an example using two different methods, to get the distance from the center (probably there are better ways), the other attribute uses the xyzdist() function to a circle. Once you have the attributes you can combine them by just adding them. Since the direction ist between 0 and 1, the distance attribute which is a count (0,1,2,...) will dominate. prim_sort_spiral.hipnc