Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


bunker last won the day on September 3 2017

bunker had the most liked content!

Community Reputation

117 Excellent

About bunker

  • Rank

Personal Information

  • Name
    Julien D
  • Location
  • Interests
    DOPs, volumes, fire, smoke, FLIP, Bullet, particles, VEX, Python, lighting, rendering, comp, coffee, travel, photography, ...

Recent Profile Visitors

7,963 profile views
  1. Scattering Objects without Overlapping

    good stuff, and simple too.
  2. Scattering Objects without Overlapping

    maybe you can include a HIP file to demonstrate this?
  3. Scattering Objects without Overlapping

    to avoid overlapping geometry, you can scatter objects in a bullet sim with the scale set to zero at the start, then grow the objects to their final scale. here is a simple example: fix_overlap_objs_bunker_01.hipnc I forgot to cancel the rotation, that can be done by adding: @w=0; in the popwrangle
  4. Pyro Cluster Sim Issue

    The group in the convertVDB is incorrect. it should be @name=vel_*, same for the VDB vector merge (you can leave this one as default). In the gasfield wrangle, you need to specify an input 0 since it's used by the volumesamplev(0,...) pyroClusterRnD_v03_ODFORCE.hipnc Also, the whole point of clustering is to save simulation time or RAM by running each cluster on separate machines or one after the other on one machine. If you run all the clusters on one machine at the same time, you're just wasting time and RAM.
  5. Automating rops with python

    you can put that script on a shelf button if you prefer, same thing. if you mean exclude the null from all the selected nodes, you can filter by node types: # filter out all null nodes for i in hou.selectedNodes(): if i.type().name()!='null': m = ropnet.createNode("ifd") m.setName("mantra_"+n) m.parm("vm_picture").set("/tmp/myfilepath/"+n+".$"+"F4.exr")
  6. Resuming distributed flip simulation

    That's not setup by default as far as I'm aware. You can write a simple "pre-render" python script on your Geometry ROP to check the latest bgeo file written and set it as the FLIP initial data File. You don't need .sim files for that. You could use the commands library for that: # returns the file before last import commands path = '/Users/myuser/mydata/' c='ls -t '+path+'*.bgeo.sc | tail -2 | head -1' print commands.getstatusoutput(c)[1]
  7. Pyro Cluster Sim Issue

    if you convert your vel volumes to VDB (convertvdb+vdbvectormerge) you can access the volume data by name directly in a gasfieldwrangle inside DOPs, and add them all within a loop: // add all VDB velocity volumes to vel int clusters = 10; for(int i=0;i<clusters;i++){ v@vel += volumesamplev(0,"vel_"+itoa(i),@P); }
  8. Pyro Cluster Sim Issue

    DOP's source volume only takes vel vector fileds for velocity, your fields are named vel_0, vel_1, ... if you're trying to source multiple vel volumes at the same time, you'll need some custom sourcing.
  9. Viewport visual of smoke looks too low detail

    ah ok. I had a look at your scene. the particle scale is quite large (see screenshot), also ideally you should set the source div size to be the same as the smoke div size, that would improve the details. maybe check this thread too for extra details:
  10. Viewport visual of smoke looks too low detail

    just some display settings: with your mouse over the viewport press the "d" key in the "Texture" tab, set your 3D Texture Limit Resolution higher (eg: 512 512 512) and in the "Scene" tab, turn "HDR Rendering" on this is for H16.5, it might be a bit different if your using another version
  11. FLIP - sourcing from points

    by default the reseeding expects 8 particles per voxels, the 0.5 and 1.5 values are thresholds. if there are less than 4 particles per voxel (8 * 0.5) new particles are created. if there are more than 12 (8 * 1.5), some get deleted. so you can turn off the reseeding... here is a simple example, with lowres flip, more resolution in the source only, and a fix by turning off reseeding: flip_source_pop_bunker.hipnc
  12. Automating rops with python

    and this creates a mantra node per selected object and set the image output path based on the node name: # before running the script, select "a,b,c" nodes ropnet = hou.node('/obj/ropnet1') # delete all nodes inside ropnet1 for i in ropnet.children(): i.destroy() # create a mantra node for each selected node for i in hou.selectedNodes(): n = i.name() m = ropnet.createNode("ifd") m.setName("mantra_"+n) m.parm("vm_picture").set("/tmp/myfilepath/"+n+".$"+"F4.exr") render_all_mantra_rop_bunker2.hipnc
  13. Automating rops with python

    here is a simple example to render all Mantra ROPs: #find all nodes of type 'ifd' (Mantra) in the 'driver' context (ROP) for i in hou.nodeTypeCategories()["Driver"].nodeTypes()["ifd"].instances(): # display their full path print "render: " , i.path() # press the 'Render to Disk' Button i.parm("execute").pressButton() render_all_mantra_rop_bunker.hipnc
  14. 1 - no, I don't use sinks or pumps #1 just one other them.
  15. 1 - to change the FLIP velocity you can update the velocity field (vel) or the particles velocity (v) with a gasfield wrangle (or VOP) // update particles vel (eg: add some vel in X) v@v += {0.1,0,0}; // update velocity field (eg: add some vel in X) v@vel += {0.1,0,0}; to delete the particles, you can use a geometry wrangle (or VOP) // example to delete droplets if(f@droplet>0) removepoint(0,@ptnum); 3 - density is the number of particle per voxel. A gasparticlecount microsolver creates a particlecount field and the values are normalized to create the f@droplet attribute. hope that helps...