Leaderboard
Popular Content
Showing most liked content since 02/25/2020 in all areas

20 pointsHi 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

18 pointsWith 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.

14 pointsHello everyone! Every Monday at 12am for the last 3 weeks I have been uploading VEX snippets as minitutorials on my website: https://aaronsmith.tv/1MinuteVEX 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  RayCast Ambient Occlusion

13 pointsThis 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 lifelong 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 Toolset turns Houdini into a powerful music making suite (a MIDI sequencer). Be sure to keep a look out for free weekly tutorials covering the toolset and workflows. Enjoy!

13 pointsThere 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 BrickByBrick 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 ReWrite 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. loopdloop) VDB Gowth Effect Space Colonization Zombie LSystem 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 BulletHelp 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 (AutoRetopo) 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 OnTheFly 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 LSystem 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 XMen 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 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/24861atomsvideotutorials/ http://forums.odforce.net/topic/17105shortandsweetopcentriclessons/page5#entry127846 Entagma Johhny Farmfield Vimeo SideFX Go Procedural

12 pointsAfter more than 5 months of unimaginable amount of work, I am proud to release my first indepth 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 & AdHoc 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 & kDepth Point Neighbours Using Edges] 19  Introduction 20  Concept 21  Implementation [Connectivity & kDepth Point Neighbours Using Primitives] 22  Concept 23  Implementation [Extending kDepth Point Neighbours Using Edges] 24  Introduction 25  Concept 26  Implementation [Extending kDepth 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 CatmullClark Subdivision Surfaces Algorithm 58  HalfEdges [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  PreGenerating 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 CatmullClark 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 NonManifold 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  SubGeometry 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

11 pointsNot 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

11 pointsHere 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

11 pointsHere is my tutorial, done super fast so don't be too harsh I hope this is helpful Sparse Pyro Upres, the easy way  part1

10 pointsMidnight recording on how to do a basic texture bombing shader: https://www.youtube.com/watch?v=sUkyHbSocUE texture_bombing_shader.hipnc

10 pointsHi @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 pointsHi guys, Happy to share this with you! Let me know what you think! Cheers, Manu

9 pointsI built a nonlinear editor/clip mixer for Houdini. On presale 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

9 pointsHi 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.

9 pointsIn 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

9 pointsMore 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) / (1z); } /*! \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) / (1w); } /*! \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 nonzero 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 onesphere. Give a point on the onesphere 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;

8 pointsHere 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

8 pointsI 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!

8 pointsHey guys, I am working on new personal project and I would like to share some playblasts I did. I guess it's useless to say where this idea comes from This was the first iteration. I kinda liked it but I decided to move on and do some other iterations. THe splitting was a bit unnatural. After finalizing the RBD setup I started with the main fireball. Here is a playblast of it. Could be better. That's the current stage of it and I don't think I will have time to do more versions. RIght now I amrendering everything and started to work on the secondary elements. Updates soon, I hope

8 pointsHi, Here is a personal project that uses a new iteration of my small scale pipeline. I still need to improve some things regards the microripples but I think they are working well for this one. I hope you like it! Thanks!!

7 pointsTwo rather short tutorials showing a simple approach on covering mesh surfaces with scales: Houdini file and discussion here:

7 pointsHere 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

7 pointsHi 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

7 pointsCurrently working on a fromscratch 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 :

7 pointsJust Have Fun Now Flower Effects and much more Its Crystal Case mystiqueTransform.rar

7 pointsHey 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 cocreator 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.)

7 points

7 pointsHey 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 points

6 pointsOnly 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

6 pointsHi 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

6 pointsHi Check out my new character To download this character please follow this link: https://www.samankhorram.com/riggedcharacters

6 pointsHere'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

6 pointsI tried. I couldn't think of a clever way to do it, but I hope it helps. Mushroom.hiplc

6 points

6 pointsHello 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

6 pointshttp://www.cgchannel.com/2020/03/10experttipsforbetterhoudiniflipfluidsimulations/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+cgchannel%2FnHpU+(CG+Channel++Entertainment+Production+Art)

6 points

6 pointsI'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,

6 pointsHey 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 :

6 points

6 points

6 pointsplease 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

5 points

5 pointsHere 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

5 points

5 pointsHi folks, I am actually coding some basic operators like divergence, gradient in vex and python to demistify them and wanted to share the file with you. Feel free to update or correct the file since i might not be sure of some operators. it contains :  Divergence (voxel and points)  Gradient (voxel and points)  Curl (voxel) : the curl seems to not have the same order as vdb curl so still in wip  Laplacian (voxel) : The computed laplacian is somehow less precise than vdb laplacian  Covariance matrix and eigen vectors (points) : It works but the scale is normalize  Laplacian matrix of a mesh (python)  Bernstein polynomials basic_operators_001.hiplc

5 pointsHey all, I have just released a bunch of old Houdini training videos I had done in collaboration with 3d buzz. Keep in mind that the training is about 10 years old, but I still wanted to give it a place where it could live on. You can find out more about it here: https://www.youtube.com/watch?v=DnYTUV_RIaU

5 pointsI made a edge detection setup so here's a test render with the edges, might need some tweaking for variation, and take occlusion into account, but, yes, I like

5 pointsThanks Andrea! Attached are two screens where you can see the general particle count. I tend to not abuse the particle count to have good meshing results (so I don't use reseeding), that's mainly because if you need to retime you can have weird pulsing artifacts, so the only way to overcome this is to oversmooth, and that can be very expensive sometimes and will kill nice details, also boundary conditions can have flickering as well with overcrowded particle clusters closer to colliders. Instead of this I use a method to redistribute the particles to have a more uniform distribution between them, this way you can have very nice and smooth edges without so many particles and have a more clean and smooth mesh without sacrificing details.