Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

bunker

Members
  • Content count

    295
  • Joined

  • Last visited

  • Days Won

    14

Community Reputation

100 Excellent

About bunker

  • Rank
    Illusionist

Personal Information

  • Name Julien D
  • Location Vancouver
  • Interests DOPs, volumes, fire, smoke, FLIP, RBDs/Bullet, particles, VEX, Python, lighting, rendering...

Recent Profile Visitors

7,140 profile views
  1. you forgot the lowrestemperature field - it was still set as a vector field. The ramp parameters don't get referenced correctly from lowres to upres - you can copy the values manually for dissipation field and flames height (heat cool field) and the last thing, since you're using the lowres temperature field, you need to copy it back for visualization Have a look at the attached file upres_test_fix_bunker.hipnc
  2. Sure. The easiest way is to copy the fuel from lowres to upres 1 - save the fuel field in the lowres sim. 2 - on the upres solver, turn on "use lowres source resolution" and "source from imported fields". 3 - inside the upres solver, change the lowres_fuel and lowres_density fields type to "Scalar" (not Vector) -- I reported that bug so it might already be fixed in the latest build. also the border type on those fields should be "constant" (not Streak) same for lowres_vel hope that helps
  3. you can also use a volume wrangle to create the volume mask with falloff: // fade volume near bounds float p = chf("padding"); vector b, B; getbbox(0,b,B); float m = fit(@P.x,b.x,b.x+p,0,1)*fit(@P.y,b.y,b.y+p,0,1)*fit(@P.z,b.z,b.z+p,0,1)*fit(@P.x,B.x,B.x-p,0,1)*fit(@P.y,B.y,B.y-p,0,1)*fit(@P.z,B.z,B.z-p,0,1); @density*=pow(m,chf("exp"));
  4. The popkill sets a the @dead attribute to 1, you can do the same in a popwrangle or directly delete the particles with the "removepoint" function. in a popwrangle (make sure you set your input1 as your curve SOP) // if the points are not within the search radius, delete them if(pcnumfound(pcopen(0,"P",@P,chf("radius"),1))==0)removepoint(0,@ptnum);
  5. yep a wrangle would do, if you have your velocity as a volume: @density = fit(length(v@vel),0,chf("maxvel"),0,1);
  6. Upres is the way to go, and no it's not obsolete IMO, but currently the of-the-shelf upres is a bit broken in some places. If you undertand DOPs a bit, it's an easy fix. - most of the lowres fields imported have the wrong type, eg: lowresdensity should be a Scalar field, not Vector and I would use the border type "Constant" for all fields, not "Streak" Also you should toggle on "Use Lowres Source Resolution" and "Source From Imported Fields" to get results that match your lowres as much as possible.
  7. yeah, that's a pretty high value, how about this? if(@P.y>0){ @v=0; f@viscosity=0; }else{ f@viscosity=10000; }
  8. it's pretty simple, check the hip file flip_hold.zip
  9. in DOPs: you can plug a pop wrangle in the 2nd input of the flipsolver.
  10. You just can set the velocity to zero where you want to hold the fluid. eg: in a popwrangle : if(@P.y>0)@v=0;
  11. in the polyextrude SOP, in the "Extrusion" tab, turn on "Transform Extruded Front", Transform Space=Global, set Translate Y to your height value.
  12. in a popwrangle: float my_age_limit = 1.0; if(@age>my_age_limit)removepoint(0,@ptnum);
  13. I would add a transform SOP to make your set bigger before it goes to DOPs that way you don't need to change gravity If your mountain is supposed to be 100m in height, make sure it's 100 units first then you can always scale it a bit up/down if you need slower/faster look.
  14. not sure how the source volume work for this, but it's an OTL so you can check the inside... for sink/pump/expand operations I normally use a "Gas Field Wrangle" microsolvers. if you set your "input 1" to a SOP path with a volume then: // load volume float vs = volumesample(0,0,@P); // expand f@divergence += vs * chf("expand_amount"); // sink f@density *= clamp(1-vs,0,1); of course you'd need to adjust the volume values if you're using an SDF/surface field for pump, you'd need to load 3 volumes since it's velocity: float vx = volumesample(0,0,@P); float vy = volumesample(0,1,@P); float vz = volumesample(0,2,@P); vector v = set(vx,vy,vz); v@vel += v * chf("velocity_scale);
  15. I would use a wrangle node, much more flexible and procedural than sculpting by hand what you're after is a falloff distance from some points, that can be done with the "nearpoint" and "distance" functions: scupt_ground.hipnc