Jump to content

konstantin magnus

  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by konstantin magnus

  1. Displacing displacements for curly paper

    I have been playing around with a displacement shader that is supposed to make polygons look curly (see picture 1 and HIP file). Would anyone know how to make them actually peel off so they dont fully cover their initial surface (picture 2)? I think Kai Stavginski mentioned in his shading masterclass that its possible to displace displacements in shaders.. paper_roll_shader.hipnc
  2. XSI ICE Get Set Average

    The attribpromote node has an average function running across all points. avg_pos.hipnc
  3. Brick tunnel

    // CONVERT PLANE TO CYLINDER vector bbox = relbbox(0, @P); @P.x = sin(@P.x * $PI * 2); @P.z = bbox.y; @P.y = cos(bbox.x * $PI * 2); https://www.sidefx.com/forum/topic/48058/ Also google for cartesian to cylindrical coordinates.
  4. When to care about topology?

    It´s entirely possible – and recommendable – to not build your modeling workflow around booleans or VDBs. I would only use booleans in simple and unambiguous situations. I attached two ways to do holes one with and one without booleans. Also here is a tutorial that might be helpful: https://vimeo.com/112114913 If you feel like you could need some more information on how subdivision modeling is done, check: https://www.youtube.com/channel/UCQ2NYo3MqqKi96TqQyl5_jQ hole.hipnc
  5. Sampling positions from UV map using uvsample()

    Hi Atom, thanks for checking! I will update to the latest build then.
  6. Sampling positions from UV map using uvsample()

    I am trying to place a point on a uv-unwrapped mesh based on its UV coordinates interpolated position and normals using uvsample(). float uv_x = chf('uv_x'); float uv_y = chf('uv_y'); vector uv_pos = set(uv_x, uv_y, 0); @P = uvsample(1, "P", "uv", uv_pos); @N = uvsample(1, "N", "uv", uv_pos); While this kind of works, it unfortunately jumps from one row to another instead of smoothly running across the surface. Is this a bug or my fault? pos_from_uv.hipnc
  7. Rotate object based on oriented bounding box

    I put a slightly oblique scanned object into an oriented bounding box and picked two points that are supposed to be straight. Now I am struggling to counter-rotate my mesh according to the bounding box´s orientation. vector scan_orient = normalize( point(0, "P", 0) - point(0, "P", 3) ); vector straight = {0, 0, 1}; matrix3 rot = dihedral(scan_orient, straight); rot = invert(rot); @P *= rot; What am I missing?
  8. Rotate object based on oriented bounding box

    @f1480187 Okay, then let´s assume I took two or three vectors along the edges of my oriented bounding box like this: vector scan_x = normalize( point(0, "P", 0) - point(0, "P", 3) ); vector scan_y = normalize( point(0, "P", 0) - point(0, "P", 1) ); vector scan_z = normalize( point(0, "P", 0) - point(0, "P", 4) ); Whats the most direct way to turn this into a matrix that actually rotates my object back in place?
  9. CmiVFX - hair Grooming course

    Even older:
  10. Animated polar noise texture

    Take a VOP COP2 generator, feed X and Y image positions into a to-polar node and plug it into a noise. polar_noise.hipnc
  11. (SOLVED) Mirror in vops?

    Just set the position coordinates to abs() before you feed them into noise. mirror_noise_odforce.hipnc
  12. VEX - Variables/attributs in vectors

    use set() instead of curly brackets: addpoint(0, set(0, height, 0) );
  13. Wireframe and UV Distortion with mantra

    Hi Daniel, you could create a wireframe shader based on the s and t values in /mat VOPs, which stand for each primitives individual UVs. wireframe_shader.hipnc
  14. Understanding Ray VEX

  15. Dear Admins, could you possibly extend the recent replies and topics list on the main page? It´s getting hard to follow at a glance. Or am I missing a setting? Thank you!
  16. Suggestion: Extend recent replies

    Thank you ! There was a lot you can miss overnight from here!
  17. Rigging a book

    You can also wrap pages by offsetting rotations a little for every page. // PARAMETERS float start = chf('start'); float touch = chf('touch'); float speed = chf('speed'); float flip = 1 - chf('flip'); vector fade = relbbox(0, @P); // POSITION @P.y -= vector( getbbox_size(0) ).y * 0.5; // WRAP PAGES matrix m = ident(); float copy = ( ch("../copy1/ncy") - prim(0, "copynum", @primnum) ) * flip; float t = @Time * speed - start - copy + sin( fade.x ) + fade.z * touch; rotate(m, smooth(0, $PI, t) * $PI, {0, 0, 1}); @P *= m; // TEXTURE COORDINATES v@uv = set(fade.x, fade.z * -1, 0); book_flip_pages.hipnc
  18. Rock formations

    Noise. Either from mountain SOPs, VOPs or heightfields, I´d say.
  19. MiG-23 DPRK Combat Plane & Various ammo

    Looks good! Maybe next time you could screen record your polymodeling, just to show that classic modeling can be done inside Houdini just as well. And perhaps also to convince people that are still too lazy to fully make the switch (like myself ).
  20. How would you cut holes in to the mesh?

    Boolean results in lots of bad triangles. What is it you are trying to achieve in the end?
  21. Select every second row/edge loop on a grid?

    There is a range functionality in the Group SOP, where you can refer to the X divisions of the grid.
  22. Best way to slide verts along the existing path?

    As long as its just a sphere you can also rotate the points around the cross-product of their normals and an up vector. slide_sphere.hipnc
  23. Best way to slide verts along the existing path?

    It´s not that simple I think. You will need topolar for making the selections and in the end frompolar to slide the points. Maybe you can deduce it from this example:
  24. Best way to slide verts along the existing path?

    Use polar coordinates. There are polar nodes inside PointVOP.