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.

Leaderboard


Popular Content

Showing most liked content since 08/21/2016 in all areas

  1. 25 likes
    There are so many nice example files on this website that I am often searching for. I wanted to use this page as a link page to other posts that I find useful, hopefully you will too. Displaced UV Mapped Tubes Particles Break Fracture Glue Bonds Render Colorized Smoke With OpenGL Rop Moon DEM Data Creates Model Python Script Make A Belly Bounce Helicopter Dust Effect Conform Design To Surface Benjamin Button Intro Sequence UV Style Mapping UV Box and Multiple Projection Styles Ping Pong Frame Expression Instance vs. Copy (Instance Is Faster) Particle Bug Swarm Over Vertical and Horizontal Geometry Rolling Cube Rounded Plexus Style Effect Pyro Smoke UpRes Smoke Trails From Debris Align Object Along Path Fading Trail From Moving Point Swiss Cheese VDB To Polygons Get Rid Of Mushroom Shape In Pyro Sim A Tornado Ball Of Yarn Particles Erode Surface Unroll Paper Burrow Under Brick Road Non Overlapping Copies Build Wall Brick-By-Brick FLIP Fluid Thin Sheets Smoke Colored Like Image Volumetric Spotlight Moving Geometry Using VEX Matt's Galaxy Diego's Vortex Cloud Loopable Flag In Wind Eetu's Lab <--Must See! Wolverine's Claws (Fracture By Impact) Houdini To Clarisse OBJ Exporter Skrinkwrap One Mesh Over Another Differential Growth Of Curve Over Surface Rolling Clouds Ramen Noodles Basic Fracture Extrude Match Primitive Number To Point Number Grains Activate In Chunks Fracture Wooden Planks Merge Two Geometry Via Modulus Fill Font With Fluid DNA Over Model Surface VDB Morph From One Shape To Another Bend Font Along Curve Ripple Obstacle Across 3D Surface Arnold Style Light Blocker Sphere Dripping Water (cool) Exploded View Via Name Attribute VEX Get Obj Matrix Parts eetu's inflate cloth Ice Grows Over Fire Flying Bird As Particles DEM Image To Modeled Terrain Pyro Temperature Ignition Extrude Like Blender's Bevel Profile Particles Flock To And Around Obstacles BVH Carnegie Mellon Mocap Tweaker (python script) Rolling FLIP Cube Crowd Agents Follow Paths Keep Particles On Deforming Surface Particle Beam Effect Bendy Mograph Text Font Flay Technique Curly Abstract Geometry Melt Based Upon Temperature Large Ship FLIP Wake (geo driven velocity pumps) Create Holes In Geo At Point Locations Cloth Blown Apart By Wind Cloth Based Paper Confetti Denim Stitching For Fonts Model A Raspberry Crumple Piece Of Paper Instanced Forest Floor Scene FLIP pushes FEM Object Animated Crack Colorize Maya nParticles inside an Alembic Path Grows Inside Shape Steam Train Smoke From Chimney Using Buoyancy Field On RBDs In FLIP Fluid Fracture Along A Path COP Based Comet Trail eetu's Raidal FLIP Pump Drip Down Sides A Simple Tornado Point Cloud Dual Colored Smoke Grenades Particles Generate Pyro Fuel Stick RBDs To Transforming Object Convert Noise To Lines Cloth Weighs Down Wire (with snap back) Create Up Vector For Twisting Curve (i.e. loop-d-loop) VDB Gowth Effect Space Colonization Zombie L-System Vine Growth Over Trunk FLIP Fluid Erosion Of GEO Surface Vein Growth And Space Colonization Force Only Affects Particle Inside Masked Area Water Ball External Velocity Field Changes POP particle direction Bullet-Help Small Pieces Come To A Stop Lightning Around Object Effect Fracture Reveals Object Inside Nike Triangle Shoe Effect Smoke Upres Example Julien's 2011 Volcano Rolling Pyroclastic FLIP Fluid Shape Morph (with overshoot) Object Moves Through Snow Or Mud Scene As Python Code Ramp Scale Over Time Tiggered By Effector Lattice Deforms Volume Continuous Geometric Trail Gas Enforce Boundary Mantra 2D And 3D Velocity Pass Monte Carlo Scatter Fill A Shape Crowd Seek Goal Then Stop A Bunch Of Worms Potential Field Lines Around Postive and Negative Charges Earthquake Wall Fracture Instance Animated Geometry (multiple techniques) Flip Fluid Attracted To Geometry Shape Wrap Geo Like Wrap3 Polywire or Curve Taper Number Of Points From Second Input (VEX) Bullet Custom Deformable Metal Constraint Torn Paper Edge Deflate Cube Rotate, Orient and Alignment Examples 3D Lines From 2D Image (designy) Make Curves In VEX Avalanche Smoke Effect Instant Meshes (Auto-Retopo) Duplicate Objects With VEX Polywire Lightning VEX Rotate Instances Along Curved Geometry Dual Wind RBD Leaf Blowing Automatic UV Cubic Projection (works on most shapes) RBD Scatter Over Deforming Person Mesh FLIP Through Outer Barrier To Inner Collider (collision weights) [REDSHIFT] Ground Cover Instancing Setup [REDSHIFT] Volumetric Image Based Spotlight [REDSHIFT] VEX/VOP Noise Attribute Planet [REDSHIFT] Blood Cell Blood Vessel Blood Stream [REDSHIFT] Python Script Images As Planes (works for Mantra Too!) Dragon Smashes Complex Fractured House (wood, bricks, plaster) Controlling Animated Instances Road Through Height Field Based Terrain Tire Tread Creator For Wheels Make A Cloth Card/Sheet Follow A NULL Eye Veins Material Matt Explains Orientation Along A Curve Mesh Based Maelstrom Vortex Spiral Emit Multiple FEM Objects Over Time Pushing FEM With Pyro Spiral Motion For Wrangle Emit Dynamic Strands Pop Grains Slope, Peak and Flat Groups For Terrains Install Carnegie Mellon University BVH Mocap Into MocapBiped1 Ramp Based Taper Line Fast Velocity Smoke Emitter Flip Fill Cup Ice Cubes Float [PYTHON]Export Houdini Particles To Blender .bphys Cache Format Collision Deform Without Solver or Simulation Useful Websites: Tokeru Houdini Houdini Vex Houdini Python FX Thinking iHoudini Ryoji Video Tutorials: Peter Quint Rohan Dalvi Ben Watts Design Yancy Lindquist Contained Liquids Moving Fem Thing Dent By Rigid Bodies Animating Font Profiles Guillaume Fradin's Mocap Crowd Series(no longer available) Swirly Trails Over Surface http://forums.odforce.net/topic/24861-atoms-video-tutorials/ http://forums.odforce.net/topic/17105-short-and-sweet-op-centric-lessons/page-5#entry127846 Entagma SideFX Go Procedural
  2. 22 likes
    I want to share a little tool I made for grooming feathers. Its a set of 6 nodes, one base node and 5 modifiers. Super easy to use. Just connect them and.. there you go - you got yourself a pretty little feather. You can layer modifiers as many as you want. Any feedback is super appreciated. https://www.dropbox.com/sh/8v05sgdlo5erh0b/AADSfadqkxgPOBVeaGr2O49Oa?dl=0
  3. 20 likes
    Hello, dear Houdniks! Realizing that at the moment I tend to code more than use Houdini at work, and not wanting to lose my edge, I made a belated New Year's resolution to try to open up Houdini every evening and do a little something, anything, every day. While at it, why not put the daily sketches up; https://dailyhip.wordpress.com/
  4. 16 likes
    Hi all, I had been doing a rnd project on how to generate knitted garments in Houdini lately. And one my inspiration was from a project which was done by Psyop using Fabric engine and the other one is done by my friend Burak Demirci. Here are the links of them. http://fabricengine.com/case-studies/psyop-part-2/ https://www.artstation.com/artist/burakdemirci Some people asked to share my hip file and I was going to do it sooner but things were little busy for me. Here it is, I also put some sticky notes to explain the process better, hope it helps. Also this hip file is the identical file of the one that I created this video except the rendering nodes https://vimeo.com/163676773 .I think there are still some things that can be improved and maybe done in a better way. I would love to see people developing this system further. Cheers! Alican Görgeç knitRnD.zip
  5. 16 likes
    Andy Lomas' work on cellular growth has been really inspiring. He implemented all his code to run on GPUs. I was wondering how hard it would be to do this natively in Houdini. After some contortions, this is what I ended up with:
  6. 16 likes
    Hey all. I tend to read these sorts of forums a lot but never actually contribute anything, so I figured I should change that. Here's a somewhat lengthy write up of an approach to peeling paint off of a wall: http://www.pixelninja.design/paint-flakes-in-houdini/ I haven't been using Houdini long (only a couple of months) so there's probably much better ways of doing this. If so, let me know! Hopefully it's easy enough to follow along with. Blog/tutorial writing isn't something I generally do, so if you've got any feedback I'd love to hear it. Edit: added a hip file as per a request paintFlakes.hipnc
  7. 15 likes
    Hey guys! Here's my latest short called REACTION that I've been working on and off with for a couple of months. Enjoy! All Houdini and rendered with Octane
  8. 15 likes
    Hello, I am putting my experiments and RnD here: http://lab.ikoon.cz/ Maybe you will find some inspiration there. Source files and URLs are included.
  9. 14 likes
    Hey Guys!! Here is a video that shows a very fast and simple surface Tension Method! There is also an example file for you to inspect the method! Thank you!
  10. 14 likes
    Use VDB point advection to output geometry. You need to compute a velocity vector, it's up to you. For example, just a curl noise (first image) is a good starting point, as well as cross product of @N and position delta using point cloud (second image, some noise applied also). It may be anything you could imagine, from fluid trails to volume thickness. curlypig.hipnc
  11. 14 likes
    I've wanted to tackle mushroom caps in pyro sims for a while. Might as well start here... Three things that contribute greatly to the mushroom caps: coarse sub-steps, temperature field and divergence field. All of these together will comb your velocity field pretty much straight out and up. Turning on the velocity visualization trails will show this very clearly. If you see vel combed straight out, you are guaranteed to get mushrooms in that area. If you are visualizing the velocity, best to adjust the visualization range by going forward a couple frames and adjusting the max value until you barely see red. That's your approximate max velocity value. Off the shelf pyro explosion on a hollow fuel source sphere at frame 6 will be about 16 Houdini units per second and the max velocity coincides with the leading edge of the divergence filed (if you turn it on for display, you'll see that). So Divergence is driving the expansion, which in turn pushes the velocity field and forms a pressure front ahead of the explosion because of the Project Non-Divergent step that assumes the gas is incompressible across the timestep, that is where where divergence is 0. I'm going to get the resize field thingy out of the way first as that is minor to the issue but necessary to understand. Resizing Fields Yes, if you have a huge explosion with massive velocities driven by a rapidly expanding divergence field, you could have velocities of 40 Houdini units per second or higher! Turning off the Gas Resize will force the entire container to evaluate which is slow but may be necessary in some rare cases, but I don't buy that. What you can do is, while watching your vel and divergence fields in the viewport, adjust the Padding parameter in the Bounds field high enough to keep ahead of the velocity front as that is where you hope for some nice disturbance, turbulence and confinement to stir around the leading edge of the explosion. or... Use several fields to help drive the resizing of the containers. Repeat: Use multiple fields to control the resizing of your sim containers. Yep, even though it says "Reference Field" and the docs say "Fluid field..", you can list as many fields in this parameter field that you want to help in the resizing. In case you didn't know. Diving in to the Resize Container DOP, there is a SOP Solver that contains the resizing logic that constructs a temporary field called "ResizeField", importing the fields (by expanded string name from the simulation object which is why vector fields work) with a ForEach SOP, each field in turn, then does a volume bound with the Volume Bounds SOP on all the fields together using the Field Cutoff parameter. Yes there is a bit of an overhead in evaluating these fields for resizing, but it is minor compared to having no resizing at all, at least for the first few frames where all the action and sub-stepping needs to happen. Default is density and why not, it's good for slower moving sims. Try using density and vel: "density vel". You need both as density will ensure that the container will at least bound your sources when they are added. Then vel will very quickly take over the resizing logic as it expands far more rapidly than any other field in the sim. Then use the Field Cutoff parameter to control the extent of the container. The default here is 0.005. This works for density as this field is really a glorified mask: either 0 or 1 and not often above 1. Once you bring the velocity field in to the mix, you need to adjust the Field Cutoff. Now that you have vel defined along side density, this Field Cutoff reads as 0.005 Houdini units per second wrt the vel field. Adjust Field Cutoff to suit. Start out at 0.01 and then go up or down. Larger values give you smaller, tighter containers. Lower values give you larger padding around the action. All depends on your sim, scale and velocities present. Just beware that if you start juicing the ambient shredding velocity with no Control Field (defaults to temperature with it's own threshold parameter so leave there) to values above the Field Cutoff threshold, your container will zip to full size and if you have Max Bounds off, you will promptly fill up your memory and after a few minutes of swapping death, Houdini will run out of memory and terminate. Just one of the things to keep in mind if you use vel as a resizing field. Not that I've personally done that... The Resolution Scale is useful to save on memory for very large simulations, which means you will be adjusting this for large simulations. The Gas Resize Field DOP creates a temporary field called ResizeBounds and the resolution scale sets this containers resolution compared to the reference fields. Remember from above that this parameter is driving the Volume Bound SOP's Bounding Value. Coarser values leads to blurred edges but that is usually a good thing here. Hope that clears things up with the container resizing thing. Try other fields for sims if they make sense but remember there is an overhead to process. For Pyro explosions, density and vel work ok. For combustion sims like fire, try density and temperature where buoyancy contributes a lot to the motion.
  12. 13 likes
    Hello everybody, i'm finishing coding a small raytracer that run in sop using vex. one of those thing I always wanted to try to do myself. it store everything on points so no rasterization plane as the idea was to have all the rendering data accessible for later use as you would with any other attributes. it is some sort of an hybrid in the sense that it is correct enough to try to make things look good. it feature many BRDF shading models, photon mapping global illumination ( mathematically done the simple way but it work) and full recursive ray's tree splitting for reflections and refractions. Here a few videos showing some of the feature and a big part of them are already available for download as an OTL for the non commercial edition for everybody interested with the hope it can be helpful to anybody that never coded those things before like me, as I learned a lot during the way. here the videos: This one have been updated recently with lots of new clips showing improvements there and there And this one got th GI part of it with a little demo at the end. download link in the description area: Hope you enjoy, best alessandro
  13. 13 likes
    Just released! Here's a peek at the new features in Houdini 16 Amarok - including: a new network editor, viewport radial menus, booleans, terrain generation, auto-rigging tools, a new shading workflow and much more. Watch the live-stream this Monday, Feb 6 for a closer look! http://sidefx.co/2l1jAie
  14. 13 likes
    Anything I can do in Houdini is thanks to the great community of people helping and sharing their knowledge. Thank you everybody, you guys rock! This is my first job done fully in Houdini (+AE) and my client let me share the source files (attached in this post). Rendered animation is here on vimeo The included network is quite simple and I hope it can help beginners to learn Houdini. I have tried to avoid slow for each loops and copy stamping, so you can find few small tricks in there. It was rendered in one afternoon on Redshift and two 1070s (cca 1.8K pixels res). And also warning: some of the effects and glows are done in AE. Used VEX if, vertexindex, smooth, rotate (matrix), setpointattrib addprim, addpoint, addvertex, removepoint user-defined functions Used CHOPs lag, math, spring, geometry, envelope, area, trigger jiggle (even for single channel) chop() expression Used VOPs dot product (to control the linear falloff), cross product primuv, volume samples VDB vdb activate, custom masked advection (clouds) nearpoint (to sample the mask advection offset) SOPs uv texture(rows&columns) to control the ramp (color&pscale) along u attribute interpolate, attribute transfer, solver polyextrude (with local controls) RedShift volume shader, light instancing point and vertex attributes odforce - project - v1.zip
  15. 13 likes
    these are potential field lines drawn around positive and nevative charges. its pretty simple to implement in vex. no need for dops or pops. please take a look at the attached file and play with the settings. field_lines.hipnc
  16. 12 likes
    Hello Everyone, This is a recording of the presentation I gave at the sidefx booth at GDC. Topic: Creating a custom grooming system in Houdini for VFX and Games. Chapters: --Hair grooming For VFX. --Auto generating cards with texture for Real-time rendering. --Exporting the hair for real-time rendering using Nvidia Hairworks. I hope you guys like it! If you have any questions please feel free to email me at sabervfx@gmail.com Link: https://vimeo.com/sabervfx/hairfx Thanks Saber
  17. 12 likes
    Hi everyone, here are two very short clips I've created using Houdini and Mantra. I hope you like them
  18. 12 likes
    i don´t know this tool but from watching the video i guess that it uses a non-rigid icp algorithm to match one geometry to another. there is no "out of the box solution" you can use in houdini but it isn´t too hard to wire together something that works in a similar way. please take a look at the attached file. it uses some pre-definded points on both geometries to guide the general alignment and deformation. if you want this to work without any user input it might become more tricky but should also be doable ... hth. petz non_rigid_icp.hipnc
  19. 12 likes
    Animal Logic's Matt Estela is our new GridMarkets Featured Houdini Artist! He manages to explain a complex and confusing topic such as DOPs in simple and efficient terms - check out his amazing tutorial here.
  20. 12 likes
    Hi All, Just wanted to share my explorations on this theme. This thread has given me the push to explore a couple of coral growth papers I have been interested in for quite a white, particularly this one: http://www.sciencedirect.com/science/article/pii/S0022519304000761 After playing around with some of the setups on this thread I built a solver based that is a bit of a mutant space colonization system - in that the coral grows towards a food source. This means you can drive the simulation to fill objects and makes it controllable from an artistic perspective. I have attached the HIP if anyone wants to play. Dan. HOU_CoralGrowth_v1.hipnc
  21. 12 likes
    Coarse Sub-Steps If you have an expanding gas field front that from frame 1 to 2 or frame 2 to 3 travels one or two Houdini units and substeps are set to 1, you will get combed straight velocity vectors which means mushroom caps. No matter how much turbulence or confinement you set on your Pyro Solver DOP, there simply isn't enough time to evolve these fields and have an effect on the result. More substeps means smaller velocities to deal with between substeps making things more manageable too. In an attempt to keep substeps at 1, you can manufacture noise and pump that in to vel but in the end two things will happen: The Non-Divergent step will take your noise and negate most of it, or you end up pumping in so much noise because it isn't working with smaller values you tried earlier, that it swamps the entire effect and it looks like a fractal hash and not that nice evolving fireball. Oh and if you really pump in tons of noise in to vel, it too can create many smaller velocity fronts pushing ahead and you end up with smaller mushroom caps! Doh... This is in essence what the Gas Disturbance DOP does. The Pyro Solver has a Gas Disturbance DOP in it's logic and those parameters are promoted up to the top asset interface but we're concerned about substeps right now and allowing enough time for turbulence and confinement to create the nice swirls on the leading edge of the explosion. So it's coming down to sub steps to try and allow for a lot more character around the leading pressure front for fast evolving explosion type simulations. Two ways to go about this: Brute force increase the global substeps for the entire DOP network, or use the Pyro Solver Substeps in the Advanced tab. Brute Force Global Substeps For explosions, the huge almost instantaneous velocities happen at the first 5-10 frames. It would be nice to keyframe animate the Sub Steps parameter, but you can't (DOPs is that way). If you set the global sub-steps to get enough detail in the first few frames you have to carry those sub-steps through the rest of the sim when things are moving a lot slower and those substeps are no longer required. Not that great. No wonder everyone tries to inject their own pumps to affect vel to avoid global substepping. Pyro Solver Substeps The Pyro Solver exposes minimum and maximum substepping logic to control when and how the Pyro Solver will substep. This sounds interesting and could be just what we need. But what is CFL Condition? No it isn't the Canadian Football League even though we know that 3 downs rule and 4 downs are for those that can't deal 3. It's named after a couple guys who in the '20's, that's 1920's, who were trying to figure out the frequency of data samples they required in order to map and predict fluid simulations and pressures/resistance to flow with fast moving collision objects (that be ships). The help note on the actual Gas SubStep DOP explains it quite well: timestep will be reduced if the velocity field will move only 1 voxel in a timestep. A CFL of 2 will allow it to move 2 voxels in a timestep. Or something like that. You can find it on wikipedia. You can set your minimum substeps to 1 and your maximum substeps to a high enough value such that if the CFL Condition is exceeded, more substeps will occur when the simulation has large velocities and less when the velocity is smaller. Hopefully this gives enough time to let the turbulence and other methods to stir up the vel field kick in. Keyframe Timescale There is a third option to controlling sub steps but that is to keyframe animate the Timescale. Yes more than valid to do this to slow down the sim at the start and then speed up when the huge velocities subside. As a matter of fact, the shelf tools set Timescale to 0.65 as an attempt to get a good looking explosion or fireball without having to resort to substeps. But this is not an automatic method. This requires intervention if you want to animate the timescale. This means you have to run the sim and evaluate. Then you keyframe the timescale and you end up with an entirely different simulation. Then you move your keys, run again. Then you increase the resolution of the simulation and everything changes again. In many ways, it's worth to at least give the min and max substeps a go and see if you can dial in the CFL Condition to get a happy balance. As you increase the resolution of the simulation, the CFL condition measured in voxels will allow substeps to run up a bit faster to the max without too much of a change in the final result.
  22. 11 likes
    I am not sure if this has been posted before but just came across this site: http://wordpress.discretization.de/houdini/ To quote: "This website is here to help you to get started with Houdini in order to complete the Mathematical Visualization course at the Technical University of Berlin. The aim is to enable you to run your own geometry related algorithms while taking advantage of Houdini’s excellent visual graphics while avoiding to dig deep into the theory behind it." There seems to be some great material on here. In particular a unique way of getting scipy/numpy to work with Houdini - apparently you just copy and paste the entire anaconda 2.7 build into the Houdini python directory?! http://wordpress.discretization.de/houdini/home/advanced-2/installing-and-using-scipy-in-houdini/
  23. 11 likes
    hey all thought i'd just drop a grenade of Houdini work i put together over 2016 & early 2017 - nothing particularly complex - most of this is all stuff i've learnt off this forum and youtube video tutorials by ppl like @mestela @ParticleSkull @Farmfield @rohandalvi the guys at Entagma, Sidefx, and a bundle of other ppl whom i cant seem to tag like Ben Watts - i just want to say thankyou for all your help and tutorage on forums and the time you guys take to put all those epic videos together and encouraging me to learn cheers ant hoob (houdini noob geddit?!) this was my first project set in houdini - following tutorials and clearly inspired by Method (who isn't c'mon) and their video.. I then went away and did some more twiddling with sop based stuff to try some more fun effects - had alot of fun with this one - i love balloon boy lol... this was inspired by all the Hydraulic press channels and just trying a fun few setups... this one was inspired by Erik Fergusons fem stuff... and this one was an attempt to try some fun ragdoll/crowd sim stuff :)
  24. 11 likes
    Hi friends! I just released an article on Medium walking through how I built a "Compute Dual" wrangle in VEX. As a quick summary, I basically wanted to know how the "Compute Dual" feature of the divide sop worked, so i slapped together a neat lil wrangle, to do just that! CLICK ME TO GO TO THE ARTICLE!!!!!!!! Here's a cute little gif showing off the construction of a dual graph. If you like it, please check out the article, it's free and it'd mean the whole world to me! =) Love you fools, Jake http://jakericedesigns.com/
  25. 11 likes
    Teaser trailer is out now! Lots still left to do, but things are coming together.
  26. 11 likes
    Thank you ! Here it is the zip file including PDF and all the hip files with the ink setup and tornado setup. The scene files have been created with Houdini 15.5.632. Enjoy ! Hug_Nov2016-AlessandroPepe.zip
  27. 11 likes
    Hello! I just wanted to give an update on my houdini project I redid my lost felt, got the rest of the model and I did some shading with mantra. I used substance painter to make the maps and I really like how easy it was to integrate them into houdini! There's a bunch of udims but the whole thing just uses one shader which is awesomely easy! Well.. some more work to be done... !
  28. 11 likes
    http://cargocollective.com/pedrokobuti/Routine
  29. 11 likes
    Hi! I just want to show something about what was talking about pyroclatic details using laplacian as a factor for curvature decimation in a gas sim. This vimeo video shows a custom solver that I have been working on; Is still incomplete, but I'm having really nice results, because is very very easy to configure in comparison with pyro solver and the most important, is fast. I hope you like it! Thank you!! Alejandro
  30. 11 likes
    Project Non-Divergent Step and Mushrooms The Project Non-Divergent DOP is responsible for 99.9% of the simulation's behaviour. Yes hundreds of DOPs inside the Pyro Solver all playing a part but all funnelling through that single Non-Divergent step. This means that if you don't like the look of your sim and the mushrooms, it's ultimately because of the Non-Divergent step creating a vel field that doesn't do it for you. If you want to see for yourself, unlock the Pyro Solver, dive in, find the Smoke Solver, unlock that, dive in and find the projectmultigrid DOP and bypass it, then play. Nothing. For most all Pyro sims, this is the Project Non-Divergent Multigrid as it is the fastest of the Non-Divergent micro-solvers. This specific implementation only takes the vel and divergence field and assuming across the timestep that the gas is non-compressible when divergence is 0, will create a counter field called Pressure and then apply that pressure field to the incoming vel to remove any compression or expansion and that gives you your velocity, nice turbulent and swirly, or combed straight out. Just tab-add a Project Non-Divergent Multigrid DOP in any dop network and look at the fields: Velocity Field, Goal Divergence Field and Pressure Field (generated every timestep, used, then removed later on). All the other fields in Pyro are there to affect vel and divergence. Period. Nothing else. At this point I don't care about rendering and the additional fields you can use there. It's about vel and divergence used to advect those fields in to interesting shapes, or mushrooms. If you want to create your own Pyro Solver taking in say previous and new vel, density, temperature, and then in a single Gas Field VOP network, create an interesting vel and divergence field, then pass that straight on to the Project Non-Divergent Multigrid microsolver, then advect density, temperature and divergence afterward, go for it. Knowing that only vel and divergence drive the simulation is very important. All the other fields are there to alter the vel and divergence field. So if you have vel vectors that are combed straight, divergence (combustion model in Pyro) or buoyancy (Gas Buoyancy DOP on temperature driving vel) have a lot to do with it. Or a fast moving object affecting vel...
  31. 10 likes
    The main thing you can learn from these types of things is the art of self promotion
  32. 10 likes
    I finally got around to cleaning up the hip file and have attached it. If you end up using this, please let me know how it's going and share a pointer to your work. The major challenge with writing this in VEX was that VEX does not offer any of the canonical data structures one would use to efficiently implement this. For me, the simulation ends up running out of memory around a 1000 frames. As I am novice to Houdini, I would also appreciate any feedback and comments you might have if you end up taking a look. Enjoy? :-) MorphogensisInVex.hiplc
  33. 10 likes
    I wanted to see if I could play a video in Houdini using some python. With this as the result. Don't think it's the first time this is done but it is still nice to see. The result
  34. 10 likes
    I think Cristin mentioned it in the launch event, but but in case anyone missed it: Nearly all the areas presented in H16 will continue on into the next dev cycle. That's not to say other projects won't be started, just that we'll be building on the cool stuff presented in H16.
  35. 10 likes
    Short answer is no. I think you're missing a lot of computer history. Linux (1991) was influenced by Unix (1971). In fact, Linux (as the whole ecosystem, not just the kernel) is one of many variants descended from Unix. One other important Unix descendant was IRIX (1988) which ran on the graphics workstations made by Silicon Graphics (SGI) (1982). Houdini (1996) was the successor to PRISMS (1987). So all these particular commands that you're talking about are actually Unix commands, not Linux. PRISMS and Houdini used to run on IRIX on Silicon Graphics workstations, as did Maya (1998) and its predecessors. Today, most of the big 3d studios (like Pixar, Disney Animation, DreamWorks, Blue Sky, ILM, Framestore, etc) all run Linux because they used to run IRIX. Windows (1993) as you know it today wasn't used much for 3D work until the computer games industry took off. CLI in general has been around since the dawn of operating systems. Interestingly, the "ls" Unix command was an abbreviation of the "list" Multics (1964) command, which itself was a shortened form of the CTSS (1961) "listf" command (according to A Brief History of the 'ls' Command). And to complete the OS history lecture, Windows can be seen as a descendant of VMS (1977) since it was largely designed by the same developers (who had been hired away from DEC by Microsoft). And VMS of course drew inspiration from Multics amongst other OSes.
  36. 10 likes
    Hi, this is my current showreel. Hope You like it.
  37. 10 likes
    Gifstorm! First I've used a visualizer sop to show @v coming out of the trail sop: That makes sense so far. To make the next step easier to understand, I've shrunk the face that sits along +Z, and coloured the +Y face green, +X red, +Z blue. So, that done, here's that cube copied onto the points, with the v arrows overlaid too: The copied shapes are following the velocity arrows, but they're a bit poppy and unstable. So why are they following, and why are they unstable? The copy sop looks for various attributes to control the copied shapes, @v is one of them. If found, it will align the +Z of the shape down the @v vector. Unfortunately what it does if it has only @v is a little undefined; the shapes can spin on the @v axis when they get near certain critical angles, which is what causes the popping and spinning. To help the copy sop know where it should aim the +Y axis, you can add another attribute, @up. I've added a point wrangle before the trail, with the code @up = {0,1,0}; ie, along the worldspace Y axis: you can see all the green faces now try and stay facing up as much as they can (note the view axis in the lower left corner), but there's still some popping when the velocity scales to 0, then heads in the other direction. Not much you can do about that really, apart from try some other values for @up, see if they hide the problem a little better. What if we set @up to always point away from the origin? Because the circle is modelled at the origin, we can be lazy and set @up from @P (ie, draw a line from {0,0,0} to @P for each point, that's a vector that points away from the origin): Yep, all the green faces point away from the center, but there's still popping when @v scales down to 0 when the points change direction. Oh well. Maybe we can venture into silly territory? How about we measure the speed of v, and use it to blend to the @up direction when @v gets close to 0? Better! Still a bit poppy, but an improvement. Here's the scene with that last setup: vel_align_example.hipnc To answer the other key words in your topic title, I mentioned earlier that the copy sop looks for attributes, obviously @v and @up as we've used here, but if it finds others, they'll take priority. Eg, @N overrides @v. @N is still just a single vector like @v, so it too doesn't totally describe how to orient the shapes. You could bypass the trail and the wrangle so that there's no @v or @up, set @N to {0,1,0}, and all the shapes will point their blue face towards the top. Without any other guidance, it will point the red side of the shapes down +X. If you give it @N and @up, then it knows where point the green side, and you get a well defined orientation. While using 2 attributes to define rotation is perfectly valid, there are other options. The one that trumps all others is @orient. It's a single attribute, which is nice, and its party trick is that it defines orientation without ambiguity, using a 4 value vector. The downside is quaternions aren't easy to understand, but you don't really need to understand the maths behind it per-se, just understand what it represents. The simplest way is to think of it as @N and @up, but glommed into a single attribute. Another way is to think of it as a 3x3 matrix (which can be used to store rotation and scale), but isolated to just the rotation bits, so it only needs 4 values rather than 9 values. In houdini, you rarely, if ever, pluck quaternion values out of thin air. You normally generate what you need via other means, then at the last minute convert to quaternion. Lots of different ways to do this, coming up with ever funkier smug ways to generate them in 1 or 2 lines of vex is something I'm still learning from funkier smug-ier co-workers. Eg, we could take our fiddled @v, and convert it to a quaternion: @orient = dihedral({0,0,1} ,@v); What that's doing is taking the +Z axis of our shape-to-be-copied, and working out the quaternion to make it align to @v. You could then insert an attrib delete before the copy, remove @N, @v, @up, and now just with the single @orient, all the shapes rotate as you'd expect. vel_align_example_orient.hipnc
  38. 10 likes
    I just gotta share this for inspiration - I could watch this for hours...
  39. 10 likes
    Try this... Put down a measure SOP and set it to measure the perimeter of your curves. After that a primitive wrangle and write. #include <groom.h> adjustPrimLength(0, @primnum, @perimeter, @perimeter*@dist); groom.h is a included file containing some functions used in the grooming tools and one of the functions is... void adjustPrimLength(const int geo, prim; const float currentlength, targetlength)
  40. 10 likes
    Methods to Stir Up the Leading Velocity Pressure Front We need to disturb that leading velocity pressure front to start the swirls and eddies prior to the fireball. That and have a noisy interesting emitter. Interesting Emitters and Environments I don't think that a perfect sphere exploding in to a perfect vacuum with no wind or other disturbance exists, except in software. Some things to try are to pump in some wind like swirls in to the container to add some large forces to shape the sim later on as it rises. The source by default already has noise on it by design. This does help break down the effect but the Explosion and fireball presets have so much divergence that very quickly it turns in to a glowing smooth ball. But it doesn't hurt. It certainly does control the direction of the explosion. Directly Affecting the Pressure Front - Add Colliders with Particles One clever way is to surround the exploding object with colliders. Points set large enough to force the leading velocity field to wind through and cause the nice swirls. There are several clever ways to proceduralize this. The easiest way is with the Fluid Source SOP and manipulate the Edge Location and Out Feather Length and then scatter points in there then run the Collide With tool on the points. Using colliders to cut up the velocity over the first few frames can work quite well. This will try to kick the leading pressure velocity wave about and hopefully cause nice swirling and eddies as the explosion blows through the colliders. I've seen presentations where smoke dust walls flowing along the ground through invisible tube colliders just to encourage the swirling of the smoke. You can also advect points through the leading velocity field and use these as vorticles to swirl the velocity about. The one nice thing about using geometry to shape and control the look, as you increase the resolution of the sim, it has a tendency to keep it's look in tact, at least the bulk motion. As an aside, you could add the collision field to the resize container list (density and vel) to make sure the colliders are always there if it makes sense to do so. Colliders work well when you have vortex confinement enabled. You can use this but confinement has a tendency to shred the sim as it progresses. You can keyframe confinement and boost it over the first few frames to try and get some swirls and eddies to form. Pile On The Turbulence Another attempt to add a lot of character to that initial velocity front is to add heaping loads of turbulence to counter the effect of the disturbance field. You can add as many Gas Turbulence DOPs to the velocity shaping input of the Pyro Solver to do the job. Usually the built-in turbulence is set up to give you nice behaviour as the fireball progresses. Add another net new one and set it up to only affect the velocity for those first few frames. Manufacturing the turbulence in this case. In essence no different than using collision geometry except that it doesn't have the regulating effect that geometry has in controlling the look of the explosion, fireball or flames, or smoke. As with the shredding, turbulence has it's own visualization field so you can see where it is being applied. Again the problem is that you need a control field or the resize container will go to full size but if it works, great. Or use both colliders and turbulence pumped in for the first few frames and resize on the colliders. Up to you. But you could provide some initial geometry in /obj and resize on that object if you need to. Hope this helps...
  41. 9 likes
  42. 9 likes
    [SIGGRAPH 2017] Anisotropic Elastoplasticity for Cloth, Knit and Hair Frictional Contact
  43. 9 likes
    Here is collection of breakdowns for a project I was working on during last half of a year Vimeo album: https://vimeo.com/album/4471569 Or individual videos:
  44. 9 likes
    Hey everyone! Here's a demo of some point cloud tools I created to calculate concave and convex curvature as well as gradient and curl direction, also sharpening. Forgot to mention in the demo that the curvature calculation is a great way to do differential growth by advection along normal * curve * noise * parm. Also, the curl calculation can be used to make grass patches and groom fur by orienting curves along the direction to add swirly variance. There's a lot of ways these tools can be handy, interested to see what you all come up with! Let me know if you have any questions, enjoy! curveGradientCurlSharpen_v002.hipnc
  45. 9 likes
    Hello, I've revamped this thing in H16. Basically it's same, just changed a long distance geometry query to VDB sampling, it seems to fits best. Also added some auxiliary functionalities, like reversing polygons if needed, uv creation and such. It's created by H SOP and VOP arsenal. Get hiplc here. How it works: First step is volume sample of VDB representation of another mesh. Sampled SDF is saved as float attribute, zero SDF is used by PolyCut SOP to create intersection curve. Final offset Cuts on meshes are also PolyCut SOP done by spatial query, XYZ Distance VOP and such. Intersection curve is re-sampled down and converted to NURBS, to get as much smooth fillet. From that curve, there's spatial query to cuts on meshes, to get closed points. In next step, curve is re-sampled again to final fillet resolution, also there's new spatial query to cuts, this time only to match the final position, while orientations are derived from low res curve. This is to avoid 'bulging', invoked by linear cuts over polygons. Last step is six point bezier curve, well known as G2 blend in NurbS world, used to loft the fillets, by Skin SOP. More specific, what it can and can not do: - it automatically creates NURBS style fillets around intersections of two polygon meshes. - it wants two closed meshes as inputs, while second mesh has to be perfectly closed (no boundary edges) - will see is there a simple way to improve that. - it is able to perform fillets over fillets - only in case of closed second input. - it is able to deal with multiple intersections, or multiple (closed) volumes, let's say created by Merge SOP. - it creates fillets from union, intersection or subtraction. Default is union. - it creates UVs on fillets. If there are existing UVs on inputs, H will keep them. - it aligns normals (or exactly, vertex order) of created fillet, to first input. - each intersection has to be 'closed', that is, resulting in closed curve, in order to work properly. - meshes has to be nicely subdivided before inputs. It's just cutting over supplied inputs, it won't create new, smaller polygons. - it does not work well with sharp curvature - will see is there a way to improve that. - fillets should not overlap. - resulting meshes are just stacked, there is no any re-meshing, at this point.
  46. 9 likes
    SideFX Houdini - History Houdini 15.5 2016-MAY-19 Modeling New PolyBevel 2.0 SOP New PolySplit 2.0 SOP New Dissolve 2.0 SOP TopoBuild tool (phase II) Variable width offsets in PolyExpand2D Double-click for edge loop selection Double-click for point and primitive island selection Crowds Advanced locomotion controls Direct FBX Imports for agents Vertex normal support for deforming crowd agents New Agent CHOP New Terrain Adaptation SOP Improved crowd steering behaviour Accurate foot planting Mocap Biped 3 with library of motion clips UVs Triplanar UV projection VOP Curvature support for UV Bake Tighter UV island packing in layout Lighting and Rendering Third Party Rendering Support in Houdini Indie - Today: RenderMan, Arnold, and Octane - Coming: Redshift, V-Ray and Maxwell New VR Camera built using new VR lens shader DOF and Motion Blur in OpenGL ROP Overscan rendering support and crop window fixes OpenGL displacement mapping in viewport "Render to Disk in Background" button on SOHO ROPs Photon tracing control in Mantra User Experience Better Euler tumbling in viewport 3D handle enhancements File chooser enhancements Improved geometry snapping Multi row/column pasting in Parameter Spreadsheet Help system enhancements Character "Delta Mush" deformation support Multi overlapping selection in Dopesheet Hair and fur grooming enhancements Performance Faster VEX function loading and more efficient memory use Faster saving of large geometry HQueue performance optimizations Volumes OpenVDB 3.1 Interoperability Many Alembic enhancements Houdini 15.5 Price (as of2016-FEB-06) Package Type Node-Locked Floating Subscription Houdini FX Commercial $4,495 $6,995 Perpetual Houdini Commercial $1,995 $2,995 Perpetual Houdini Engine Commercial $499 $795 Annual Houdini Indie Limited Commercial $199 --- Annual Houdini Engine Indie Limited Commercial FREE --- Annual Houdini Education Non-Commercial $75 --- Annual Houdini Apprentice Non-Commercial FREE --- Monthly Houdini 15.0 2015-OCT-15 UI GGX and PBR in viewports XML Menus Geometry PolyBridge Block Begin/End Looping Paste at cursor Animation Onion Skinning Character Picker Pane Pose Library Pane Dynamics FLIP handling 2B+ particles Crowds Rag Doll States Rendering Principled Shader (Disney) Shader Layering in VOPs Viewport Normals Material Stylesheets Update IPR Render times info Read PSDs in COPs Bake Textures Houdini 14.0 2015-JAN-15 UI Qt for GUI Visualizer New Color Picker (TMI) Animation Editor (Channel Editor) Workflow Improvements Dynamics Point Based Dynamics (PBD) Crowd Simulation Gas Curve Force Hair Grooming Material Stylesheets Bunch of New Nodes Attributes can now hold Arrays Mantra license now per-machine (previously per-CPU) Houdini Engine for UE4 2015-DEC-03 Houdini Engine for 3dsmax 2015-NOV-06 Houdini Engine 2.0 2015-OCT-15 Houdini Indie 2014-AUG-07 Houdini Engine for Cinema 4D 2014-APR-23 Houdini Engine for Unity 2013-NOV-20 Houdini Engine for Maya 2013-NOV-20 Houdini 13.0 2013-OCT-31 Particles Particles as DOPs VEX-based (Faster) Stream Concept Dynamics Finite Element Solver New Fluid Surfacer Debris Shelf Tool Packed Primitives OpenEXR 2 (ILM) OpenSubdiv (Pixar) OpenVDB (Dreamworks) Update VEX/VOP Can now create geometry Linear Workflow Data Tree Houdini Engine Introduction 2013-JUL-11 Maya Cinema 4D Houdini 12.5 2013-MAR-14 FX CloudFX OceanFX OpenVDB Sparse Volumes Primitive (Dreamworks) OpenCL DOP FLIP Animated Densities, Viscosities & Timescales Bullet Concave Geos New Bullet RBD Constraints Lighting Volume Lights Independent Env Light Workflow Alembic Updates Alembic Procedural Shader File SOP/DOP Create Dirs Geometry PolySoup Primitive Remesh SOP Wrangle Nodes UI Group visualization Coincident Points Bind VOP Houdini Master Price Drop - $4,495 2012-AUG-07 Houdini 12.1 2012-AUG-07 Edge Grouping OpenVDB Initial Integration Alembic update "Houdini FX" Naming Orbolt Smart Asset Store Tetra Primitives Houdini 12.0 2012-MAR-01 Simulations Faster (Pyro, Cloth, FLIP, Hair/Fur) FLIP Viscosity PyroFX 2.0 Re-written core OpenCL/GPU simulation Clustering Pyro Shader SOP Solver Bullet (now default) RBD Rendering PBR for Volumes IES Lights OpenGL ROP Point Instance Procedural Shader Viewport Rewrite - OpenGL 3.2 Performance Monitor New geometry core (GA library replaces GB library) Houdini Master Price Drop - $6,695 2010-JUN-10 Houdini 11.0 2010-JUL-27 Simulations FLIP Solver - See History Dynamic Fracturing (Voronoi) SPH Speed Up Improvements on Fur/Cloth Volume Nodes Shader Building Material Shader Builder Delayed Load Procedural VOP Ptex Uniform Volume Property (PBR/RT) VOPs Shader Effects Collapse/Peg Debug/Bypass Viewport OpenGL Effects (Volumes, Lights, Normals) 11.1 Alembic Support Extended Support for OpenEXR & Field3d Houdini 10.0 2009-APR-16 Simulations Distributed Sims Smoke Up-res Rendering Progressing Interactive Photo-realistic Rendering (IPR) PBR Multi-threading Engine now implemented in VEX Deep Camera Maps Dynamics RBD - ODE Cloth Crumpling/Tearing Misc Stereo Support Sticky Notes Shaking Disconnect Shift/Ctrl movement shortcuts MotionFX Houdini Apprentice HD - $99 2008-JUN-12 Houdini 9.0 2007-SEP-20 Fluid Dynamics Solver Liquids Smoke & Fire (PyroFX) New User Interface Tool Shelf Parameter Interface Mantra PBR & Volume Rendering Volume Primitives Python Support 9.5 Mac Support (2008-JUN-12) FBX Export Houdini Master Price Drop 2007-MAR-01 Node Locked - $7,995 Floating - $9,995 Houdini 8.0 2005-OCT-06 New Dynamics Architecture DOPs Light Linking and Interactive Photorealistic Rendering (IPR) Character Workflow Improvements Irix Support Discontinued Disney's The Wild, C.O.R.E. (3 Years - 2006-APR-20) 8.1 Auto Rig Muscle Houdini Master - $17,000 2005-OCT-06 Package Floating Node-Locked Houdini Select $1,299 $1,599 Houdini Halo --- $2,999 Houdini Escape $1,999 $2,999 Houdini 7.0 2004-SEP-20 Takes Manager RSL VOPs Channel List / Dope Sheet Documentation File Loading Free HDK Houdini Escape (Model, Anim, Texture, Light, Render) - $1,999 RenderMan Support Character Tools Improvements Houdini 6.0 2003-MAY-08 Digital Assets (OTLs) 6.1 UV Pelt (2003-JUL-23) Syflex Plugin (2004-FEB-09) - $2,200 Character Workflow Improvements Houdini Master 2002-JUN-28 Houdini Halo (Comp) 2002-JUN-22 Houdini Escape (Character) 2002-JUN-22 Houdini Apprentice 2002-JUL-09 Houdini - $15,999 2002 Houdini Select - $1,299 2002 Houdini 5.5 2002-MAY-14 64-Bit Support [*] New COPs (COP2) Deep Raster VOPs Major new Character Tools Houdini Community Section on website X-Men 2 BAMF - Vijoy Gaddipati, Lead FX TD, Cinesite. (Released 2003-MAY-6) Houdini 5.0 2002-MAR-12 Mental Ray (2001-JUL-11) Viewport Modeling Solaris Support (Later dropped) Houdini Select - $1,999 2001-AUG-13 Houdini 4.0 - $17,000 2000-JUL-24 [*][*][*] Resizable Panes VEX (Mark Elendt) [*] Mantra Updates Linux Port [*] 4.1 TouchDesigner was derived from this version. [*] Houdini 3.0 1999-OCT-02 [*] Motion Capture (Mouse, Keyboard peripherals) Subdivision Surfaces Higher Order Rational Curve Networks WREN Houdini 2.5 1998-MAR-28 [*] POPs CHOPS Windows NT Port Houdini 2.0 1997-AUG-05 [*] UI Enhancements Four View Modeller Advanced OpeGL Display (Transparency & Projected Spotlights) Mantra 4 Fast Motion Blur Lens Flare Built-in Network Rendering Modeling Surface Pasting Animated Trim Curves Nested Intersection Trim Loops Clay Tool Sleletal Capturing and Deformation Tools Operator Subnetworks Houdini 1.0 - $9,500 1996-OCT-02 [*] First Non-linear 3D Environment (Procedural) 3D and 2D tools Integration Nurbs RenderMan Front-end Scripting and Expression Language PRISMS Short History [*] DATE VERSION UPDATES 1998 PRISMS 7.0 Final Ship 1997 PRISMS 6.4 SGI O2 Compatibility 1997 PRISMS 6.3 RenderMan Interface 1996 PRISMS 6.1 Optimizations (Houdini 1.0 at SIGGRAPH) 1995-JUN PRISMS 6.0 Introduction of Sage, the node-based package for modeling. This was the prototype of Houdini. 1995-JAN PRISMS 5.5 L-Systems 1994-JUN PRISMS 5.4 MOCA, TIMA 1993-DEC PRISMS 5.3 MOJO, ICE, Metaballs 1992 PRISMS 5.2 FPaint Added (new C++ UI libs) 1991 PRISMS 5.1 Full-width Graph 1991 PRISMS 5.0 Crystal2 Renderer Eliminated 1991 PRISMS 4.5 Particles 1990 PRISMS 3.0 Mantra Raytrace Renderer Added 1989 PRISMS 2.0 Patch Support, Deformation SOPs 1988 PRISMS 1.5 Initial SOPs, Light Editor 1987 PRISMS 1.0 New motion editor and modeler combined to form action. Installer File Size * I set some parts to BOLD to emphasize particular version highlights. * References: Google, OdForce Wiki, SideFX Press, Houdini Help Docs, CG Channel, CG Press. * For those interested, I also posted a Houdini FLIP History blog post here.
  47. 9 likes
    attached is a file with all sorts of curvature computation for vdbs ... hth. petz vdb_curvature.hipnc
  48. 9 likes
    There was an error in pop_too_close wrangle. It deleted both intersecting bubbles, not just the smaller one, drastically reducing bubblecount. Normally it should remove only degenerate bubbles almost enclosed by neighbours. It also seems that whole loop can be replaced with a point wrangle. So, it cooks instantly now, retains topology and scales better. Scattering and pscale setup really matters. You need to generate a good foam first, before doing intersections. The current setup should be improved somehow. bubbles2.hipnc
  49. 9 likes
    I promised, that i will publish some source files and here they are. Inside you can find some network from demovideo, from pre work to render. All assets are unlocked(i used its for git), don't pay attention to that. Happy x-mas. Tree_generator_demoscene_unlocked.hipnc
  50. 9 likes
    Temperature Field and Divergence Field and what to do about it Combed straight velocities lead to mushroom puffs. Large directional forces lead to combed straight velocities. The pressure wave leading the divergence field leads to combed straight velocities. So what to do? Looking at Temperature first, it is directly used with Gas Buoyancy to drive the intensity whereby the upward direction is multiplied by temperature and then added to vel. Temperature is also used to burn fuel at an ever increasing rate with higher temperatures which then ultimately affects the divergence field. Temperature is also used by some of the shaping tools to inject noise or trigger confinement within the simulation, amongst other fields. Temperature and Gas Buoyancy DOP High temperature values fed in to the Gas Buoyancy DOP will affect the velocity field quite effectively, in a singular direction no less, the buoyancy direction. This inherently leads to nicely combed velocity with higher temperature values and large amounts of buoyancy as the simulation evolves which leads to nice mushrooms leading the way. Just like in real explosions and initial bursts of hot smoke/steam. But the director always wants more "character". That's fine and manageable in most cases as the velocities aren't that large, especially in smoke simulations where the temperature is driven by the sources. In the case of explosions, the burning of fuel can create very high temperatures and cause large upward velocities. Working Temperature with Disturbance By default the Disturbance field affects temperature. It is also cited as one way to break up or diminish the mushrooms. But how and why? And does it work? Using disturbance is designed to add noise to the temperature field around the simulation. This is one way to try to kick or disturb the rising velocity field, in an indirect way though. For Pyro, temperature is used to ultimately affect vel in two ways: Buoyancy and Combustion (which inevitably drives the divergence field). What is Divergence? Well it's randomly generated noise. It's not time coherent turbulence. Yep. If you dive down in to the Gas Disturbance DOP, in to the disturb_field Gas Field VOP you will find a lowly random VOP that is fed a vector 4 (vector P and an animated offset) and generates random incoherent noise per substep. If this sounds desperate, well it kinda is. But it works very well in some cases to etch the leading edge of the velocity to cause eddies that then form ripples and swirls. Think volcano smoke. Disturbance can be applied to temperature and it will eventually have an effect, or you can have it work directly on the velocity for a brute force immediate effect to try to etch away at that leading velocity front generated by the rapidly expanding divergence field. if it is strong enough and if it is localized to just around the evolving sim so that our container doesn't resize to maximum and take too much memory and take too long to simulate, it can work very well. Perhaps this is why the shelf tools only allows for a small value relative to the velocities that are present in an explosion or fireball: it doesn't really work for these types of sims at it's defaults. We have all of the necessary tools to implement this well enough. The Gas Disturbance DOP built in to the Pyro Solver and exposed as the Disturbance parameters can do this. It has support for a control field and even a ramp with min and max threshold values to really dial this in, if you have a field to use that is... For Smoke and combustion fire type simulations (no explosions), you can gleefully use the density field as both your Threshold Field to control the cut-off threshold for the disturbance and as the field to control the amount of disturbance you want. Or use temperature as the Control Field as with rising smoke, the temperature tends to lead the density. For fast rising smoke, you can set the Control Field to temperature and then use the Control Range to say 0 and 0.1 to try to etch the velocity field prior to it being run over by the advancing wave. For Explosions, there is feint hope. Unless you envelop the entire container with shredded velocity, there is no other field at your disposal to use to control where the disturbance should be applied. Yes you can create an additional field containing an expanded divergence field to try this, but there's better ways to coax swirls in the initial part of the explosion. In the end, as with all the other shaping tools, it comes down to magnitude. If the magnitude of the previous frame's velocity is much larger than the velocity shaping amplitude, knowing that velocities are for the most part added or subtracted in most simulation engines, you aren't going to see much effect, especially after the Non-Divergent step gets rid of most of this random pressure hash anyway. When you are dialling in a sim, you have to have the vel on for display and adjust the Visualization Range (working the leading red envelope) to get an idea as to where the velocity is fastest and what those values are (in Houdini units per second). If you have a velocity of 10 in the leading velocity pressure front and you set disturbance amplitude to 0.5, you know it won't have much of an effect. One thing that will have an effect is to apply Disturbance directly to vel for explosions and apply it within the divergence, burn, temperature or any other field that's playing a role in the fireball itself. But not to the surrounding area unless again you bypass the resizing of the container. Heck you don't even need to bypass the resize container DOP. If you are resizing on density and vel, the container will max out after the second or third frame anyway. And you can live with completely incoherent noise that for the most part is wiped out by the Non-Divergent counter pressure field. Divergence and Burning Fuel The divergence field in explosions and fireballs is the main contributor to mushroom caps over the first second or so. It will comb the velocity vectors perfectly straight in the leading pressure wave advancing in front of the density, temperature, fuel, whatever. We know why. It's the Non-Divergent step trying to remove any pressure across the timestep outside of the divergence field. It makes perfect sense then that when carefully inspecting the velocity around the leading edge of the divergence, you will find the greatest velocities. Divergence pushing outward creating a large pressure front causing the Non-Divergent step to add a very large counter pressure field that gives you that front of straight combed velocity. Large amounts of burning fuel (fuel + temperature = burn, divergence (gas expansion) then uses burn and fuel to drive the expansion of the sim) leads to a strong divergence field. Gas Buoyancy affects vel very effectively and divergence allows for rapid expansion. How do the explosion and fireball shelf tools try to avoid mushrooms? Well we see that the timescale is reduced for both options in an attempt to add enough time to evolve interesting swirls in the simulation as it evolves. But for many cases doesn't give you that nice character over the first few frames of the simulation. We also see Disturbance added but at a meagre 0.75 Shredding is set to 1. Shredding is a very nice tool for adding character to fire. As it's name implies, within the threshold tolerance of the effect, the velocity field is either stretched along a gradient direction or compressed. It is the transition between the two that gives you the real nice licks of fire. Shredding defaults to 1 and it has visualization option to see where this shredding occurs and how strong it is by it's color in relation to the velocity. If you look at the shredding, by default it is being applied along the surface of the temperature field where the Threshold Width is being set. Again this won't work for the first second of the explosion. Same for Turbulence and Confinement. They too work within the fireball and not the leading edge of the explosion. so what to do?