Found 502 posts.
Search results Show results as topic list.
Houdini Indie and Apprentice » The equivalent of Blender's "Extrude Manifold"?
-
- Aizatulin
- 502 posts
- Offline
You can do it with boolean, I've made some experiments combining extrude with boolean and some cleanup operations.
Technical Discussion » VEX : is it possible to rebuild a polygon?
-
- Aizatulin
- 502 posts
- Offline
There is a removevertex function. You can store all primitive points or vertices in an array. First you can remove all vertices (or a subset) and after this you can use a modified point list to add them (with addvertex function) again.
Edited by Aizatulin - April 8, 2025 13:17:00
Houdini Lounge » 3dsmax unwrap spline map in Houdini
-
- Aizatulin
- 502 posts
- Offline
Sure 
It can be done in VEX aswell (without uv-transfer) using an orientated spline. The uv-coordinates can be extracted from the (xyzdist) captured values.

It can be done in VEX aswell (without uv-transfer) using an orientated spline. The uv-coordinates can be extracted from the (xyzdist) captured values.
Houdini Lounge » 3dsmax unwrap spline map in Houdini
-
- Aizatulin
- 502 posts
- Offline
Have you tried labs uv-transfer?
Input:
1.any spline like object
2.corresponding spline
create a clean sweep from the spline with uvs and use uv-transfer.
Input:
1.any spline like object
2.corresponding spline
create a clean sweep from the spline with uvs and use uv-transfer.
Technical Discussion » Tile pattern COP: hex grid with regular hexes/gaps
-
- Aizatulin
- 502 posts
- Offline
I had no succes without changing the resolution. If you change it to the sqrt(3) / 2 - ratio it seems to work, if you use the same ratio for tile_height / tile_width. I had to increase the scale to 16/9 and the radius needs to be smaller (between 0 and 0.75).
Edited by Aizatulin - March 25, 2025 03:31:21
Technical Discussion » Tile pattern COP: hex grid with regular hexes/gaps
-
- Aizatulin
- 502 posts
- Offline
I've tried the approach of Satoru using a bit different numbers.
Tile Height: ch("headerbond_tilewidth") * 0.5 * sqrt(3) (which is the same as sqrt(3) / 2 of course)
Uniform Scale: 4 / 3
Use Radius for relative scaling and Tile width for absolute scaling.
Tile Height: ch("headerbond_tilewidth") * 0.5 * sqrt(3) (which is the same as sqrt(3) / 2 of course)
Uniform Scale: 4 / 3
Use Radius for relative scaling and Tile width for absolute scaling.
Edited by Aizatulin - March 24, 2025 13:47:43
Houdini Indie and Apprentice » labs polyscalpel question
-
- Aizatulin
- 502 posts
- Offline
You can see the difference, if you move the polygon which is not in the group. If you have two neighboured polygons sharing one edge always have two half edges (one half edge shared with the first and the other shared with the second polygon). Now you have the option cutting only one half edge, which is corresponding to the polygon in the group (or always cutting both half edges).
Technical Discussion » Transitioning from Modo to Houdini
-
- Aizatulin
- 502 posts
- Offline
UV-Transform looks like creep (only for polygons). This can be done (with VEX for example) if your geometry has uniqie uv-coordinates (1:1 mapping between uv and points). You can convert the uv geometry to normal geometry (P <- uv ~ uv-space) and capture the object you want to deform by the uv-geometry using xyzdist(), which gives you all you need to transform the back back onto the original uv-geometry (primuv()).
Here is an example (if you want to try)
Here is an example (if you want to try)
Technical Discussion » Modo to Houdini?
-
- Aizatulin
- 502 posts
- Offline
I've watched a modo video about smoothing groups and it looks like, that they are seperating the borders between the groups. In fact, if an edge is between two different groups (only two groups at once), it should be a hard edge. There are many ways to define/modify groups in houdini (procedurally/manually) but I've no idea if there is an inbuild function already to extract the borders between the groups (similar to modo).
Fortunately you can create workarounds (using VEX) almost always, if there is not the right feature available.
If interested I've created a (more experimental)file, where you can extract the borders (edges) from all existing groups, if the edge has exactly two different groups as border primitives and nothing else.
Fortunately you can create workarounds (using VEX) almost always, if there is not the right feature available.
If interested I've created a (more experimental)file, where you can extract the borders (edges) from all existing groups, if the edge has exactly two different groups as border primitives and nothing else.
Technical Discussion » Hard edges to edge group?
-
- Aizatulin
- 502 posts
- Offline
Here is one way which should work:
for each edge (point pair) -> get both half edges -> get both prims (for each half edge) -> get all vertices for each edge point -> find for each prim the corresponding vertex for each vertexlist -> now you have two vertex pairs for each point containing the vertices of both prims -> now you can compare the vertex normals and if the angles of both pairs are greater than a threshold value put the edge into the group.
for each edge (point pair) -> get both half edges -> get both prims (for each half edge) -> get all vertices for each edge point -> find for each prim the corresponding vertex for each vertexlist -> now you have two vertex pairs for each point containing the vertices of both prims -> now you can compare the vertex normals and if the angles of both pairs are greater than a threshold value put the edge into the group.
Edited by Aizatulin - Oct. 5, 2024 03:49:51
Houdini Indie and Apprentice » PolyExpand2D creating unshared edge islands
-
- Aizatulin
- 502 posts
- Offline
Technical Discussion » Delete geo inside geo
-
- Aizatulin
- 502 posts
- Offline
Sure
,
and yes you are right, you can't use this method if you have any geometry which which has open parts like a plane. You can't use boolean operations aswell. Shooting rays to multiple directions can be an option, but depending on the siuation, this method can also fail, if you have thin holes for example (where is low chance a ray will hit).

and yes you are right, you can't use this method if you have any geometry which which has open parts like a plane. You can't use boolean operations aswell. Shooting rays to multiple directions can be an option, but depending on the siuation, this method can also fail, if you have thin holes for example (where is low chance a ray will hit).
Technical Discussion » Delete geo inside geo
-
- Aizatulin
- 502 posts
- Offline
There is also "intersect_all" function, which gives you all intersection along one ray. An innter point should have an odd number of intersections (no matter which direction). If you want to avoid self intersections you can remove current piece or you just add a small amount of the normal to push the point a bit away, so if the ray intersects the geo itself the additional count should always an even number.
Every point of the piece should be inside, so you can promote (point -> detail taking the minimum of an integer attribute for example), but this method will not work for every case. There are examples, where every point of a geometry is another, but there can be parts of surfaces, which are outside (just put a cube inside a torus).
If you want to be watertight, try boolean and if there is no intersection between the piece and the rest without piece, the piece should be completely inside.
Every point of the piece should be inside, so you can promote (point -> detail taking the minimum of an integer attribute for example), but this method will not work for every case. There are examples, where every point of a geometry is another, but there can be parts of surfaces, which are outside (just put a cube inside a torus).
If you want to be watertight, try boolean and if there is no intersection between the piece and the rest without piece, the piece should be completely inside.
Edited by Aizatulin - Aug. 29, 2024 01:58:26
Technical Discussion » wirecapture and wiredeform
-
- Aizatulin
- 502 posts
- Offline
@edward this is working nice, I only had to swap the up <-> N attribute in the orientation along curve sop.
Technical Discussion » wirecapture and wiredeform
-
- Aizatulin
- 502 posts
- Offline
Sure,
I've just figured out, that I've attached the wrong file. "Deform" is quite similar to wiredeform (if you turn on biased displace).
I've just figured out, that I've attached the wrong file. "Deform" is quite similar to wiredeform (if you turn on biased displace).
Technical Discussion » wirecapture and wiredeform
-
- Aizatulin
- 502 posts
- Offline
I think the main problem here is, that wiredeform is not taking the the full orientation of the curve only the tangent. It seems that main idea is from the paper "Wires: A Geometric Deformation Technique" from Karan Singh and Eugene Fiume, where the rotation is based on the difference angle of the tangent vectors. I've done some experiments and it is quite straight forward to reimplement something similar in VEX. It is also possible to substitute the rotation using delta orientation intead of delta tangent rotation. But of course you need more input information now (orientation of the curve(s) must exists).
I think overall the point deformer is better all around tool, if you want maintain the orientation.
But if interested, here is an experimental file using a custom wire deformer
@edit: just figured out I've attached the wrong file
I think overall the point deformer is better all around tool, if you want maintain the orientation.
But if interested, here is an experimental file using a custom wire deformer
@edit: just figured out I've attached the wrong file
Edited by Aizatulin - Aug. 24, 2024 03:20:27
Houdini Indie and Apprentice » How to get a real (or fake) white light beam w/ bounces
-
- Aizatulin
- 502 posts
- Offline
Technical Discussion » possible accuracy problem with the new clip sop?
-
- Aizatulin
- 502 posts
- Offline
@Dougie0047 - if you take the idea of Tomas, you can replace the Z-direction by the direction to the neighbour points, which give you a more generic solution.
Technical Discussion » possible accuracy problem with the new clip sop?
-
- Aizatulin
- 502 posts
- Offline
Hi,
there is nothing wrong with the clip sop but with the "dist" attribute. You probably want the distance to the point projected along the z-axis and not the distance to the point projected to the closest point.
there is nothing wrong with the clip sop but with the "dist" attribute. You probably want the distance to the point projected along the z-axis and not the distance to the point projected to the closest point.
Technical Discussion » Surface Deform SOP and Piece Attribute
-
- Aizatulin
- 502 posts
- Offline
Sure
and you are right, there should be another hint. I think it makes more sense to use the primitive attribute anyway, because if you capture the geometry, it is creating information about the prim and the primuv coordinates. So the node can restrict the search to the corresponding class.
Just checked it, it doesn't matter if the source class is point or prim type, it only matters for the surface.

and you are right, there should be another hint. I think it makes more sense to use the primitive attribute anyway, because if you capture the geometry, it is creating information about the prim and the primuv coordinates. So the node can restrict the search to the corresponding class.
Just checked it, it doesn't matter if the source class is point or prim type, it only matters for the surface.
-
- Quick Links