Jump to content

Leaderboard


Popular Content

Showing most liked content since 03/10/2020 in all areas

  1. 6 points
    Hey guys, here's an update for the first Rock Pack that I'm building. I ran into a little bit of technical difficulties and I was fine tuning the look to get something coherent and realistic. Here's the result so far :
  2. 5 points
    Another confinement consequence inspired by Hai le tutorial and some hypnotics works of @Librarian. Put your headphones for an immersive transcendental experience The file if you want to play with FancyTimeWithHexagon_F H16.hipnc
  3. 5 points
    http://www.cgchannel.com/2020/03/10-expert-tips-for-better-houdini-flip-fluid-simulations/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+cgchannel%2FnHpU+(CG+Channel+-+Entertainment+Production+Art)
  4. 5 points
    I'm happy to announce that I've teamed up with SideFX to release a new free course! - Shading Theory with Karma. These videos are designed to teach you the fundamental ideas behind shading/texturing while utilizing the principled shader, karma, and my dear friend - Shaderbot. Visit CG Forge to download shaderbot along with access to the videos for free. https://www.cgforge.com/course?courseid=shadingtheory Have a nice day,
  5. 5 points
    would you throw in a coupla these if ppl order within the next 19 minutes ?
  6. 4 points
    Hey guys, Wanted to share a setup I made generate procedural robots, here are some renders: Will post some more tomorrow, drops automatic geo from one shape and obj model as silohuette Cheers!
  7. 4 points
    I made an attempt at "upresing" this fuel based rocket launch. Treating the original file as the a low resolution simulation does allow me to enable OpenCL. The uprezed version is on the right. A 500,000 voxel low res source drives a 4,000,000 voxel upres. ap_upres_smoke_pyro_setup_032520.hiplc
  8. 4 points
    CREATING PROCEDURAL JAPANESE CASTLE Hi, In this tutorial you will learn how to create a procedural Japanese castle generation tool in Houdini 18. How to automatically generate interior and exterior using point instance. The method allows to add portions that can interact with the player (e.g., opening the doors). Provides the ability to speed up the creation of content for games. The tool can be reused in different projects with different types of stylization, because we will use prefabricated props. *Free Demo version: https://gumroad.com/rart#YcpjX *Full version Gumroad: https://gumroad.com/rart#iPTrw *ArtStation Marketplace: https://www.artstation.com/raducius/store Video Presentation WHAT'S INSIDE? 27 Video Chapters (12 hours of tutorial) Houdini 18 Project File Unreal Engine 4.24 Project File + all assets PDF Documentation (54 pages). HDA Asset INTRODUCTION Chapter_1_[1]Project_Setup - 2 min. Chapter_1_[2]Creating_Custom_Nodes - 9 min. Chapter_1_[3]Size_Controls - 15 min. Chapter_2_[1]Creating_Wall&Corners - 40 min. Chapter_2_[2]Creating_ExteriorCeiling&Floor - 44 min. Chapter_2_[3]Creating_Stairs&Ceiling - 38 min. Chapter_2_[4]Creating_InteriorWalls&Doors - 47 min. Chapter_2_[5]Procedural_Tatami_Layout_Generation - 42 min. Chapter_2_[6]Unreal_Engine_Test - 12 min. Chapter_3_[1]Creating_Exterior_Wals&Corners - 31 min. Chapter_3_[2]Creating_Stairs&Ceiling - 25 min. Chapter_3_[3]Creating_Interior_Walls&Doors - 28 min. Chapter_3_[4]Creating_Tatami_Layout - 25 min. Chapter_3_[5]Unreal_Engine_Test - 7 min. Chapter_4_[1]Creating_Interior_Walls - 21 min. Chapter_4_[2]Creating_Exterior_Walls - 24 min. Chapter_4_[3]Unreal_Engine_Test - 5 min. Chapter_5_[1]Creating_Interior_Bridge - 42 min. Chapter_5_[2]Creating_Stairs&Floor - 19 min. Chapter_5_[3]Creating_Exterior_Walls - 27 min. Chapter_5_[4]Creating_Balcony_Structure - 45 min. Chapter_5_[5]Unreal_Engine_Test - 10 min. Chapter_6_[1]Creating_Sides_Floor - 16 min. Chapter_6_[2]Creating_Stairs_Zone - 38 min. Chapter_6_[3]Creating_Ceiling - 22 min. Chapter_6_[4]Creating_Corners - 14 min. Chapter_6_[5]Completion_HDA_Asset - 80 min. TOOLS Houdini 18 Unreal Engine 4.24 MINIMUM REQUIREMENTS Beginner-Intermediate Houdini Knowledge *Free Demo version: https://gumroad.com/rart#YcpjX *Full version Gumroad: https://gumroad.com/rart#iPTrw *ArtStation Marketplace: https://www.artstation.com/raducius/store Thank you!
  9. 3 points
    create justborn group from replicate to know which points were born at any frame then just copy your prepared vellum sphere to only those points and unlock Vellum Solver to set Emission Type to Continuous on vellumsource1 od_vellum_splash_mod.hip
  10. 3 points
    If you want to simply revert to the original orientation without applying forces, you can do this post-sim by blending your original orient before the sim (save the starting orientation of your particles to a vector4 attribute) and then interpolating that orientation with the current orientation: p@orient = slerp(p@orig_orient, p@orient, bias) where bias is a value from 0-1. If you want to apply this as a force via a POP Wrangle, you'd have to figure out the amount of spin necessary to rotate from your current orientation to the goal orientation. You could then assign that to v@torque, or using wind-like spin forces via v@targetw and f@spinresist. The math for this gets a bit... complicated. First, you want to compute the delta between your current orientation and the goal orientation. You can do this by multiplying your goal orientation by the inverse of the original orientation: vector4 delta_orient = qmultiply(goal_orient, qinvert(p@orient)); However, in order to avoid a situation where the delta is computed as being a greater than 180-degree difference due to the nature of quaternion rotations, which would cause wild flipping behavior, you'd need to compute the dot product of your goal and current orientations and negate one of the quaternions if this is the case: vector4 current_orient = p@orient; if(dot(goal_orient, current_orient) < 0) { current_orient = -current_orient; } vector4 delta_orient = qmultiply(goal_orient, qinvert(current_orient)); Now you can convert this quaternion to an axis/angle representation of a quaternion, which is how the v@torque and v@targetw attributes work: v@torque = qconvert(delta_orient) * chf("spin_force"); The "spin_force" channel would modulate the amount of torque you're applying so the parts don't oscillate too much around their goal orientation. If you want the particles to ignore their mass attribute when doing this, just multiply v@torque by f@mass.
  11. 3 points
  12. 3 points
    or just: @P.y=rint(@P.y*10)/10;
  13. 3 points
    Hi, this should probably work aswell: create a straight tunnel (along x-Axis for example) use a path derformer on the straight tunnel (to deform onto a curve) tunnel.hipnc
  14. 3 points
    Mainroad Post started posting some classes online. For now there are only 3, it's in russian but it's easily followable and very very very interesting; it deals mainly with vops and maths, and how you can construct patterns using maths functions such as sins, noise, etc.... Very intructive.. https://www.youtube.com/watch?v=rzjXRvgo7YA 1/7 https://www.youtube.com/watch?v=2SSCN3WBne4&t=4591s 2/7 https://www.youtube.com/watch?v=LF4ZUchXU6Q 3/7 And i assume the following will be released soon as they started posting a week ago. Cheers,
  15. 3 points
    Hi @tagosaku, you can shift points by sampling positions from their respective curves with a channel ramp: float u = vertexprimindex(0, i@vtxnum) / float(primvertexcount(0, i@primnum) - 1); v@P = primuv(0, 'P', i@primnum, chramp('shift', u)); curve_density.hipnc
  16. 3 points
    here you are: - if you're not into crop circles...then simply disable plasticity in vellumhair - dive inside vellum solver, I've added the popaxisforce which gives you torus shape, I haven't played with it too much, it's there for you to experiment with just enable it, prolly wise to disable the popfan. (chuck my HDA into C:\Program Files\Side Effects Software\Houdini 18.0.xxx\houdini\otls) vu_HeloWind.hiplc
  17. 3 points
    please take a look at the attached file. it´s an example how you could create bezier curves with arbitrary degree and another one relying on beziers in hermite form since you wrote about blending curves... petz curves_vex.hipnc
  18. 2 points
    No one's asked for this (as far as I'm aware) but I thought I'd share anyway. Its a real basic method of carving a poly line base off of a uv attribute INSTEAD of using parametric uvs. This has the nice advantage of 1) allowing for all lines to grow at the same speed and 2) allowing for super easy adjustments, offsets and what not just by modifying the attribute. I wanted to share because I couldn't really find a simple way of doing this. All the other methods demanded parametric uvs. Not sure if I've missed something super obvious but wanted to share anyway. Hopefully there's something in here that'll help someone. carve_by_uv_attribute.hipnc
  19. 2 points
    Hey guys, Here's a new project I'm working on as I have some free time. The boat is a free model from cadnav. The main rbd sim with instanced debris is there : https://streamable.com/pcayf I used the new rbd deform pieces for the mesh (which is pretty useful) and I'm looking to add some noise and more details to the edges later. I've made the explosions (but infortunately I have only 119 frames because it crashed, I may resimulate the explosions 1 by 1 instead of the 4 in a row) : https://streamable.com/sjcje I've also made a quick low res render to see how the ocean and the explosions behaved all together with a lil bit of comp (to match my background) : https://streamable.com/1sduw Now I need to add sparks, smoke trails, and flip white water, and maybe additionnal splashes, refine the ocean.. Cheers and happy confinement !
  20. 2 points
  21. 2 points
    Some more procedural duderinos:
  22. 2 points
    thanks guys! appreciate it @flcc @6ril @momposina I spoke about the setup here:
  23. 2 points
    if you want to be safer and also to avoid increasing seed by increments of 1 just offseting the same random number to the next point you can use 2 dimensional rand(float, float) i@variant=int(fit01(rand(@ptnum,chf("seed")),0,3));
  24. 2 points
    Since your target geometry has a changing point/prim count, you'll probably want to handle the points-sticking behavior as a solver, preferably inside the same solver that's handling the growth. You can use minpos() in VEX to compute the nearest point on the growing surface to each existing point and stick that way, or if you need to stick orientations as well, use xyzdist() to get the nearest primitive and primitive UV on the growing surface to each point, then use primuv() to sample P, N and up from the growing surface, move each point to the sampled P, then set N and up for each point based on the sampled values.
  25. 2 points
    Can you try this scene, You collsin geo was setup incorect, no velocity, or vdb for collision. flip_Sticktest_v002.hip
  26. 2 points
    Some tweaking of placement and light
  27. 2 points
    sigh....here and on SESI...there must be a cult that just wants to oooooooooooooooooovercomplicate their scenes to the point that it breaks. whatever happened to keeping thing simple ? vu_vines.hiplc
  28. 2 points
    hello again laddies, I highly recommend traveling thru wormholes...from the bottom end !!! vu_SphereUnfolds_toGrid.hipnc
  29. 2 points
    could not resist a simple softbody drop.
  30. 2 points
    excuse me while i channel Stephen Hawking for a sec: The Singularity at the bottom will make your proposal an impossibility. Therefore, you must create your own event horizon by clipping the singularity to facilitate the opening of a wormhole Allow me to demonstrate, please scrub timeline and you'll see my theory in action The remaining task now is to simply merge with a grid. Which for an intellectual giant like me considers a task for the plebs. Good day, Cheerio. vu_SphereUnfolds.hipnc
  31. 2 points
    I can't wait until people don't have masks on their face; some people I couldn't understood before the mask, now it's worse.
  32. 2 points
    Threw something together quick, might get you started dv_smoothcurve.hipnc
  33. 2 points
    Hehe .... try this.... description is in scene ..... sensitivity is keyed for every input geometry because they are very distinctive but it works properly on all geos you provided. keep_outer_side_examples_djiki.hipnc cheers
  34. 2 points
    Two more renders: same rocks, different layout and lighting/shading. Almost ready to release Rock Pack 01
  35. 2 points
    Forest Fire entirely done using Houdini and Rendering in Arnold.
  36. 2 points
    Freeze frame and use point wrangle with first input actual points second - freeze one. int pt = findattribval(1, 'point', 'id', @id); vector pos = point(1,'P',pt); if(@P!=pos) do what you need your points should have id attribute
  37. 2 points
  38. 2 points
    Hi José, you can twist curves around other curves by rotating lots of copied cone lines using noise on a rotate VOP. Then transfer those twisted curves to the position and orientation along other curves based on transformation matrices from the orient along curves-node. float u = 1.0 - vector(relbbox(0, v@P)).z; int copy = prim(0, 'copynum', i@primnum); matrix trans = primuv(1, 'transform', copy, u); v@P.z = 0.0; v@P *= trans; twist_around_curves.hipnc
  39. 2 points
  40. 2 points
    I know as a fact, that soap is better in dealing with viruses, but obviously doeas't deal well with quarantine.
  41. 2 points
    Hello everyone, I created a digital asset that outputs a neighbourhood with buildings and vegetation, based only on a masterplan drawing. It is divided in three modules, one to create the masterplan geometry, one to create the buildings and one for the vegetation scattering. It allows for alot of controls on the vegetation and on the buildings to create different variations. Here is also a test of the asset inside Unreal, using the Houdini Engine: Cheers!
  42. 2 points
    Make GrotesKt St Arch ..Have fun ArchiFunGRoty.hipnc
  43. 2 points
    It's working and it's easy. What do you dislike, using uvs or using noises ? or another reason ? Volume_Pattern_01 F.hip
  44. 2 points
    Haha, adopt them as your pet rock !
  45. 2 points
    More fun 13.lesson. projectione.h /*! \fn vector2 one_sphere(vector2 z; float r) \brief Project \f$z \in C\f$ to \f$S^1\f$. Project \f$z \in C\f$ to \f$S^1\f$ with radius \f$r\f$. \param z the direction in \f$C\f$ to project to \f$S^1\f$ \param r the radius of \f$S^1\f$ \return the point \f$z \frac{r}{\mid z \mid}\f$ */ vector2 one_sphere(vector2 z; float r) { return z / length(z) * r; } /*! \fn vector two_sphere(vector z; float r) \brief Project \f$z \in R^3\f$ to \f$S^2\f$. Project \f$z \in R^3\f$ to \f$S^2\f$ with radius \f$r\f$. \param z the direction in \f$R^3\f$ to project to \f$S^2\f$ \param r the radius of \f$S^2\f$ \return the point \f$z \frac{r}{\mid z \mid}\f$ */ vector two_sphere(vector z; float r) { return z / length(z) * r; } /*! \fn vector2 stereo2(vector c) \brief Stereographic projection from \f$S^2\f$. Stereographic projection from \f$S^2\f$ into \f$C\f$. \param c the vector in \f$S^2\f$ to project into \f$C\f$, , must not be \f$(0, 0, 1)\top\f$ \return the stereographic projection to \f$C\f$ */ vector2 stereo2(vector c) { float x = c.x; float y = c.y; float z = c.z; return set(x, y) / (1-z); } /*! \fn vector stereo3(vector4 c) \brief Stereographic projection from \f$S^3\f$. Stereographic projection from \f$S^3\f$ into \f$R^3\f$. \param c the vector in \f$S^3\f$ to project into \f$R^3\f$, must not be \f$(0, 0, 0, 1)\top\f$ \return the stereographic projection to \f$R^3\f$ */ vector stereo3(vector4 c) { float x = c.x; float y = c.y; float z = c.z; float w = c.w; return set(x, y, z) / (1-w); } /*! \fn vector4 stereo3_inv(vector c) \brief Inverse of the stereographic projection from \f$S^3\f$. Inverse from \f$R^3\f$ into \f$S^3\f$ of the stereographic projection. \param c the vector in \f$R^3\f$ to reproject into \f$S^3\f$. \return the projection into \f$S^3\f$ */ vector4 stereo3_inv(vector c) { float x = c.x; float y = c.y; float z = c.z; return set(2*x, 2*y, 2*z, length2(c)-1) / (length2(c)+1); } vector stereo3_e4(vector4 c) { return set(c.x, c.y, c.z) / (1.-c.w); } vector stereo3_e4_inv(vector c) { return set(2*c.x, 2*c.y, 2*c.z, length2(c)-1) / (length2(c)+1.); } /*! \fn vector sphere_inversion(vector z; vector center; float scale) \brief Sphere inversion Perform a Möbius tranformation to project every point inside the the unit sphere in \f$R^3\f$ to outside and vice versa. \param z the original vector in \f$R^3\f$ \param center the center of the sphere \param scale the radius of the sphere \return the inverted vector */ vector sphere_inversion(vector z; vector center; float scale) { // Compute translation, then transform in the origin and retranslate vector translation = set(center.x, center.y, center.z); vector transformed = z - translation; return transformed / length2(transformed) * pow(scale, 2) + translation; } complex.h *! \fn vector2 cmul(vector2 z; vector2 w) \brief Multiply two complex numbers Multiply two arbitrary complex numbers. \param z first factor \param w second factor \return \f$z \cdot w\f$ */ vector2 cmul(vector2 z; vector2 w) { float x = z.x; float y = z.y; float u = w.u; float v = w.v; float real = x*u - y*v; float imaginary = x*v + y*u; return set(real, imaginary); } /*! \fn vector2 cdiv(vector2 w; vector2 z) \brief Divide one complex number by another complex number Divide one arbitrary complex number by another non-zero complex number. \param w divident \param z divison \return \f$\frac{w}{z}\f$ */ vector2 cdiv(vector2 w; vector2 z) { float x = z.x; float y = z.y; float u = w.u; float v = w.v; float divisor = pow(x, 2) + pow(y, 2); float real = (u*x + v*y) / divisor; float imaginary = (v*x - u*y) / divisor; return set(real, imaginary); } /*! \fn vector2 cpow(vector2 z; int n) \brief Compute the \f$n\f$-th power of a complex number Compute the \f$n\f$-th power of a complex number, for \f$n \in N\f$. \param z the complex number \param n the exponent \return \f$z^n\f$ */ vector2 cpow(vector2 z; int n) { float x = z.x; float y = z.y; float r = length(z); float phi = atan2(y, x); return pow(r, n) * set(cos(n*phi), sin(n*phi)); } /*! \fn float real(vector2 z) \brief Give the real part of a complex number Give the real part of a complex number represented by the first component of a two element vector. \param z the complex number \return the real part \f$a\f$ of \f$z = a + ib\f$ */ float real(vector2 z) { return z.x; } /*! \fn float img(vector2 z) \brief Give the imaginary part of a complex number Give the imaginary part of a complex number represented by the second component of a two element vector. \param z the complex number \return the imaginary part \f$b\f$ of \f$z = a + ib\f$ */ float img(vector2 z) { return z.y; } /*! \fn vector2 e_to_the_is(float s) \brief Give a point on the one-sphere. Give a point on the one-sphere parameterized by \f$s\f$ in the parametric form. \param s the real parameter \return the point \f$(\cos s, \sin s) \subset C\f$ */ vector2 e_to_the_is(float s) { return set(cos(s), sin(s)); } vector4 f; p@f; float n = chi("n"); float k = chi("k"); int j = @ptnum; float cosine = cos(($PI*j) / (2.*n)); float sine = sin(($PI*j) / (2.*n)); vector2 cosine_exp = cosine * e_to_the_is($PI - $PI/(k+1)); vector2 exp_neg = e_to_the_is(- $PI/4); vector2 exp_pos = e_to_the_is($PI/4); vector2 sine_exp_neg = sine * exp_neg; vector2 sine_exp_pos = sine * exp_pos; float j_mod_4n = j % (4*n); if( j_mod_4n < n ) { f.x = cosine; f.y = 0; f.z = real(sine_exp_neg); f.w = img(sine_exp_neg); } else { if( j_mod_4n < 2 * n ) { f.x = real(cosine_exp); f.y = img(cosine_exp); f.z = real(sine_exp_neg); f.w = img(sine_exp_neg); } else { if( j_mod_4n < 3 * n ) { f.x = real(cosine_exp); f.y = img(cosine_exp); f.z = real(sine_exp_pos); f.w = img(sine_exp_pos); } else { if( j_mod_4n < 4 * n ) { f.x = real(cosine); f.y = 0; f.z = real(sine_exp_pos); f.w = img(sine_exp_pos); } else { f.x = cosine; f.y = 0; f.z = real(sine_exp_pos); f.w = img(sine_exp_pos); } } } } p@f = f;
  46. 2 points
    Haven't seen 18 yet so don't know if the code editor was improved, but if not, this still is my ABSOLUTE NR. 1 wish. if(code_editor_improved != true) { Code editing in Houdini Wrangles is - well - crap. It's a total shame we don't even see command parameter lists when typing since even in value fields typing expressions does it and has autocomplete for paths etc. Even only bringing that ability to the VEX editor would be very helpful. Of course it would also make a lot of sense to have other settings and helpers in there, like auto-closing brackets, more clever cursor positioning, offering existing variables and attributes when typing etc. - the Houdini devs should know ALL about that, they probably spend their life in real code editors... The use of external editors could be improved a lot if a.) we wouldn't have to press ALT+E twice for the external editor and wouldn't have to get to the floating editor first each time and b.) if that connection would be "live" like for instance the Pinegrow Web Editor does it with a little plugin for Code and Atom, where you can type in either the internal or external editor and they update each other in realtime. The current system is too clumsy and the 3rd party implementations also aren't really there (no negativity towards the authors intended at all!). Make it native! Make it goooooooood! } else { All is well. Nothing to see here. :-) } Cheers, Tom
  47. 2 points
    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 Over Surface [PYTHON]Post Process OBJ Re-Write Upon Export 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 Lightning Lies Upon Surface Of Object 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] Light Volume By Material Emission Only [REDSHIFT] Python Script Images As Planes (works for Mantra Too!) [REDSHIFT] MTL To Redshift Material [REDSHIFT] Access CHOPs In Volume Material [REDSHIFT] Mesh Light Inherits Color [REDSHIFT] Color Smoke [REDSHIFT] FBX Import Helper [REDSHIFT] Terrain Instancer Height Field By Feature 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 [PYTHON] OP UNHIDE ALL (opunhide) Collision Deform Without Solver or Simulation Mograph Lines Around Geometry Waffle Cornetto Ice Cream Cone Ice Cream Cone Top Unroll Road Or Carpet Burning Fuse Ignites Fuel or Painted Fuel Ignition Painted Fuel Combustion Small Dent Impact Deformation Particle Impact Erosion or Denting Of A Surface Helicopter Landing Smoke And Particles Radial Fracture Pieces Explode Outwards Along Normal Tangent Based Rocket Launch Rolling Smoke Field Tear/Rip FLIP (H12 still works in H16) Rain Flows Over Surface Rains Water Drip Surface Splash Smoke Solver Tips & Tricks Folding Smoke Sim VEX Generated Curve For Curling Hair Copy and Align One Shape Or Object To The Primitives Of Another Object (cool setup) A Better Pop Follow Curve Setup FEM Sea Cucumber Moves Through Barrier Fracture Cloth Smoke Confinement Setup Merge multiple .OBJ directly Into A Python Node Blood In Water Smoke Dissipates When Near Collision Object Whirlpool Mesh Surface Whirlpool Velocity Motion For FLIP Simple Bacteria Single Point Falling Dust Stream Flames Flow Outside Windows Gas Blend Density Example Localized Pyro Drag (smoke comes to a stop) Granular Sheet Ripping Post Process An Export (Post Write ROP Event) Corridor Ice Spread or Growth Set Velocity On Pieces When Glue Bonds Break Water Drops Along Surface Condensation Bottle Grains Snow or Wet Sand Starter Scene A Nice Little Dissolver Turn An Image Into Smoke Fading Ripples Grid Example Stranger Things Wall Effect Face Through Rubber Wall [PYTHON]Create Nurbs Hull Shelf Tool [PYTHON] Ramp Parameter [PYTHON] On Copy OF HDA or Node Select Outside Points Of Mesh, Honor Interior Holes Sparks Along Fuse With Smoke Umbrella Rig Melt FLIP UVs Tire Burn Out Smoke Sim Flip or Pyro Voxel Estimate Expression Motorcycle or Dirt Bike Kicks Up Sand Particles Push Points Out Of A Volume [PYTHON]Cellular Automata Cave Generator Punch Dent Impact Ripple Wrinkle VEX Rotate Packed Primitive Via Intrinsic Kohuei Nakama's Effect FLIP Fluid Inside Moving Container Particles Avoid Metaball Forces FLIP Divergence Setup FLIP Transfer Color Through Simulation To Surface Morph Between Two Static Shapes As Pyro Emits Constraint Based Car Suspension Pyro Smoke Gas Disturbs Velocity Wire Solver Random Size Self Colliding Cables Fast Cheap Simple Collision Deform CHOP Based Wobble For Animated Character Slow Motion FLIP Whaitewater Avoid Stepping In Fast Pyro Emission Fast Car Tires Smoke FLIP Fluid Fills Object Epic Share Of Softbody/Grain Setups (Must see!) Balloon, Pizza, Sail, Upres Shirt, Paint Brush Create Pop Grain Geometry On-The-Fly In A DOPs Solver Varying Length Trails VEX Based Geometry Transform Determine Volume Minimum and Maximum Values Grain Upres Example Animated pintoanimation For Cloth Sims Batch Render Folder Of OBJ files Vellum Weaving Cloth Fibers Knitting Kaleidoscopic Geometry UV Image Map To Points Or Hair Color Particles Like Trapcode Particular Flat Tank Boat Track With Whitewater Orthographic Angle Font Shadow Select Every Other Primitive or Face? Printer Spits Out Roll Of Paper Unroll Paper, Map, Plans, Scroll Simple Vellum L-System Plant Basic Cancer Cell 2D Vellum Solution Vellum Animated Zero Out Stiffness To Emulate Collapse Whitewater On Pre Deformed Wave [PYTHON] Menu Callback Change Node Color Extruded Voronoi With Scale Effector Multi Material RBD Building Fracture House Collapse Spin Vellum Cloth Whirlpool Vortex Trippy Organic Line Bend Design Logo Based Domino Layout Delete Outer Fracture Pieces, Keeping Inside Pieces UV Mapped Displaced Along Length Curly Curves Slow Particle Image Advection Nebula Saw Through VDB Like Butter Fuel Based Rocket Launch With Smoke Fuel Based Rocket Launch With Smoke [upres] Deform Pyro Along Path Bend Pyro Gas Repeat Solver With RBD Collision Raining Fuel Fire Bomb City Video Tutorial Pyro Cluster Setup (Animated Moving Fuel Source) [PYTHON] Mantra .MTL File Reader (creates new materials) Pyro Dampen By Distance FLIP Fluid Sweeps Away Crowd Ragdoll Gas Repeat Solver X-Men Mystique Feather Effect Camera Frustum Geometry Culling Vellum Extrude Shape Into Cloth Wire Web Constraint Setup Pyro Smoke Font Dissolve "Up In Smoke" Helicopter Landing With Vellum Grass and Dust or Smoke Use Google To Discover Attached HIP Files Useful Websites: Tokeru Houdini Houdini Vex Houdini Python FX Thinking iHoudini Qiita Ryoji Video Tutorials: Peter Quint Rohan Dalvi Ben Watts Design Yancy Lindquist Contained Liquids Moving Fem Thing Dent By Rigid Bodies Animating Font Profiles 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
  48. 2 points
    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...
  49. 2 points
    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?
  50. 2 points
    attached is the modified file that should do what you need. depending on the number of polygons you may want to go the hdk-route. hth. petz edges1.hipnc
×