Jump to content

Leaderboard


Popular Content

Showing most liked content since 05/12/2020 in all areas

  1. 20 points
    Hi gang ! Here is my latest vellum file, I played around with noises and constraints. My goal was to emulate a membrane tearing, much like a burning film: You can download the hipfile and play around with it tearing_share.hip
  2. 18 points
    With this work I tried to do a metalic monster with a inverse pipeline..the model exist from the rig, on this case a single line... that is completly procedural.
  3. 14 points
    Hello everyone! Every Monday at 12am for the last 3 weeks I have been uploading VEX snippets as mini-tutorials on my website: https://aaronsmith.tv/1-Minute-VEX Here, through '1 Minute VEX', I'll try to walk you through some of the more obscure and advanced functions that exist, and add as much explanation as possible to accompany the images in text based form. These are not for Houdini beginners! I also intend on all of my website's educational content being free - permanently. No donations, no subscriptions, no coupons. Below is 1 Minute VEX III as an example; Let me know if anyone has any suggestions for improvement! - 1 Minute VEX III - Ray-Cast Ambient Occlusion
  4. 13 points
    Not long ago I was tasked with a simulation of bags of hard candy falling and splitting open on the floor, with the candy of various shapes and sizes spilling out. This turned out to be way harder then I thought. There is really no built in way for vellum and bullet dynamics to interact with each other in Houdini. After searching the internet, I did find one tutorial on kind of faking the interaction, but it seemed overly complicated to me. So after a bit of R&D I came up with this setup. Its very simple and fast, and solves both the vellum and bullet sims in one network at the same time: It basically works by importing the RBD geo into the vellum collision solver, and the vellum geo into the bullet solver. The mass of the RBD has to be faked in somewhat, so it interacts with the cloth in a more realistic way, but that's it! See hip for example: vellum_x_bullet.hip
  5. 13 points
    This is the official release of the Houdini Music Toolset (HMT)! Here's a tour and demonstration Download and installation instructions as well as documentation can be found on Github. I'm also releasing two tutorials: 00 Installation and Sound Check 01 How to make a Simple Note For the last 5 years I've been doing progressively more advanced music composition in Houdini. The mergers of music and visuals have been a life-long passion for me. In addition to teaching dynamics and FX in Houdini, I've also given selective talks and demonstrations on my personal music developments to groups like the Vancouver Houdini User Group, the Los Angeles Houdini User Group, and the Procedural Conference in Breda. I always experience an overwhelming amount of enthusiasm and a supportive community. Here's my way of both saying thank you as well as furthering anyone who would also like to combine musical and visual art. The Houdini Music Tool-set turns Houdini into a powerful music making suite (a MIDI sequencer). Be sure to keep a look out for free weekly tutorials covering the tool-set and workflows. Enjoy!
  6. 12 points
    After more than 5 months of unimaginable amount of work, I am proud to release my first in-depth Houdini course on VEX More details in the video description and the website. Active Patreon members will receive additional discounts proportional to their lifetime support (25% of their lifetime support). Message me on Patreon for your discount coupon. Enjoy! Table of Contents 01 - Introduction [Point Clouds] 02 - Introduction [pcopen() vs pcfind() vs nearpoints()] 03 - Introduction 04 - Implementation 05 - pcfilter() Implementation for pcfind() 06 - pgfind() 07 - pcfind_radius() 08 - Excluding the Current Point & Ad-Hoc Groups 09 - Finding Min & Max Neighbour Points [Unique Pair Matching] 10 - Concept 11 - Implementation [Camera Based Occlusion with Variable Pscale] 12 - Concept 13 - Implementation [Uniform Point Distribution Over Polygonal Surfaces [Point Relaxation]] 14 - Concept 15 - Implementation 16 - Decoupling Operators [Convolution Kernels] 17 - Introduction 18 - Border Handling [Connectivity & k-Depth Point Neighbours Using Edges] 19 - Introduction 20 - Concept 21 - Implementation [Connectivity & k-Depth Point Neighbours Using Primitives] 22 - Concept 23 - Implementation [Extending k-Depth Point Neighbours Using Edges] 24 - Introduction 25 - Concept 26 - Implementation [Extending k-Depth Point Neighbours Using Primitives] 27 - Concept 28 - Implementation [smoothstep() [Cubic Hermite Interpolation]] 29 - Concept 30 - Implementation [Shaping Functions] 31 - Introduction 32 - Implementation 33 - Blurring Attributes [Sharpening Attributes Using Unsharp Mask] 34 - Concept 35 - Implementation [Generalizing the Kernel Code to Handle All Attribute Types] 36 - Concept 37 - Implementation [Attribute Gradient] 38 - Introduction 39 - Concept 40 - Implementation [Gradient Ascent & Descent] 41 - Planar Geometry - Introduction 42 - Planar Geometry - Concept 43 - Planar Geometry - Implementation 44 - 3D Geometry [Contour Lines] 45 - Introduction 46 - Concept 47 - Implementation 48 - Heightfields [Geometric Advection - Orthogonalization & Flowlines] 49 - Introduction 50 - Concept 51 - Implementation [Clustering & Quadtrees] 52 - Concept 53 - Implementation [Adaptive Subdivision] 54 - Introduction 55 - Implementation 56 - Hashing [Adaptive Subdivision] 57 - Improving OpenSubdiv Catmull-Clark Subdivision Surfaces Algorithm 58 - Half-Edges [Adaptive Subdivision] [Aggressive Performance Optimizations] 59 - Eliminating Groups 60 - Custom Fusing In VEX 61 - Recreating Proximity Structures In VEX 62 - Get Unshared Edges In VEX 63 - Final Optimizations [Limit Surface Sampling] 64 - Introduction 65 - OpenSubdiv Patches 66 - Moving Points to the Subdivision Limit Surface 67 - Scattering Points on the Subdivision Limit Surface 68 - Generating a Point Cloud on the Subdivision Limit Surface 69 - Pre-Generating a Point Cloud on the Subdivision Limit Surface 70 - Creating Isolines on the Subdivision Limit Surface [Adaptive Subdivision] 71 - Computing Surface Normals from the Subdivision Limit Surface [Custom Subdivision Surfaces] [Splitting Edges [Edge Divide]] 72 - Concept 73 - Converting Edges to Primitives 74 - Creating New Edge Points [Rebuilding Polygons] 75 - Concept 76 - Implementation 77 - Preserving & Interpolating Attributes 78 - Multithreading by Connectivity 79 - C++ vs VEX 80 - Preserving Groups 81 - Final Optimizations [Implementing Bilinear Subdivision] 82 - Introduction 83 - Concept 84 - Modeling Test Geometry 85 - Starting from Edge Divide 86 - Creating New Face Points 87 - Creating New Edge Points [Creating New Closed Polygons] 88 - Concept 89 - Implementation [Creating New Open Polygons] 90 - Concept 91 - Implementation 92 - Preserving Primitive Groups & Interpolating Primitive Attributes [Preserving Vertex Groups & Interpolating Vertex Attributes for Closed Polygons] 93 - Concept 94 - Implementation 95 - Preserving Vertex Groups & Interpolating Vertex Attributes for Open Polygons 96 - Implementing Iterations 97 - Preserving Literal Groups 98 - Creating Neighbour Primitives 99 - Final Changes 100 - Testing On Complex Geometry [Implementing Catmull-Clark Subdivision] 101 - Introduction [Closed Surfaces] 102 - Rules [Gathering Edge & Face Points] 103 - Concept 104 - Implementation [Computing Weights for New Edge Points] 105 - Concept 106 - Implementation [Computing Weights for Original Points] 107 - Concept 108 - Implementation [Attribute Interpolation] 109 - Concept 110 - Implementation [Boundary Interpolation Rules for New Edge Points] 111 - Concept 112 - Implementation [Boundary Interpolation Rules for Original Points] 113 - Concept 114 - Implementation 115 - Open Surfaces - Handling Corner Points 116 - Handling Non-Manifold Topology [Open Polygons] [Computing Weights for Original Points] 117 - Reverse Engineering OpenSubdiv 118 - Implementation [Computing Weights for New Edge Points] 119 - Reverse Engineering OpenSubdiv 120 - Implementation 121 - Handling Open Polygonal Curves [Handling Mixed Topology] 122 - Full Geometry 123 - Sub-Geometry 124 - Testing On Complex Geometry [Performance] 125 - Profiling [Grouping Boundary Edges from Primitive Group] 126 - Concept 127 - Implementation 128 - VEX vs C++ [Caustics] 129 - Introduction 130 - Sea Caustics 131 - Pool Caustics 132 - Conclusion
  7. 11 points
    Here is my take on the schizophyllum commune: Project a distorted grid on a displaced torus. Iterate over remeshing and relaxing the grid. Scatter random points along the outer edges. Find their shortest paths across the mesh. Convert the curves into a signed distance field. Offset the SDF contour based on curve orientation. The gills can be flipped by negating the orientation along the path curves. mushroom.hipnc
  8. 11 points
    Hi @lobao, Thanks for following up the progress. Regards a paid tutorial, I think a tutorial is not enough, it has to be a Masterclass or something more robust, this method is not a simple one to deal with, also the pipeline is made out of many different stages that has to be explained in a nice way without overwhelming too much the attendants, so I'm trying to find the best way to do this, maybe a Patreon or a a collection of hips on Gumroad. A Patreon is a good idea, I have many techniques and tools to show, so I think that method would be nice, or maybe people is searching for another way to learn. Who knows! Anyway thanks again to be interested! Alejandro
  9. 10 points
    Currently working on a from-scratch texturing procedure that simulates water running down surfaces. Models shamelessly taken from @animatrix course files. Starting with projected points, the curves run along a volume until they drop onto the next underlying surfaces using nested while loops. The watery effect is achieved in COPs where the texture is drawn based on measuring distance from texture positions to these curves. Alright, enough art, here comes the proof of dripping :
  10. 10 points
    Midnight recording on how to do a basic texture bombing shader: https://www.youtube.com/watch?v=sUkyHbSocUE texture_bombing_shader.hipnc
  11. 10 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 [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 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 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
  12. 9 points
    I had a go. I'm positive there's an easy way to do this in mops, but I'm a masochist and enjoyed the challenge of doing this from scratch. Definitely look into mops if you want to do more of these kind of things! The vex looks a bit scary, but its mainly a few ramps controlling when and how the chunks get moved: get a horizontal ramp from the bounding box run it through a few channel ramps, each ramp controls a different part of the effect; eg a ramp that tells the noise to start at 0, go to 1, then back to 0, while another ramp determines when the pieces morph from word A to word B, while others control scale add time to the ramped values, clamp it, so that it slides through the words modify the transform of each chunk. make chunks from word A start with a scale of 1, then scale to 0, while word B does the opposite word A chunks start with no rotation, then gradually start to rotate while they scale down, word B does the opposite finally blend (lerp) the positions from word A to word B, adding some animated noise in the middle bit as they move. The cross-fading of scales hides the transition between word A and word B. voronoi_morph_v03.hip
  13. 9 points
    Two rather short tutorials showing a simple approach on covering mesh surfaces with scales: Houdini file and discussion here:
  14. 9 points
    Here is the VEX version of the streaking texture procedure. It's pretty flexible now: Starting curves from uncovered areas to any angle, jumping over gaps, gradually changing target direction, measuring curve length for any point and of course texture mapping. Model taken from threedscans.com streaks_VEX_2.hipnc
  15. 9 points
    Hi guys, Happy to share this with you! Let me know what you think! Cheers, Manu
  16. 9 points
    I built a non-linear editor/clip mixer for Houdini. On pre-sale right now (PC only, while I continue to work on the Mac version). It's great for bringing in a bunch of different FBX mocap files and mixing and blending them together with a graphical interface. https://gum.co/houdiniClipMixer
  17. 9 points
    Hi everyone ! I have been working on a sparse pyro upres recently and did a video to test it. You can find the hda here : https://drive.google.com/drive/folders/1H4Y0HNELDJ6lmHsM43eEI_lRgNuCEaxX?usp=sharing More details about the solver : The sparse upres solver is a deeply modified sparse pyro that allow the user to quickly upres a smoke simulation from simple inputs. The core idea for the upres is to bypass every nodes related to velocity update in the smoke solver, like the project non divergent, vel advection, collision mask, ect. and replace the upres vel field by a copy of the low resolution velocity. One can then advect any dyes needed through that vel field to create an upres. In order to keep the pipeline as simple as possible i splitted the process in 2 nodes, a 'configure_inputs' which precompute some lowres fields and normalize inputs and the upres solver itself. The sparse solver needs to match the parameters of the lowres simulation to work properly (like dissipation, flame amount, temperature diffusion, ect.). To quickly set up the upres solver i added a python script, that copy and paste all relevant parameters of a lowres pyro to the upres solver. You just need to select which pyro solver to use as reference to match the parameters. The sparse solver itself has some simples parameters like noise / random that allow the user to inject details in the lowres vel field. Noises and randomness are stored on an separated field, 'noise', to be conserved through time since vel is simply copied from the lowres. That allow the noise field to be advected by the vel and then merge with it to advect other fields like density, flames, ect. Which create a more complex pattern than a noise directly merge with the vel. Color can be added at the upres stage if the source contains a Cd and Alpha volumes. Those fields will simply be advected by the upres solver like any other fields resulting in a colored smoke. Your lowres simulation needs no color. Retime can be perform by interpolating the source and scaling parts of the upres solver. The process is automated from a tab in the sparse solver. However, it can vary if you animate the retime or set it to low (especially with flame). The upres solver does not need any modification of the velocity other than small disturbance / turbulance details. If you add strong changes in the vel field your upres dye will deviate far away from the lowres vel field. Every major modifications of the vel field like wind or buoyancy need to be added in the lowres simulation. A fake divergence can be added through the process by computing the negative gradient of the density added to the velocity. Since pressure projection has been bypassed, important amount of this 'divergence' will result in compression in the vel field creating artefacts in the smoke. However, it can be usefull to break the sharp edges of an upres smoke if needed. At last, one can force the upres to match the lowres fields by simply removing parts of the simulation which are outside the lowres smoke by taking the lowres density field as reference. If the lowres is below a threshold value, the upres smoke is multiply by amount less than 1. This can be usefull is you have strong noises and need to dissipate them to stay in the bounds of the lowres.
  18. 9 points
    In case you were expecting real trees ; ), here is a concept on creating networks for neural surfaces in nature such as leafs, barks, bushes and trees. The cost attribute of the shortest path node can be used for scaling sweeps, animating growth, texturing, scattering objects and so on. nature_paths.hipnc
  19. 8 points
    Here is a method to carve mesh surfaces with extrusions, gaps, holes, profiles based on their distance from curves or polygons. Projecting curves or polygons on a primitive. Measuring distance with xyzdist(). Distance rings done with polygon cutting. Carving in various profiles with ramps. profiles_2.hipnc
  20. 8 points
    I have a Houdini GitHub repo where (in addition to the code section, which is the Houdini pipeline for my personal projects) I store all my R&D notes related to the pipeline developing and programming organized as one wiki. The valuable part of this wiki is VEX for Artists tutorial, where I record everything I was able to understand about VEX in form of tutorials, so it might be useful not only for me but for anybody else, who is going the same route of learning programming from scratch. It was built by a guy with an artistic background and no technical education and skills, so it might be suitable for the same type of peoples. Easy and clean, a lot of simplification, a lot of explanation of basics. This VEX tutorial was just updated with a new section: Solving problems with VEX. Here, using the basic blocks studied earlier we will create something meaningful for the production. The first example we look into is the creation of a hanging wire between 2 points. For those who tried or even afraid to begin to learn VEX but fail and stop because it was too hard. Enjoy!
  21. 7 points
    Hello magicians. I want to share with you the result of studying l-systems. Behold the Moss Incredible aka Sphagnum! Redshift shading. And yes, it is growing. Available on https://gum.co/fZROZ https://gum.co/qmDmg Thanks! akdbra_moss_grow.mp4 akdbra_moss_var.mp4
  22. 7 points
    Hi all ! I did a simple vex scene with particules orbiting an object. The main challenge is to avoid particules to exit their orbit by computing an vector that correct their distance to the surface object from an iso value. Hope you like it. Update : Added the gradient of geodesic distance as axis of rotation for the particules. Usefull if you want to rotate along each element of a geometry, like arms, legs, tentacles, etc. pop_orbit_001_odforce.hiplc
  23. 7 points
    Hi all I am posting a simple procedural desintegration that is very fun to build, as always, with quaternions and vex. Vex is annoted, Hope you will like it. There is a line in vex where i remap a random quaternion [0, 1] to [-0.7, 0.7]. It roughly removes the random overlapped orientations. If you disable it you can see that orientations are a bit biased because of the 0 - 1 range. Update : Now with RBDs lego_desintegration_RBD_001.hiplc
  24. 7 points
    Just Have Fun Now Flower Effects and much more Its Crystal Case mystiqueTransform.rar
  25. 7 points
    I tried. I couldn't think of a clever way to do it, but I hope it helps. Mushroom.hiplc
  26. 7 points
    Hey there, I discovered during random internet peregrinations this amazingly beautiful / clever / impressive project done in Houdini, by Robert Hodgin. i was so astonished by the whole concept and technical execution of it that i really wanted to share it here with you, if it can interests some people here. http://roberthodgin.com/project/meander?fbclid=IwAR2MX7EDeWLKC_U8x4TEZEn7eP8fS0bchytNH7j20FQTGcyPOOaDlFQyhvY It is basically a kind of imaginary generative cartography system that draw 2d detailed antique maps of imaginary rivers flowmap and their derivation with time. I find the attention to details and the whole process totally stunning. If i understood correctly Robert Hodgin is as well the co-creator of the cinder programming framework. Don't hesitate to check his other works on his website, it's full of super interesting ideas (I did not know in which rubric to post this exactly, feel free to move it if needed.)
  27. 7 points
    Yes I do! I just created one Here you go!
  28. 7 points
    I just wish we can select/edit multiple points at a time in Curve Node. It's been so many years, the Curve Tool in Houdini still sucks.
  29. 6 points
    Only sharing files and links for peoples that want to learn ..including mine self Here its snippets(File) useful for Tricks and Links for Video Tut INC ...WITH FILE. https://vimeo.com/454127040 https://vimeo.com/207724703 https://vimeo.com/305429043 uiHud.hiplc
  30. 6 points
    How to create a procedural mushroom model in SideFX Houdini. Video: Original thread: Latest file version: https://gumroad.com/konstantin_magnus
  31. 6 points
    Hello, great work! Seem it is the FLAM fever again as so many people recently implementing it! I just finished an implementation of The Fractal Flame Algorithm too! Not sure how you did yours but I did mine entirely in CVEX. If anyone is curious you can check the results and download the tool here: FLAM3 for SideFX Houdini Its free and the HDA is unlocked so you can extend it if you like. ( the CVEX code is pre compiled tho because it was so much code that was the only way to keep it manageable ) The 3D version of the variations ar what they are, some work better than other and some are really hard to port into 3D so the 3D option is really there just for fun but consider it a 2D tool and you should use it that way. Cheers, Alessandro
  32. 6 points
    Hi Check out my new character To download this character please follow this link: https://www.samankhorram.com/rigged-characters
  33. 6 points
    Here's another plant generator this time growing from crevices / occluded areas. It's essentially blending the volume gradient with some curl noise based on distance. mushroom_grow_out.hipnc
  34. 6 points
    @sant0s81 there are some options, probably not exactly what you want, unfortunately: 1) add the "dot" on the line (alt click on the line), then color the dot (btw you can alt click the dot, to make it persistent) or 2) colour the inputs inside the subnetwork
  35. 6 points
    My latest reel, 2020. Collection of shows 2016-2019.
  36. 6 points
    Here is my tutorial, done super fast so don't be too harsh I hope this is helpful Sparse Pyro Upres, the easy way - part1
  37. 5 points
    One of the things I have loved about odforce for years is how very generous so many talented artists are on here, but this thread really underscores the downside of that when people abuse that spirit. I'm amazed that multiple artists who have generously and repeatedly provided advice and source files for various methods are simply being given repeated requests for additional free work as thanks for their time. Presumably you are being paid for your work generated with such specific requirements, yet at no point in this entire thread have you indicated any thanks or gratitude to those who have posted solutions to help you, simply demanded more work from theim for free in a rude manner. Perhaps consider making an effort with some of the various methods already offered, and post a .hip file showing you've put any work whatsoever into resolving your request rather than continuing to demand that others simply hand you fully-formed solutions for you to profit off of.
  38. 5 points
    I wrote a custom render engine in COPs today. While 'engine' is probably a bit far fetched, it's a little ray tracer experimentally supporting: Meshes with UV coordinates Shading on diffuse textures Multiple point lights (including color, intensity, size) Area shadows and light attenuation Ambient occlusion Specular highlights Reflections with varying roughness The snippet basically transforms the pixel canvas to the camera position and shoots rays around using VEX functions like intersect() and primuv(). The rendering process only takes a few seconds. I still have to figure the licensing fees, though COP_render.hipnc
  39. 5 points
    here’s another one without relying on an iterative approach geo_along_curve.hipnc
  40. 5 points
    I sampled refraction curves into a volume using SOPs and used the resulting density as emission inside a volume shader. Is there any way to realize volume caustics fully inside a material shader (either Mantra or Karma)? volume_refraction.hipnc
  41. 5 points
    Here is a procedurally animated creature using some of the all new rigging tools. Had to brush up my russian skills1 to get this working ; ) 1 H18.5 Rigging Tutorial: https://www.youtube.com/watch?v=-AFJ5j47pwE spider.hipnc
  42. 5 points
    It seems to work in all versions of 18.0.x up until 18.0.499. Up until then, somehow, the Transform Pieces node could apply non-named template attributes from a single point to all four wheel points. In 18.0.499 the points have to be matched by a name attribute for it to work. Possibly SideFX have fixed a long-standing bug or broken a normal piece of functionality. No idea which :-) car_rig_bullet_julian_18.0.499.hip
  43. 5 points
    Hello! So i created a few tools for a recent project for creating trees. I thought Id share it with the community. This is my first ever toolset Ive created so If you like it consider donate a few bucks on gumroad. I currently have it as a "pay what you want" product. You are more than welcome to try it out and come with suggestions for future potential updates. Hope you like it! https://gum.co/nEGYe
  44. 5 points
    Hello there I was looking for a solution on how to simulate two smoke objects with different density fields and still have them interact. I couldn't find a solution from a quick search so I thought I'd post here now it's resolved. To achieve this result you need to dive inside each smoke object and disconnect the velocity field. Copy the velocity field creation dop from within an object and attach it with an apply data beneath the merge where you bring the objects together. Set the data sharing parameter on this node to "Share Data In One Timestep" and you should be good to go. You could also share more fields between smoke objects if you don't require individual data for both I've attached a hip file All the best, Lucy multiObjectInteraction.hipnc
  45. 5 points
    I have created a video tutorial to go with it:
  46. 5 points
    Wind turbulence visualized in the real world
  47. 5 points
    I heard oil paintings are a thing right now. Here is a initial setup (still lacking all micro details and sweep strokes): Original procedure developed by Will Macneill: http://www.willmacneil.com/portfolio/oil-painting-the-houdini-way painting_2.hipnc
  48. 5 points
    New video blog post! Time indoors has lead to A VERY detailed step-by-step video on how to set up Houdini Engine and Unreal Engine on Linux, including obtaining source, licensing, compiling and installing. http://eyevex.com 40 Minutes of excitement guaranteed (|;-D>
  49. 5 points
    Few tips and tricks to manipulate gas simulation. 1. Independent resolution grid. E.g. Overriding vel grid size independent to a density grid. 2. Creating additional utilities. E.g. gradient, speed, vorticity and etc which can be used to manipulate forces. 3. Forces via VEX and some example snippets. smokesolver_v1.hipnc P.S. Some of this technique are not Open CL friendly though.
  50. 5 points
    You have an awesome start man, no worries. I can see that you did try and do a lot of experimenting. I'll try and clear up some things for you (to the extent of my knowledge). Be ready for quite a bit of reading. How do I get the gradient working in the vop First off, to better understand how to manipulate volumes, you must first have a clearer idea what a volume really is in Houdini, especially what kind of data it holds. Because these data are the stuff that we going to be manipulating. Let's start from scratch.. a simple Box polygon: Box Let's convert it to a Volume primitive using an IsoOffset SOP (or a VDB from Polygons): Fog Volume Notice the default settings, it is of Output Type: Fog Volume. So from a Box which consisted of points and polygon primitives, we now have these: What happened to the data? Where are the Box's points and polygons info? Those are now gone, you now have to deal with voxels instead. Volume Representation I'm guessing you know much of this already, but just bear with me for a bit Now, I think this is where the interesting part comes in.. How are these voxels accessed in Houdini? You can think of it as manipulating images in Photoshop.. or more precisely, manipulating pixels, but in 3d. The simple description is that voxels are just 3d pixels. So let's keep things simple.. if for instance, we just take a "slice" from the 3d voxel grid like so: Volume Slice We will be left with just this simple 2D flat grid. We could now safely assume that this grid also has coordinate data, like a standard digital image, it has pixel x and y coordinates. X & Y Coordinates Going further to simplify things, let us isolate just the x coordinate for now: X Coordinates Only Notice that these are just rows of repeating sequence of numbers going from 0 to the max resolution of an axis --- in this case up to 9: Max Resolution in X is 9 To recap a bit, we now have a bunch of data to work with: * X Axis Coordinates = {0,1,2,3,4,5,6,7,9} * X Axis Resolution = 9 At this point, you might ask what can we do with these numbers? We can now use it for our Ramp Parameter. But an intermediate step is needed first. Something that is usually called normalization. We need to normalize it.. which basically means convert it to a range between 0 and 1. Mathematics and Computers just love em zeroes and ones! To go about doing that, the simplest way is to do division math. We divide each value in an X Coordinate by the X Resolution like so: The result thereof: Now we have usable values for the Ramp! We can now proceed to feed it to the Ramp and remap the values to build our custom falloff. Here is the manually adjust ramp to represent the falloff for the X Axis: And the resulting values of the remapping: Finally, almost done, we now have the falloff computation and what we need to do is to just pipe these values out as the Density. In VEX, you can see this happening as the last line of the code: In VOPs, you simply wire it out to the Density output: * Remember, since we're manipulating volumes.. we need to use the Volume VOPs variant in SOPs. The resulting volume now looks like this: As you may have noticed, this is just the X-Axis. The last and easiest thing to do is to simply repeat/duplicate the process for the remaining Y and Z axes then multiply them together to form the 3d falloff volume. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Now loaded with the information above, here is how you would apply it in VOPs: First, this shows the equivalent built-it variables that I used in VEX for Volumes: Left: Wrangle | Right: Volume Vop Next, following the 1st block of vex code, we do the conversion from "Integer" to "Float" so that we could divide the values with much more precision. Also, I subtract 1 from the resx, resy, and resz variables because the resolution value returns an amount that did not count from 0. Image showing just the x-axis setup. Apply the same nodes for the Y and Z axis. The 2nd block of code now deals with using the computed value (which is now in the range of 0-1) for the ramp. TIP: Use the same name for the Ramp Parameter for each of the axes to have just a single Ramp Parameter control up the UI. So even if we dropped 3 Ramp Parameter VOPs, with using just a single name "myRamp", there would only be one control to rule them all. Finally, on the last line. We just do a simple multiplication for all 3 values and write it out to density. And of course, here's the updated file: H16.0.557 Indie - box_falloff_vop.zip How do I visualize my gradient to check its working? You must be confusing the term/variable that I used in the Volume Wrangle whose names are "gradx", "grady", and "gradz" as the equivalent of the Volume Gradient VOP, which is actually not. These names are arbitrary, I could have named the variables anything.. like potato: ..And this will still work. So, for rebuilding the box volume falloff, you don't need the Volume Gradient VOP (I'll try and may do a separate explanation of this on a different post >_<) Maybe to rephrase your question: "How do I visualize my volume to check it's working?" And to answer that: For quick and simple visualization, I usually just use the Volume Slice SOP. Play around with it to see what it does. How do I get that inside the DOP to drive the force? I hope this graph would help you visualize the flow: On my example hip file above this post, if you check the Pop Wrangle node inside the particle sim DOP, you'll notice the Inputs tab. That is how the wrangle is reading the falloff volume we created from outside the DOP network. In the VEX code, by using the volumesample() function, we can then transfer the density volume data to our particles using any custom attribute. In this case, I simply created and named it "amt" for amount. (again it can be anything, like banana) Using our newly created variable "amt", it can then be used in inside vexpressions to do our calculations. Like multiplying it against the Force parameter to control the intensity. Note that this is just one method of getting data from outside Dops. You'll discover other ways as you venture out here in the forums I hope you did not fall asleep from this long post, and that my explanation at least made some sense haha Cheers!
×