Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by Atom

  1. Gasupres doesn't work

    A few of things. On the gasupres node make sure you set the Fluid Type to Smoke, not Pyro. Also, you have to drop down an attribute wrangle between the lores and the upres node to create a detail attribute named @timescale. When this attribute is missing the time scale defaults to 0, which is no motion. Set it to 1.0 to test, but try other values to speed up or slow down the upres. On the output of the lores dopnet, you need to add temperature and vel fields which get forwarded to the upres network. Without those, the upres simulation won't work. ap_smoke_upres.hiplc
  2. Houdini Hive 2020

    I worked through Mikael Petersen's crowd based thingie setup. I'll post it here. If anyone else has setups from the hive 2020, drop them in this thread. ap_mp_blendshape_crowd_character_052120.hiplc
  3. Redshift Proxy with relative path [SOLVED]

    I don't think you need the slash in front of $HIP. Try this instead. $HIP/rs_proxy/teapot.0001.rs Also for local instancing, don't use instancefile, use its companion, instance. s@instance = "/obj/teapot_rs/OUT/";
  4. Vellum Age

    AFAIK, the standard vellum setup does not accept animated input, so @age is simply the frame number. You can assign an @id to the primitives and the solver will pass it through. Then you could post-sim process using a for loop to operate on each piece. Here is Matt's setup with that modification. ap_me_vellum_confetti_052020.hiplc
  5. I had the same problem, RIS doesn't seem to work anymore in H18. The renderman delegate does work under LOPs, however. Give that a try.
  6. Get values of parms from within python module

    The safest way is to check that the value you fetch is valid before you attempt to evaluate the parameter. node = hou.node('/obj/autosaver1') if node != None: # Success in obtaining a reference to the node. p = node.parm("my_parm") if p != None: # Success in obtaining a reference to parm. my_value = p.eval() else: print "parm not found" else: print "node not found"
  7. Displacement from Normal map

    You could apply the normal map to a grid and render it from the top view to produce a greyscale image. If you have the companion diffuse map for the normal map, you load it into Awesome Bump and produce a matching set. https://github.com/kmkolasinski/AwesomeBump
  8. Abstracting a bunch of photos in TOPs

    I get an incomplete definition on stan_trace. Is there somewhere I can download that node? Is it part of LABs?
  9. Pyro sim to bgeo.sc vs directly to vdb

    I have started using .VDB instead of .bgeo.sc for all my volume work. Just write directly to .VDB. Give it a try. If you are at maximum ram, and the convert node throws you over the limit, increase your divsize by a little to gain back the memory that you lost.
  10. Better Tornado Result

    Check out Fencer's localized drag setup. You could place a tube around the portion of the tornado you want to affect and alter the code in the drag node to use the distance from the points of the cone to affect how strongly the drag takes place. For instance, up to distance 1 from the center, no drag will be applied, then more farther away. Anything after distance 3 will get 50% drag. vector p1 = point(0, "P", 0); float dis = distance(p1, @P); @vel *= fit(dis, 1, 3, 1, 0.5); This also let's you crank up the velocity a bit on the source node.
  11. Particle sim velocity problem

    I'm not sure what your exact goal is, but here is an attempt at dragging particles along with the moving shape element. ap_OdForceParticleSim.hipnc
  12. Better Tornado Result

    I worked on a tornado of photos a couple of years back. I ended up making two sparse tornadoes exactly on top of one another, but spinning at different speeds. It helped the final look. You might be able to accomplish that with a Retime of the original if you already have it cached out. Adding debris spinning around might be nice if it applies to your scene. Your setup looks pretty good overall.
  13. Streaky Portal Effect [SOLVED]

    I show how to build my setup in this video.
  14. Atom's Video Tutorials

    I put together a short video on how to make smoke fall into a hole. There is also a setup at the end that shows how to generate a fake @heat field using the VDB Diagnostics node.
  15. Atom's Video Tutorials

    Hello Everyone, I put together a short video tutorial on how to use the particle system to break glue bonds that are holding together fractured geometry. You can view the video here: I have other videos posted in this link as well. http://forums.odforce.net/topic/17105-short-and-sweet-op-centric-lessons/page-5#entry127846
  16. I would consider resizing the entire set up to scale down to a more reasonable size. Reduce the scale on every item by 100 times. Don't forget to bring the domain size down as well.
  17. Fill object with feathers

    Or uncheck the Pack and Instance checkbox on the CopyToPoints.
  18. Streaky Portal Effect [SOLVED]

    Adding more resolution does help. Here is a thirty million voxel upres from an eight million voxel source that leveraged OpenCL. This took about 24gb of physical ram.
  19. Streaky Portal Effect [SOLVED]

    A little better. Basically cut a hole in a box and let the smoke fall into it via gravity.
  20. Streaky Portal Effect [SOLVED]

    That is a fun one to play with. Here is my attempt at mixing those two files together, along with one more layer added in. ap_smoke_and_wire.hipnc
  21. Pyro Source Spread flames die over time

    Just guessing, but fire burns because you continue to supply fuel. Try animating the activation, for an abrupt turn off, or gradually reduce f@fuel at the SOP level.
  22. [Solved] HF Layer to COPs, normalize hight

    I think you're on the right track, perhaps create a new attribute from the height and cops will pick it up. You can leverage the promotion technique to get the minimum and maximum height values and store them as detail attributes. Then the fit might work. f@height_NORMALIZED = fit(@height,detail(0,"lowest"),detail(0,"highest"),0,1); v@Cd =f@height_NORMALIZED;
  23. [REDSHFT] Materials

    Well, if you have created your Redshift material inside the /mat context, which is the new context for materials, you'll have to update the code to point to that context. Try this... if (find(s@shop_materialpath,"some_FBX_material_name")>0) { s@shop_materialpath = "/mat/rs_new_material_name"; }
  24. Are you saving the sim on the Output node? If so, try changing the startframe to your last valid .sim file, like #400. Also, look into Save Checkpoints under the cache tab of the DOP network. That might be what you're after, assuming you are not writing .sim files to a USB disk that needs to be properly unmounted before electricity is removed.
  25. You may be able to drop down an AttributeWrangle after your popnet. Use the neighbors function to return the neighboring point count for each point (this could become expensive in processing time for large counts) https://www.sidefx.com/docs/houdini/vex/functions/nearpoints.html Something like this would remove points with less than ten neighbors. int pts[] = nearpoints(0, @ptnum, 1000); float threshold = 10; //ch("threshold"); if (len(pts)<threshold){removepoint(0,@ptnum,0);} Another approach might be to drop in a bounding object and group those stray points in the center. Then you could delete by group.