Jump to content


Popular Content

Showing most liked content since 10/06/2021 in all areas

  1. 17 points
    How to guide the shortest path node on tetrahedra using noise and surface distance. guide_shortest_path.hiplc
  2. 12 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. This list was started years ago, so some of the solutions may be dated. 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 Blazing Fast OpenCL Smoke Solver [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 Another Thin Sheet Fluid Setup Color Rain Drops Over Surface Dual Smoke Object Wand Battle Custom GasDisturb node (easy to use) Hair Driven Grass Example File Pyro Smoke With Masked Turbulence Align High Resolution Mesh With Low Resolution RBD Simulation Streaky Portal Effect Height From Luma Cracking Glass Dome, Fracture VEX Noise Types FLIP Waterwheel Fracture Brick Wall Using UVs Vellum Stacked Torn Membranes Terrain Topographical Line Curves Prepare RBD Fracture For Unreal Alembic Export Growing Ivy Solver Fix For Intermittent FLIP Surfacing Issue Extensive RBD Fracturing Thread With HIP Files Peter Quint's Pop Streams Particle Example Fracture Geometry To Release Flip Fluid Inside Procedurally Reverse Normals Vellum Culling Voronoi Shape To Shape Transition Animated Scattering Accessing Parametric UVs On A Surface Organic Hallways/Corridors Through A Mesh Smoke Particle Dissolve Along One Axis Expanding Vellum Rings That Collide With One Another Read, Fetch, or Get SOP Attribute Inside Of DOPS Broad Splash When Object Enters Water Blendshape Crowd Example [PYTHON] Replace Packed Intrinsic Geometry From Another Source Rip/Tear Part Of Paper To Reveal And Roll Up After Effects Text Styles Cabling Mesh Surface Hanging Wires Or Cables Use Python Inside a Font Sop Brand Accurate Textures Using Karma XPU hScript asCode Microscopic Hair USD Attribute Equivalents For Preview Shader (i.e. Cd mangle) Vellum Peel Effect Tutorial HIP Library Use Google To Discover Attached HIP Files Useful Websites: Tokeru Houdini Houdini Vex Houdini Python Houdini Blueprints FX Thinking Rich Lord HIP Files iHoudini Qiita Ryoji Toadstorm Blog Eetu's HIP Of The Day 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 Johhny Farmfield Vimeo SideFX Go Procedural
  3. 10 points
    Another variant using some more recent nodes. 00_patchwork.hiplc
  4. 8 points
    Hi guys, I'd like to share my latest personal r&d project of creating procedural assets. Still work in progress. Cheers, Shawn
  5. 8 points
    Hey friends, Had a fellow 3d person stop by my youtube channel where I mostly sculpt random Zbrush stuff and ask for this model to be donated to the Houdini community: Which I think is a brilliant idea as I dabble with Houdini myself and love it. So here you go, have fun, would love to see some awesome things created with my humble sculpt Use it for whatever, personal, commercial. A link back to me/my channel always massively appreciated, but no obligations. Cheers! EoL PS hope this is the right section of forum to post this, apologies if not. xportPigHead_v01.fbx xportPigHead_v01.obj
  6. 8 points
  7. 8 points
    A simple mycelium growth simulation that works in 2D and 3D: It constantly adds points to the outer edge of point clouds (1) and favours doing so towards food (2). 1: Direction away from surrounding points: float radius = chf('radius'); int pts_max = chi('max_points'); int handle = pcopen(0, 'P', v@P, radius, pts_max); vector pos_avg = pcfilter(handle, 'P'); vector dir_avg = v@P - pos_avg; v@N = dir_avg; 2: Weighting probabilities and adding points: int pt_near = nearpoint(1, v@P); vector pos_near = point(1, 'P', pt_near); float prox = distance(v@P, pos_near); float weight_prox = fit(prox, prox_min, prox_max, 0.0, 1.0); float weight_rim = fit(length(v@N), rim_min, rim_max, 1.0, 0.0); float weight = dens * (weight_rim + weight_prox); if(nrandom('mersenne') > weight){ vector pos_add = v@P + normalize(v@N) * offset; int pt_add = addpoint(0, pos_add); addprim(0, 'polyline', i@ptnum, pt_add); } mycelium.hiplc
  8. 8 points
    I just worked my way through Dave's whirlwind tutorial on how to get better creasing out of vellum. ap_ds_vellum_advanced_crumple_wrinkle_101421.hiplc
  9. 6 points
    If you've worked through a tutorial and want to share your HIP file with the community, post it here! I completed one where Mikael Pettersen demonstrates how to create a Blendshape crowd agent. ap_mp_blendshape_crowd_character_052120.hiplc
  10. 6 points
    Asia . primintrinsic.hipnc
  11. 6 points
    I decided to take another look at an old tool I made to increase the functionality of the polyexpand2d sop. Main differences, it's compiled and compilable so it should be faster and more robust. It also generates uvs. Input a curve and a profile curve and you'll get clean, complex geometry that would be impossible with a sweep. The basic gist of how it works is that it's running a PolyExpand2D in a loop for each point in your profile curve. PixelNinja__polyExpand3d__2_0.hdalc
  12. 6 points
    I combined the Entagma flip melting tutorial with Sadjad Rabiee's fluid morph to produce this wax melting combination. I have added additional controls (check tooltips) to the popwrangle inside the DOPNetwork for better control over the "flow" of the simulation. I also added in the flatten flip surface nodes once the surface becomes too thin. This offers a more natural look as the fluid spreads out. You may receive a font error if you don't have "Candara Bold" installed on your system. Simply chose another font in the black/bold style (non-serif works best) ap_ntag_font_melt_FLIP.hiplc
  13. 6 points
    Hi @bentraje, you could map the surface curvature to the height field. The erosion of the landscape can then be transferred back for displacement. https://procegen.konstantinmagnus.de/height-field-erosion-on-meshes
  14. 6 points
    Thank you so much! I've quickly turned it into an HDA. pig.hdalc
  15. 6 points
    New VEX functions in Houdini 19 BSDFs chiang Returns a chiang BSDF. Crowds agentcollisionlayers Returns the names of an agent primitive’s collision layers. agentcurrentlayers Returns the names of an agent primitive’s current layers. setagentcollisionlayers Sets the collision layers of an agent primitive. setagentcurrentlayers Sets the current display layers of an agent primitive. Noise & Randomness mx_cellnoise MaterialX compatible cellnoise mx_perlin MaterialX compatible Perlin noise Strings decodeutf8 Decodes a UTF8 string into a series of codepoints. encodeutf8 Encodes a UTF8 string from a series of codepoints. replace Replaces occurrences of a substring. replace_match Replaces the matched string pattern with another pattern. USD usd_flattenediprimvar Reads the value of a flattened primvar directly from the USD primitive or from USD primitive’s ancestor. usd_flattenediprimvarelement Reads an element value of a flattened array primvar directly from the USD primitive or from its ancestor. usd_iprimvar Reads the value of a primvar directly from the USD primitive or from USD primitive’s ancestor. usd_iprimvarelement Reads the value of an element from the array primvar directly from the USD primitive or from USD primitive’s ancestor. usd_iprimvarelementsize Returns the element size of the primvar directly from the USD primitive or from USD primitive’s ancestor. usd_iprimvarindices Returns the index array of an indexed primvar directly on the USD primitive or on USD primitive’s ancestor. usd_iprimvarinterpolation Returns the element size of the primvar directly on the USD primitive or on USD primitive’s ancestor. usd_iprimvarlen Returns the length of the array primvar directly on the USD primitive or on USD primitive’s ancestor. usd_iprimvarnames Returns the names of the primvars available directly on the given USD primitive or on USD primitive’s ancestor. usd_iprimvarsize Returns the tuple size of the primvar directly on the USD primitive or on USD primitive’s ancestor. usd_iprimvartimesamples Returns the time codes at which the primvar values are authored directly on the given primitive or on its ancestor. usd_iprimvartypename Returns the name of the primvar type found on the given primitive or its ancestor. usd_isabstract Checks if the primitive is abstract. usd_isarrayiprimvar Checks if there is an array primvar directly on the USD primitive or on USD primitive’s ancestor. usd_isindexediprimvar Checks if there is an indexed primvar directly on the USD primitive or on USD primitive’s ancestor. usd_isiprimvar Checks if the primitive or its ancestor has a primvar of the given name. usd_ismodel Checks if the primitive is a model. usd_makevalidprimname Forces a string to conform to the rules for naming USD primitives. usd_makevalidprimpath Forces a string to conform to the rules for paths to USD primitives. usd_setvisibility Configures the primitive to be visible, invisible, or to inherit visibility from the parent. usd_specifier Returns the primitive’s specifier. Volume volumecubicsample Samples the volume primitive’s value. Values between voxels are evaluated with tri-cubic interpolation. volumecubicsamplev Samples the volume primitive’s value. Values between voxels are evaluated with tri-cubic interpolation. volumesmoothsample Samples the volume primitive’s value. Values between voxels are evaluated with smooth interpolation. volumesmoothsamplev Samples the volume primitive’s value. Values between voxels are evaluated with smooth interpolation.
  16. 6 points
    How to procedurally punch scattered holes into a quad mesh using scatter and circle from edges-node.
  17. 6 points
    Overlay network editor would be nice to have built-in in H19 or 20 I have been using it for more than 2 years in production, so the video I initially uploaded is severely outdated. Will update once H19 is released.
  18. 5 points
    I completed another tutorial from the SideFX library of tutorials. This one covers small scale flip splashes with sheeting and a tendril look. The final result is Retimed for a slowdown after impact. ap_small_scale_fluid_splash_091222.hiplc
  19. 5 points
    Asia Thanx To @Boa OdRope.hipnc
  20. 5 points
    Asia . curlClothSrle.hipnc crimp.v001Srle.hipnc
  21. 5 points
    Hi Guan, exactly, the polyextrude node can take all sorts of masks and measurements for individually orienting and scaling its extrusions. extrude_feather.hipnc
  22. 5 points
    A simple way to render outlines right in SOPs. outlines.hiplc
  23. 5 points
    Ola Peoples! I'm just gonna post my adventure regarding and learning more about organic form and modeling. Have fun , and I hope that someone can help with tips and other Trix in Vex or just enjoying this Topic. Starting model, it's Lily - L-system. Reading ON GROWTH AND FORM BY D’ARCY WENTWORTH THOMPSON Cambridge: at the University Press 1917. This is not for professionally CG artists only for Hobbyist-sss
  24. 5 points
    Hi! I just wanted to share my tree and plant modeling toolkit Simple Tree Tools. Its available on Gumroad for both Indie and FX users and contains 18 HDAs specifically aimed at trees and plants modeling in Houdini. I hope you guys like it as much as I do! Heres a video of some of the new features in this release. Let me know what you think! Cheers Nisse
  25. 5 points
    Finally found some time to paint some textures. I try to keep it "cute". it's why skin bump is light. I even like it without any bump. This gives it a slightly cartoonish look. My renders are done with redshift, but in the file it's a (pretty close) Mantra version. hop you like it :). textures geo and hip file attached. Pighead_eol_paint.hiplc geo tex.zip
  26. 5 points
    I worked my way through Edmond's tutorial on how to allow flip droplet particles to escape their boundary. The nodes modified inside of the unlocked HDAs are marked in RED. ap_flip_droplets_escape_021622.hiplc
  27. 5 points
    We have a default biped, actually a few. What about the same for vehicles? A default, car character/rig, and semi-truck with a trailer. Use those new vehicle assets in a self tool for the Crowd simulator that demonstrates traffic, lanes, and stop-lights.
  28. 5 points
    I'm not a sim person, apologies etc... but this might give you some ideas. Smoke sims will always go soft over time. Instead I'd look at the footage and go 'it looks like worms of volume travelling over a surface, with some volume traily stuff'. So thats what I've tried here; make some lines, run them through pops so they scoot over the surface with some noise. Then rasterise those into pyro sources, and have them continually emit as they travel; the leading edge will be sharp, and you can control how the trailing edge behaves; shoudl it dissipate quickly, have some upwards billow, all that. The end result is... well, not great, but its easily tweakable, which is always the key for sim work; lots of fast iterations can beat a big slow sim. snow_me.hip
  29. 5 points
    Here's few bot example the process could give birth ... Actually some details could only be seen in 4k. Screenshot will give you an idea how the geometry built looks like. It was another experimental research, not saying im happy with everything and i will adapt according for the next try. But this is mostly a non technical question. This is kind of network driven by DG will be a good candidate to feed a Machine learning model like i shown on linkedin before with the Skull generation. Click on each image to see HD version.
  30. 5 points
    Shortens edges and line segments by an inset distance. Optionally takes the point scale attribute into account. The shortening distance can be limited to a rest length. konstantin_shorten.hdalc
  31. 5 points
    @himedo6979 You can use growth solver also that you can find here and using this file with some Artistic tweaking you can make some Nice shapes (play with multiple metaballs, try diff noise in Bounds and that comp Vex) ..Have Fun..endless possibility I think. I like Those stuffs ,Houdini its A Fabric for everything you can make anything ..Sky its a Limit Houdini 18.0.530 TattooooOdforce.hiplc
  32. 5 points
    Sphere HDA with more regular quads: Left: Normalized box with dense corner regions. Right: More regular quad mesh (see code below). // Turns unit size box into sphere // Source: http://mathproofs.blogspot.com/2005/07/mapping-cube-to-sphere.html vector pos = v@P * 2.0; float x2 = pos.x * pos.x; float y2 = pos.y * pos.y; float z2 = pos.z * pos.z; float x = pos.x * sqrt(1.0 - (y2 + z2) / 2.0 + (y2 * z2) / 3.0); float y = pos.y * sqrt(1.0 - (z2 + x2) / 2.0 + (z2 * x2) / 3.0); float z = pos.z * sqrt(1.0 - (x2 + y2) / 2.0 + (x2 * y2) / 3.0); pos = set(x, y, z); v@P = pos; konstantin.quad_sphere.1.0.hdalc
  33. 5 points
    Particle based RBDs ap_egj_particles_to_rbd_101421.hiplc
  34. 4 points
    I'm just taking this example to give you some tips,hope it helps creased_abstract_waves.hip
  35. 4 points
    Thanks for the setup. That's a fun one to play with. I've added a collision object and tested animating the stencil shape. ap_pyro_region_force.hiplc
  36. 4 points
    @Librarian Thank for the invite but I have already get mine. Can be usefull for someone else And by the way yes it's totally addidictive, And effectively can be very cool for some inspirations And a mix of two "render"
  37. 4 points
    I wrote an article explaining the code for the COPs raytracer a little: https://procegen.konstantinmagnus.de/custom-raytracer
  38. 4 points
    I came up with another solution using pcopen in a solver. It's a bit unpredictable, but I found the result pretty and interesting. There is a hip file if anyone is interested.
  39. 4 points
    You can achieve this by writing this sort of code inside a Primitive Wrangle: string cam = chs("cam"); float near = 0; float far = -0.01; vector pnear = fromNDC ( cam, set ( 0.5, 0.5, near ) ); vector pfar = fromNDC ( cam, set ( 0.5, 0.5, far ) ); vector dir = -normalize ( pfar - pnear ); vector n = normalize ( primuv ( 0, "N", @primnum, 0.5 ) ); if ( dot ( n, dir ) < ch("threshold") ) i@group_fresnel = 1;
  40. 4 points
    Hi Burton, you could also use the clip node driven by the distance towards the curve along with a time mask for cutting: https://procegen.konstantinmagnus.de/plasma-cutting-along-curve
  41. 4 points
    I have just published the same article on my procedural generation page: https://procegen.konstantinmagnus.de/cubic-uv-projection-in-vex
  42. 4 points
    With Houdini moving to Python 3, that code no longer works on H19.0.455. I have converted the Python code to version 3, and added a slight randomness to the extrusion of each country. The new code produces a console warning, but the mesh generation still works. houdini_world_map_by_countries.zip
  43. 4 points
    I see some activity have Fun @Mexxgen..now if you combine and make some experiments sky its limit CellAnimation077.hiplc voronoi.hiplc
  44. 4 points
    Playing around with emulating some of the per-character animations that you can generate using expression in After Effects. This example is pretty much a direct lift from motionscript.com with the Javascript converted to VEX. Here are a few variations on the post processing of the Javascript scale. BBOX derived: Direct Y-axis manipulation: ap_AE_javascript_font_110421.hiplc
  45. 4 points
    Hi Doanh, I don't remember and I'm not even on FB anymore. I used to get anxious and stressed out there seeing moronic poeple posting opinions and fake news about everything so I just left and nowadays I feel a bit happier.
  46. 4 points
    I think the problem is that the groups and attributes you define for each bounding box carry over to the next frame. For example with your setup, once a particle was inside group1 it will always have the 'mygroup1=1' attribute from that point on even if it is not in the bounding box of group1 anymore. That means that the field used to scale the surface tension with is not limited to its bounding box. So once particles reach f.e. group3 their surface tension is still under the influence of the surface tension node from group1, since the according field hangs still around even after it leaves group1. (you can see this from your scalar visualisation nodes. They dont have the specified colors but their colors mix once they overlap with another colored field.) Made some minor changes to your hipfile. Pretty much only had to copy & your popgroup nodes into a sopsolver and delete the incoming 'mygroup1,2 and 3' attributes so they can be calculated from scratch and dont cary over to the next bounding box. SurfaceTension_recovered.hipnc
  47. 4 points
    You can fit-range an attribute with setdetailattrib() set to "min" and "max". 1st pointwrangle: setdetailattrib(0, 'height_min', @height, "min"); setdetailattrib(0, 'height_max', @height, "max"); 2nd pointwrangle: float min = detail(0, "height_min", 0); float max = detail(0, "height_max", 0); @Cd.g = fit(@height, min, max, 0.0, 1.0); fit_range_VEX.hiplc
  48. 4 points
    If you explicitly cast chramp to a vector first, the 'create spare parameters button' will create a colour ramp. Eg @Cd = vector(chramp('myramp',@P.x));
  49. 4 points
    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...
  50. 4 points
    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.