Jump to content


Popular Content

Showing most liked content on 10/12/2020 in all areas

  1. 2 points
    Here's another plant generator this time growing from crevices / occluded areas. It's essentially blending the volume gradient with some curl noise based on distance. mushroom_grow_out.hipnc
  2. 1 point
    instead of maxDistance - It should be minDistance second Code Or @blackchicken Ah never Mind Here you have Magic ...Just Holding Lines For Topic.. Lava Vex..Magma. int iteration = @ptnum%4; float frameOffset = @Frame - iteration*30; @life = 120; int cycleCount = floor(frameOffset/@life); @age = ((frameOffset/120) - cycleCount ) * @life * @Timeinc; int clusterId = iteration * 1000 + cycleCount; vector g = set(0,-9.8,0); float dist = length(@P); vector vDir = set(0,1,0) + vector( onoise(@P*0.5 + set(0,rand(@ptnum) * 4,0) + clusterId ,5,0.5,1))*1.25; float vSpeed = fit( onoise(@P*2,5,0.5,1),-1,0.4,0,1 ) * fit01(pow( rand(@ptnum) ,0.5),0.5,1) * 15; @v = vDir * vSpeed; vector particle(vector v, gravity; float age){ return v * age + gravity*0.5*pow(age,2); } vector rest = @P + particle(@v, g, 32.0/24); float noise = abs( onoise(rest*set(1,0.75,1)*0.25 + clusterId + 11 ,3,0.4,1 ) ); if(noise>0.005)removepoint(0,@ptnum); float colorNoise = abs( onoise(rest*set(1,0.75,1)*0.25 + clusterId + 100 ,3,0.4,1 ) ); @Cd = chramp("color",fit(@age,0, fit(colorNoise,0.4,0,0.5,15), 0, 1 )); @P = @P + particle(@v, g, @age); if(@P.y<0)removepoint(0,@ptnum);
  3. 1 point
    Many ways to do this. My take: Put a timeshift node after the file node and add foreach point with the copy to points node second input in the loop coming from the line (look at the picture of the graph). Click on the Create Meta Input Node. When it creates the node, rename it to something shorter, which you can find later, for example, "shift_iteration". Go to your timeshift node and add a new integer parameter in your parameter interface (in my case I called it shift). Edit the Frame parameter in the timeshift node - the default is $F, but you can add data which comes from for-loop by using detail function and taking the value of the attribute "itteration" on the Meta Input Node (in this example: "shift_iteration"). You can check the detail function in documentation, but it is very simple - detail("addres_to_the_node", "attribute_name", index). Multiply this value to the offset parameter by using ch() function and delete it from the current frame ($F). The full expression in your timeshift frame parameter will be: $F-detail("../shift_iteration", "iteration", 0)*ch("shift"). By changing the value of the shift parameter on the timeshift node you are making the animation to delay number of frames you define it. If you want them to start at random times, you can either use the sort node at the line, to change the ptnum attribute. Or you can use another expression on the new parameter, by putting shift_iteration into rand function. Good luck
  4. 1 point
    Another flower field while creating a custom baker for ground tiles: render_planar.hipnc
  5. 1 point
    Hey man, Have a look at this code on how to resize a network box in Python: if hou.selectedNodes(): sel = hou.selectedNodes()[0] pos = sel.position() parent = sel.parent() box = parent.createNetworkBox() box.setPosition(sel.position()) box.addNode(sel) box.setColor(hou.Color(0.5, 0.2, 0.5)) bbox = hou.BoundingRect(pos[0] - 4, pos[1] - 1, pos[0] + 5, pos[1] + 1) box.setBounds(bbox) cheers, Manu
  6. 1 point
    Less lazy attempt: pop_minpos_align_pig.hipnc