Jump to content

konstantin magnus

  • Posts

  • Joined

  • Last visited

  • Days Won


konstantin magnus last won the day on January 31

konstantin magnus had the most liked content!

Contact Methods

  • Website URL

Personal Information

  • Name
    Konstantin Magnus
  • Location

Recent Profile Visitors

17,185 profile views

konstantin magnus's Achievements


Newbie (1/14)

  • First Post Rare
  • Collaborator Rare
  • Posting Machine Rare
  • Very Popular Rare
  • Dedicated Rare

Recent Badges



  1. Hi Robert, yes, you can integrate the minimal surface position with the ray node or minpos(). I've added the pig head to the food input to motivate growth there, as well. mycelium_3d.hipnc
  2. Hi @sessionbeer, not quite the same, but this one comes close: https://procegen.konstantinmagnus.de/growing-a-mycelium
  3. Here's a way to draw a 2D SDF-curve. sdf_curve.hipnc
  4. Hi @Krion, the spline()-function can do this: https://www.sidefx.com/docs/houdini/vex/functions/spline.html
  5. Hi Masoud, there are probably some particle operators doing the same thing faster, but you could pull and push a voronoi-network according to the point scales until all spheres are deintersected. deintersect_spheres.hip
  6. Hi @virgile, you could blend positions based on their distance towards the surface: In a point wrangle with first input mesh, second input sphere: float d_min = chf('min_distance'); float d_max = chf('max_distance'); int prim; vector uvw; float d = xyzdist(1, v@P, prim, uvw); vector pos = primuv(1, 'P', prim, uvw); float mask = smooth(d_min, d_max, d); v@P = lerp(pos, v@P, mask); conform_to_surface.hipnc
  7. What would be the current preferred language to script patterns for Renderman inside Solaris? Eg. turning UV coordinates into dots and stripes as color vectors or float masks: vector uv = v@uv; float d = distance( frac(uv*8), {0.5, 0.5, 0.0} ); float c = 1.0 - smooth(0.2, 0.5, d); v@Cd = c;
  8. You would need another vector called "up" that points upwards, eg. v@up = {0,1,0};
  9. Hi Mani, before exporting you can promote primitive attributes to vertex UVs and/or vertex normals and promote them back after importing the OBJ. Wikipedia describes the OBJ-format: The OBJ file format is a simple data-format that represents 3D geometry alone — namely, the position of each vertex, the UV position of each texture coordinate vertex, vertex normals, and the faces that make each polygon defined as a list of vertices, and texture vertices. obj_attrib.hip
  10. Try the circle from edges-node in case the holes are supposed to be circular.
  11. Hi Curt, did you look into the hole SOP?
  12. There is a Kelvin Wakes deformer in SideFX Lab's now: https://www.sidefx.com/docs/houdini/nodes/sop/labs--kelvin_wakes_deformer-1.0.html
  13. How would you blend positions between meshes with different topology and uneven point count? My idea was to use the 'underlying' primitive's intrinsic UV coordinates for matching. But when transfering to world position I run into this typical "fix boundary seams"-issue known from the UV texture-node. blend_pos.hip
  14. Polyextrude does UVs. Just assign UVs on the grid in advance and ignore the viewport issue that comes later. extrude_uv.hip
  15. VEX version: float t = chf('threshold'); v@P.y = -abs(v@P.x - t) + t;
  • Create New...