Jump to content

konstantin magnus

  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by konstantin magnus

  1. Import other image networks in COPs

    I created a texture in COPs and would like to modify it further in another image network. However in a file node neither of these work: op:/img/tex_lod1/OUT op:`opfullpath(“../tex_lod1/OUT”)`
  2. Houdini tutorials

    Coudl you specify? Motion Design, Character Animation, VFX, Compositing, VEX?
  3. Good old veins

    Entagma does tutorials on that on a regular basis http://www.entagma.com/category/tutorials/
  4. get prim normal

    There is a dedicated function called prim_normal() which returns the normal at a specific prim UV coordinate of any requested primitive.
  5. Exploring Houdini's SOP Solver

    This sounds really interesting! However some screenshots or a video showing scenes from the actual tutorial/projects would convince more people, I guess.
  6. It seems like you disabled the second attribwrangle on the right side. Apart from that you should not paste the code snippets into the same wrangle. Only when all positions are updated in the first wrangle the next one can go through all new positions.
  7. group create

    There is a drop-down menu on the right side of the VEXpression field in "group expression"-node saying 30% chance. random_groups.hipnc
  8. Hi bonassus, you can access the next point simply by putting @ptnum + 1 in a point function. distance() then does the measuring between the current point @P and the next one pos_next. vector pos_next = point(0, "P", @ptnum + 1); f@pscale = distance(@P, pos_next); removepoint(0, @numpt - 1); The last point on the line gets removed, because measuring would not work that way and because the stack of boxes would then overshoot the line. Make sure to move the box up by half it´s height, as well. line_density_copy_boxes.hipnc
  9. U coordinate on closed prim

    Really great! Thank you!
  10. U coordinate on closed prim

    How can I read the U coordinate (from 0 to 1) of closed primitives in VEX? I tried xyzdist and primuv ... int prim; vector uv; xyzdist(0, @P, prim, uv); v@uv_profile = set(uv.x, 0, 0); ... but I only got results that did not represent the relative distance between the vertices.
  11. Selecting edges based on intersection with curve.

    Sourceprim contains first the number of the primitive the curve has cut at that point and second the primitive number of the curve responsible for cutting.
  12. Selecting edges based on intersection with curve.

    You can also use the sourceprim attribute from the intersectionanalysis node. intersect.hipnc
  13. Read point array attribute from detail wrangle

    tsss, you´re right! Guessing I was just .. errm
  14. Read point array attribute from detail wrangle

    I am in a detail wrangle and want to read the first component of a point array attribute. Unfortunately neither point() nor attrib() seem to offer this. I couldnt find suitable array functions, either. int npts = npoints(0); i[]@prim_list[npts]; for(int i = 0; i < npts; i++){ @prim_list[i] = point(0, "sourceprim", i).[0]; // try to access first component }
  15. U coordinate on closed prim

    Alright, thank you both! I mainly wanted to make sure I am not missing something obvious. Like there is no intrinsic U attribute or a dedicated function.
  16. U coordinate on closed prim

    Thank you! But yes, I am more looking for a VEX solution..
  17. Scatter sop Attribute bias?

    I think you can modify the density attribute instead. Either by a ramp or by power of some value above or below 1 in a point wrangle. @density = pow(@density, 5);
  18. Basic poly merge operation-

    Just extrude the rough bottom upwards to get walls. Make sure to leave distance at 0 and enable Transform extruded front, set Transform space to Global, give translate Y a value above 0 and set scale Y to 0. Disable output front and enable output back. walls_rough_floor.hipnc
  19. "Tent": Connect 1 pt to a bunch of others pts

    Triangulate2D can do something like this if the shape is not too wild.
  20. You can use maketransform(): http://www.sidefx.com/docs/houdini/vex/functions/maketransform Put this in a pointwrangle and make sure to set all scale values to 1. int trs = chi('transformation_order'); int xyz = chi('rotation_order'); vector t = chv('translation'); vector r = chv('rotation'); vector s = chv('scale'); vector p = chv('pivot'); matrix m = maketransform(trs, xyz, t, r, s, p); @P *= m;
  21. VEX compare attrib values to each other

    @f1480187, ah thank you! So I guess, its: int all = nvertices(0); @min = vector(vertex(0, "uv", 0)).y; @max = vector(vertex(0, "uv", 0)).y; for(int i = 0; i < all; i++){ float compare = vector(vertex(0, "uv", i)).y; if(compare < @min) @min = compare; if(compare > @max) @max = compare; }
  22. VEX compare attrib values to each other

    As you requested a VEX solution, I would put something like this into a detail wrangle: int all = nvertices(0); @min = vertex(0, "uv", 0); @max = vertex(0, "uv", 0); for(int i = 0; i < all; i++){ float compare = vertex(0, "uv", i); if(compare < @min) @min = compare; if(compare > @max) @max = compare; } Unfortunately I would not know how to access a single vector component in this manner: @min = vertex(0, "uv.y", 0); // these lines @max = vertex(0, "uv", 0).y; // do not work Maybe someone can help me out here?
  23. VEX compare attrib values to each other

    Use an attribpromote from points, verts or prims to detail and set the promotion method to min or max.
  24. Sections and projections

    Hi Zetha, here is how I would do it. ray_section.hipnc
  25. Why don`t you publish your solution instead of trying to delete the question?