Jump to content

bloodhawk

Members
  • Content count

    19
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Posts posted by bloodhawk


  1. Hello Fellow Houdini friend ,

     

    Iff you have tried everything in Houdini, you can maybe use nparticles in Maya with a drag field right around the region where you want the dust to slow down. Once you have the desired results you can then bring those particles over to Houdini and use a Pyro/smoke setup or use Fume for Maya.

     

    :P


  2. On 9/23/2017 at 8:43 PM, 953u6015t said:

    Few tips and tricks to manipulate gas simulation.

    1. Independent resolution grid. E.g. Overriding vel grid size independent to a density grid.

    2. Creating additional utilities. E.g. gradient, speed, vorticity and etc which can be used to manipulate forces.

    3. Forces via VEX and some example snippets.

    smokesolver_v1.hipnc

    P.S. Some of this technique are not Open CL friendly though.

     

    result.1.jpg


    Thanks a bunch for the detailed setup!

    Im genuinely curious, where does one start if they want to learn these things?

    • Like 6
    • Thanks 2

  3. 5 hours ago, natnat said:

    my only problem is to get the velfield. If i try to feed my particles results into a fluidsource...i can't see any vel :/ 
    or the scene is way too big 1,5km x 3,5km - which is of course insane to translate that in a dense volume^^
    at this point...is it possible to cut out the used vel space to decrease the needed voxels - maybe some vdb workflow?
    or
    is it possible to trail/trace a one-shot particle emission and use that in a loop ?


     



    I upload the file maybe someone could show me, what I'm missing...

    greetz natnat

     

     

    natnat_snowhaze_v1.hipnc

    Ill check out the file after work today, but for the velfield did you try dropping a trail sop before the fluidsource node and set it to Compute Velocity? Then in the fluidsource node you under velocity , you might need to play around with the Point Sampling under Stamp point settings. OR you can use a really dense particle layer  that way you avoid having to bump up the point sampling threshold. 

     

    Here is an example of how im generating my source density. The same can be plugged into a fluid source node (points only) and then used a separate velocity source. Using 2 different source volume node , one for vel field and one for the density, will be a bit more control over the flow.

    The setup for this doesnt need to be crazy complicated, you can always cull the density based on the height.

    PyroSource_Test.hip

    • Like 1

  4. On 6/23/2017 at 5:37 AM, natnat said:

    u mean, like at first a popforce with with a X vel direction and on top of that a subtle volume velocity with curl noise feeded through a pop adcevt by volumes right?
     

    Apologies for the late reply, but pretty much yeah.

    How i approached this a while back was by advecting particles through the noise on the ground and then having it move in the desired direction using POPFORCE with very low noise and large slow swirl. 

    This was used as the fluid source with the velocity field toned down.

    On top of that i added an extra directional velocity to push the pyro sim , which was basically just a long thin box emitting straight particle without any noise. Which was converted to a velocity field (with a bit of curl) and brought into the pyro dopnet.

    I unfortunately cannot upload any file for this right now, but ill try making a simple setup for you at home tonight.


  5. Easiest method would be to create a setup where you can feed in curves and have particles flow along the curves. 

    I was working on something similar last year, try searching the forum for it, i cant search on my mobile phone for some reason.

    • Like 1

  6. Ground - > Noise - > Particle scatter - > FluidSource -> PyroSim 

    On top of that a directional velocity source helps a LOT!

    Just be vary of too much curl , you want nice smooth directional velocity with a bit of turbulence. And the Pulse can depend on how fast the snow is flowing.


  7. Matt's solution worked really well, and i modified it a bit after using a point cloud to search for points and figure out a way to make them follow the curve even if the speed is way too high. (with help from our a very experienced FX lead)

    Now the only problem left to tackle is to figure out is when the same curve intersects itself. This is a scenario where the point cloud method falls apart sometimes.


  8. 1 hour ago, mestela said:

    This isn't quite right, but might give you some ideas.

    The core thing is the same as directly pushing points along curves, but left in a more pop context, so you can mix in forces and whatnot. The procedural way sets P directly, either with an attrib interpolate, or by reading P on a given curve at a certain uv:

    v@myuv.x += 0.01;
    i@mycurve = 0; //   can set this when the particle is created so that each particle only goes to 0 (the first curve) or 1 (the second curve)
    @P = primuv(1,'P',@mycurve, @myuv);

    To use this with pops, you don't set P, you can calculate the vector that aims from the current particle position to that target, and add that to v:

    v@myuv.x += 0.01;
    vector target = primuv(1,'P',@mycurve,@myuv) - @P;
    @v += target;
     

    The attached setup is very twitchy; make the particles move too fast, and they no longer stick to the curve. There's a Clever Way to make the force be proportional to the particle speed, so they can travel as fast as they want and stay on track, but its more than my brain can handle at 2:30am. :)

     

    -matt

    Simple_Setup_v01.hipnc

    Wow that helps a lot!!

    This just strengthens my friends suggestion to work with wrangles instead of VOP's.

    Im still trying to wrap my head around certain parts of the wrangle, but this is a great start for me!

    Ill reply again here with a few questions later on today!

    Thank you so much Matt! You da mayne.


  9. 8 hours ago, dayvbrown said:

    Hmmm bit of a tricky one, my first thought was "do they actually need to be simmed particles?"

     

    If not then you can use a whole bunch of easy sops tricks to deal with this. As always that talented trouble maker Matt Estela has a wiki page on exactly this http://www.tokeru.com/cgwiki/?title=Houdini#Slide_points_along_edges

    You could easily add to and expand these setups to give you those nice shapes by adding in some noises for variations in P along length and speed etc. Might not be the completely ideal situation being out of Dop land but could give you some ideas to try, and can be used nice and quickly in sops.

     

    I've used this technique in the past whilst using a basic popnet to birth the points so I have easy access to things like id, age\life. Using this setup ("static" popnet plugged into a few vops) should give you a whole bunch of control.

     

    Some other dops-ey thoughts were about randomly assigning particles to groups (modulus id's limited to some parameter for no. of groups) and assigning those groups to primnumbers perhaps.

    Cheers.

    Unfortunately, it needs to be a simulation. I actually started working on this with a lot of help from Matt's page, amazing resource for so many of us new comers to Houdini.

    The Modulus way sounds interesting, im just not able to understand how to implement it because of my limited knowledge.

    Thank you for the reply :D

    48 minutes ago, fuat said:

    when You scatter points on geometry, you get an integer attribute called "sourceprim" (in the scatter SOP, see the Output Attributes Tab), which tells on which prim your points are scattered from/on. so later on in POPs, when doing your pointcloud lookup, you could use this sourceprim attribute to limit your loop up search. like "if primID equals 7, dont use this curve".

    or, as you suggested yourself, doin it by primgroups. that is maybe the much easier way.

    but bit are just a guess, dont have ot build in front of me.

    hth

    fuat

     

     

    I actually went that way with the latest version, since i already had the sourceprim attribute, i created a curve_id attribute (someone actually suggested this) based on the primnum of the curves. 

    I get stuck after that, since im not able to implement those conditions. Im sure its something easy that im missing, but due my still somewhat limited knowledge of loops / conditions and comparing attributes using pcopen in VOPs im left scratching my head on how implement it.:wacko:

    It took me a whole day to figure how to use the curve tangents to push the particles along. :unsure:

    Thank you for the reply! :D


  10. Hey guys,

    Kinda Intermediate at Houdini and a recent full time convert from the 3DSMAX/TP world.

    I have been working on a tool, where the user can easily plug-in curves and generate art direct able particle flow along the input curves.
    Its about 90% done, and it works great with curves that are not too close to each other or don't intersect each other at too many points. How ever in certain scenarios. like multiple inward spiral curves intersecting each other, since the POPVOP system is based on Particle Cloud Search :

    - PC Open to look for particles close to the curve points.
    - Use those points and push them along the length of the curve using the curve tangents.

    , the particles get attracted towards either curve based on the search radius and no. of search points. This is definitely understandable, on why its happening. But is there any way to lock/tie the particles to specific curves only?

    The Radius and No. of Points parameters give it a lot of control for most scenarios, but the one mentioned above. Obviously there are a lot more parameters that i have added for dictating the flow behaviour.

    But the main solution that i can think of is to have the “found” particle only follow the curve and be affected by the parameters along that curve ONLY.
    Maybe have a POPVOP decide groups for the curves/particles?

     

    TLDR; Need to make the particles only flow along the curve it chooses/gets attracted to at the beginning.


    I have never worked with groups in POPNET, so im pretty much lost.

    Unfortunately because of my limited knowledge at Houdini i haven't been able to figure out how to achieve this. Would really appreciate some help on this.

     

×