Jump to content

konstantin magnus

  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by konstantin magnus

  1. Adjust instances to primitive size

    To fill quadratic polygons with copies just take the square root of the intrinsic primitive area as point scale: int pt_add = addpoint(0, v@P); float area = primintrinsic(0, 'measuredarea', i@primnum); float scale = sqrt(area); setpointattrib(0, 'pscale', pt_add, scale, 'set'); removeprim(0, i@primnum, 1); KM_recursive_subd_001.hipnc
  2. Seriously, this takes less than a second to google:
  3. Attribute from map with the texture plus displace along normal in a point VOP.
  4. Scatter non-overlapping geometry

    Hi Rudyard, the VDB to spheres-node with 'overlapping' deactivated does that job. self_ref.hipnc
  5. Fine control VEX modelling of Voxels with VDB Wrangle

    A signed distance field already is a volume that 'fades out' towards its borders. So as soon as you go VDB-from-volumes and use 'distance VDB' you should get what you want. Or are you attempting to measure the distance from a voxel to an outline curve or anything?
  6. Fine control VEX modelling of Voxels with VDB Wrangle

    Hi Curt, to shape a skyline you could write something like this into a volume wrangle: vector pos = set(v@P.x, 0.0, v@P.z); float dens = rand(floor(pos * 9.99)); f@density = v@P.y < dens; voxel_buildings.hipnc
  7. Export noise as greyscale image from point VOP

    With Python you could try something like this: import numpy as np from PIL import Image path = hou.evalParm('image_path') node = hou.pwd() geo = node.geometry() lum = np.array(geo.pointFloatAttribValues('luminance')) lum = lum * 255 lum = lum.astype(np.uint8) img = Image.fromarray(lum, mode='L') img.save(path) This way, it currently throws an 'tuple index out of range'-error with 1-dimensional arrays for greyscale images, though. export_grey_image.hipnc
  8. Abstracting a bunch of photos in TOPs

    I have assigned a SOPs and COPs converter to TOPs that turns dozens of photos into abstract images. While not every output is exactly a master piece, it can at least cluster the most prominent image colors: Technically it's using the resample node`s curve u attribute along with a play on distances from prim uv and some noise. painting.hipnc
  9. Simple Curve Rig for Trains

    Hi Malak, you could grab the tangents from the orient along curve-node using primuv() with some offsets. trains_move.hipnc
  10. Bend step on foreach

    I would rather copy spheres onto a resampled curve with varying point scale. Then apply the same number of grids onto some parts of the sphere surfaces via UVs. Alternatively you just stick with the most recent Entagma tutorial:
  11. how to make Banana spoilage shader

    The easiest way to get some spots on the surface might be to apply worley or voronoi noise. banana_noise.hipnc
  12. Primitive Center Rotate in VEX

    Exactly. You would need to inspect the performance monitor to make sure it really is more performant, though. We've already had some cases where code that looks elegant does not perform too well and vice versa. Unfortunately I could not point you to a resource that goes deep about the inner workings and performance of VEX code.
  13. Mapping texture to deforming geometry

    A stable way to do this would be to texture those swept curves(?) at full growth and cut them short afterwards. Would this work in your case?
  14. Primitive Center Rotate in VEX

    Hi Curt, once you have defined primitive classes, you could also run this over points: float amount = radians(chf('angle')); vector axis = normalize(chv('axis')); int class = prim(0, 'class', i@primnum); string grp = '@class==' + itoa(class); vector pivot = getbbox_center(0, grp); matrix m_rot = ident(); rotate(m_rot, amount, axis); vector pos = (v@P - pivot) * m_rot + pivot; v@P = pos; v@N *= m_rot;
  15. finding the points for corner, u corner or straight wall placement

    True, but I just tried to calm down someone who is making a great fuss. Let's please not discuss next whether I was able to select corner primitives on a building block 4 years ago. This is getting too pathetic! ; )
  16. finding the points for corner, u corner or straight wall placement

    This forum is not nearly as evil as you make it. I simply didn't fully understand the questioner back then.
  17. Volume Caustics

    I sampled refraction curves into a volume using SOPs and used the resulting density as emission inside a volume shader. Is there any way to realize volume caustics fully inside a material shader (either Mantra or Karma)? volume_refraction.hipnc
  18. volume visualization node controlled by coding

    I don't know your data (does it have more than one dimension?). In the example I assume you have one float value which is visualized in a color ramp. Maybe you could show a mock-up or a sketch of what you are trying to achieve..
  19. volume visualization node controlled by coding

    You can rasterize your 200 points into a volume with the rasterize points node. rasterize_points.hipnc
  20. using python coding in houdini to import many columns data file

    Well, you could click on that little plus before 'column number' to set up numerous attributes. But once you have a working script I guess that's more convenient.
  21. using python coding in houdini to import many columns data file

    Unless you need something specific there is also node for importing csv-files: https://www.sidefx.com/docs/houdini/nodes/sop/tableimport.html
  22. color geometry with created attribute value

    To set the spheres color frame-based to other points' color use an expression such as: point('../DATA', $F, 'Cd', 0) color_copy_frame.hipnc
  23. Manipulate color on solid sphere

    Hi Catherine, to get a ramp from the center outwards simply measure the length of the position vector. A sphere would be shaped when this vector reaches a certain radius. In order to darken the sphere you would multiply your normalized data with the existing voxel values. volume_sphere.hipnc
  24. Text terminal effect

    A delete node could run over text indices using an expression like (@textindex+1)>=@Frame typo.hipnc
  25. Can we achieve this effect in SOPs?

    Hi Yasin, try calculate bitangents along the outline curve, bricker divide and extrude. Move pieces to the center plus offset them by their bitangent vector and bend them based on noise. Make sure to hit play! bars_motion.hipnc