Jump to content


Popular Content

Showing most liked content on 12/06/2019 in all areas

  1. 1 point
    Hi there, First you don't need to connect the primnum to your volumegradientfile vop, that is for which primitive volume you wanna sample, let's say you have two volumes named density and heat, 0 will be density and 1 will be the heat. Second, you should connect your volume to your second input, cause you want to sample the gradient from the volume right? You can't sample the gradient from the points. Third, you can't just bind in the density in a point/prim/vertex/detail vop, you need to do that in a volumevop or you can sample the density from the second input volume using volumesample vop. Volume doesn't work like points and primitive, we can't directly grab the density/gradient/surface or any other fields we created in volume and assume it's gonna work, so we need to use the volumesample to sample the density, surface etc and use volumegradient to sample the gradient from a volume. I know it's a bit hard to understand so I found more information here: Also cgwiki has a great topic for understanding volumes, how to modify and sample, how to create field etc. http://www.tokeru.com/cgwiki/index.php?title=HoudiniVolumes Hope this would help.
  2. 1 point
    You can have the boolean seam result hang out in space. Animate the grid to track the bottom of the wave and animate the particle activation when you need to spray more particles. ap_WaveDeformerTestQuickMask_edit2.hiplc
  3. 1 point
    I believe the Object merge in your sopnet will give you the function you need. The geometry path should self propagate to the interface of houdini engine. No need for the object level input. (It used to work like that anyways)
  4. 1 point
    One more solution from Thomas Para:
  5. 1 point
    Thank you @ikoon that gif looks great, will study the file! Also Matt Stela gave me this link via Facebook in case someone else had this doubt http://www.tokeru.com/cgwiki/index.php?title=Houdini#Slide_points_along_edges Cheers!
  6. 1 point
    Hi Ezequiel, I did a similar version long time ago. Not a best solution today (we dont copystamp now), but it may help you in a way, if nobody else has better solution: https://forums.odforce.net/topic/27665-multiple-objects-along-curve-aligned-to-curve-solved
  7. 1 point
    I don't know about render farm specific techniques, but for local caching pipelines its all about the /out level, takes and wedges. -Most people place there ROP_Geometry nodes at the end of there pipe in SOPS. In SOPS, it has no output. If you place it in /out level - It has a output. Then you can wire multiple rop_geometrys together and run the bottom one, it will then cache all of them top to bottom. -Due to heavy memory sims, Its more efficient to break it up into multiple smaller caches if possible, example; clustering for pyro, wedging with the seed for FLIP. You can use a wedge to cache your simulation multiple times and each time change the seed value. This is the only way I could cache 100m FLIP sims on a 8 thread 32GB workstation without hitting memory limit. - For iterating, use a Wedge (setting up all the parms you want to test) and set it to the OpenGL ROP, this will give you viewport renders of all your different settings without having to go in and manually flipbook each one. An example cache pipeline example using the /out level, takes and wedges for a FLIP project; -Placed ROP_Geometry in /out and set it to cache base mesh (compressed_cache). Set Wedge to cache this ROP_Geometry 7 times, each time changing Jitter Seed in wavetank_inital/wavetank. -replaced compressed_cache with a file merge using $SLICE to bring in 7 seeds. - Made 7 Takes, each take changing the $SLICE range , so each seed is in its own take. This is object merged into whitewater_source by default shelf setup. -For the 7 takes, Disable Spray. Copy the takes and Disable Foam & Bubbles. So we now have 14 takes. foam_1-7, spray_1.7. -In whitewater_import, null out your whitewater sim after the attribwrangle. Place rop_geometry in /out level and cache this ww null. The Output File must match your take setup, ie. foam_1 = $HIP/sim/foam/foam_1.$F.bgeo.sc foam_2 = $HIP/sim/foam/foam_2.$F.bgeo.sc spray_1 = $HIP/sim/spray/spray_1.$F.bgeo.sc Place a Wedge and cache the rop_geometry that is caching your whitewater that we just setup. Set to Wedge Method - By Take. The take you select in this option - It will cache all its children. Peter Quint - Millions II will show you how to use wedges/takes. Also, Deadline submission script has option to submit Wedges as separate jobs, and can be another type of distribution technique where multiple machines and run the sim.
  8. 1 point
    Hi again I would write a step by step answer but that wont be any good to you, so you need to visualise what is fed into a DOP network, in this case it will be named AutoDopNetwork ( for the main body of water. From the shelf tool for flat tank it will make 7 nodes, 2 for simulation. AutoDopNetwork and whitewater_sim, then you will have two for feeding information in to these DOP networks wavetank_initial and whitewater_source respectively. So firsty I would save the output of the wavetank_initial, if you dive inside this node you will see there is already a filecache node. after you are happy with your wave shapes etc you can use this node to cache out all the velocities and everything else that goes into the main body simulation, this is done from the Export to File tab and after its done activate Load from Disk. after this step is complete , now you are ready to do your simulation for the main body. in which inside wavetank_fluid node you have import_wavetank node tyo do this. it is similar to the filecache node, use the Export to File tab and ran the sim and enable Load from Disk. Now you are ready for the whitewater source caching. inside the whitewater_source node, you already have a node called whitewatersource_cache, it is again the same thing.Its again the same thing then enable Load from Disk. Now you are ready to do the actual whitewater sim. Which you will save from the import_whitewater node, same story here also cache it out using the import_whitewater node enable Load from disk. Because it is like a chain linked events happening in Houdini, just to get the whitewater, whitewater simulation node needs a source which is created using the main water body, which is simulated by using several inputs like velocities from ocean spectrum, and all the other inputs. We are just making sure during the simulation we have everything calculated but the simulation itself, this will cut sim time and probably the memory fragmentation quiet a lot, because all the Simulation Network needs to do is read everything off the HD instead of calculating them every frame. You can and should follow this kind of workflow for everything in Houdini, I cache everything I can, you can simply put a file cache node anywhere in the network to basically save that stage out. The only catch in the tank simulation is, you need to do your tests in low resolution first and gradually increase the particle count, because the caching along the way before the simulation will also take time. So its better to know if the initial settings are gonna work for you. You should do the Go Procedural videos on Vimeo along with Peter Quint Videos vimeo.com/goprocedural vimeo.com/user2030228
  9. 1 point
    Cache it out from the DOP I/O SOP at the top instead. Right now you are caching out the visualization of the particles.
  10. 1 point
    Try my xCentroid SOP. It will create a point at the center of each primitive. xtools-sop-centroid.otl