Jump to content

konstantin magnus

Members
  • Content count

    986
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won

    110

konstantin magnus last won the day on October 8

konstantin magnus had the most liked content!

Community Reputation

1,010 Excellent

About konstantin magnus

  • Rank
    Houdini Master

Contact Methods

  • Website URL
    https://odysee.com/@konstantinmagnus:5

Personal Information

  • Name
    Konstantin Magnus
  • Location
    Germany

Recent Profile Visitors

10,503 profile views
  1. Procedural Holes - Video Tutorial

    How to procedurally punch scattered holes into a quad mesh using scatter and circle from edges-node.
  2. Maybe share a Houdini file, so people can potentially help you with this.
  3. Hi Michiel, the UV texture-node offers a 'perspective from camera'-projection. screen.hiplc
  4. the maximum value of an attribute

    Uniformly scaling an attribute so its maximum is 1.0: 1st point wrangle: setdetailattrib(0, 'height_max', f@height, "max"); 2nd point wrangle: f@height /= detail(0, 'height_max', 0);
  5. Hi Natiq, there is a trigonometry lesson by the same author: https://www.youtube.com/watch?v=gLOd_FFL58Y Also unity developer Freya Holmér explains maths for computer graphics. Part 3 is about trigonometry: https://www.youtube.com/watch?v=MOYiVLEnhrw&list=PLImQaTpSAdsD88wprTConznD1OY1EfK_V
  6. biological modelling methods

    Transferring curl noise curves into volumes along with displacements based on principal curvature is another way to shape organic sculptures. sculpture_2.hiplc
  7. I need some advice on the ripples of the ship.

    Hi @eunchae, @ssh has already implemented the Kelvin Wake pattern in Houdini:
  8. How to shape the points following a curve

    Hi Stefan, rename and remap the curveu to pscale. That way pointjitter can read it. points_curve_distr.hiplc
  9. Scale Smooth Strength

    The blur node supports weighting eg. coming from an attribute remap node. weight_blur.hiplc
  10. Ivy embrace / asphyxiate object?

    Hi @caskal, you could push curves in the opposite direction of the underlying surface normals and use them as a collider for a vellum simulation. asphyxiate.hiplc
  11. I need some advice on the ripples of the ship.

    Alternatively remap and average out directions and distances to points across a height field: float scale = chf('scale'); float range = chf('range'); float disps[] = {}; int pts[] = nearpoints(1, v@P, range * 4.0); foreach(int pt_near; pts){ vector pos = point(1, 'P', pt_near); vector nml = point(1, 'N', pt_near); float pscale = point(1, 'pscale', pt_near); vector dir = normalize(pos - v@P); float angle = fit11(dot(nml, dir), 0.0, 1.0); float dist = distance(pos, v@P); float shape = chramp('shape', angle); float dist_mod = dist * shape * pscale; float mask = 1.0 - smooth(0.0, range, dist); float wave = sin(dist_mod * 0.02); float height = 1.0 - chramp('height', angle); float disp = height * mask * scale * wave; append(disps, disp); } f@height = avg(disps); boat_waves_VEX.hiplc
  12. I need some advice on the ripples of the ship.

    Hi @eunchae, you could copy and transfer displaced grid rows into a height field: boat_waves.hiplc
  13. VDB Curvature Flow

    Hi @papsphilip, this would be the double cross product of the volume's gradient: vector grad = volumegradient(1, 0, v@P); vector perp = normalize(cross(grad, {0,1,0})); vector dir_y = normalize(cross(perp, grad)); volume_dir.hiplc
  14. intersection analysis

    Hey @Follyx, this is essentially a dart throwing algorithm. The switch node decides whether the current sphere or the empty null is merged based on the number of points of the intersection analysis node. if(npoints('../intersectionanalysis2')>0,1,0) If its just about avoiding spheres to collide (and not arbitrary meshes) you can also watch these tutorials: Fill with Non-Overlapping Packed Instances : https://www.youtube.com/watch?v=XJ7QJOZcLJk SOP Solver Tutorial - Dart throwing algorithm: https://www.youtube.com/watch?v=Y1UC3T9l15U
  15. Weathering texture tool

    Hey Paul, I had to save out the caustics texture map because Solaris did not update data live from COPs to LOPs. Set the gamma to 2.2 and save the image as a pic-file. After you have saved the image, just update the file path in stage/materiallibrary1/principledshader1 under "emission texture" and set the "tint intensity" to something like 4.
×