Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 03/15/2025 in Posts

  1. 5 points
  2. 3 points
  3. Or without a double intersect call: vector A = point(0, "P", 66); vector B = normalize(A-v@P); vector C = v@P + B * .1;// 0.1 to avoid overshooting int prim; vector primuv; xyzdist(0, C, prim, primuv); vector surfaceP; prim_attribute(0, surfaceP, "P", prim, primuv); v@field1 = normalize(surfaceP-v@P);
    3 points
  4. uv_transfer_with_seams.hip try a for each loop
    2 points
  5. Hi, actually there are some information on this forum about rbd constraints: This is one attempt to achieve magnet force effect in dop. Hip file in attachment. magnet_snap_01.hipnc
    2 points
  6. 2 years later and this just made my day. I modified it to work on named prims and added a naming property to the subnet so I can drop it into a named folder. Thank you!
    1 point
  7. font_fill_particle_attract_vel.mp4 pop_font_fill_particle_attract_vel.hip thant should give you an idea !
    1 point
  8. I appreciate your confidence in me - and the suggestions. I need to spend some serious time learning about constraints and dops, however... I think I just found a solution that may work in this case. Took me a while but I figured out a way to manipulate the constraint geo, which is with a "sop solver (constraint geometry)" node. Brought in the point scatter the same way as with the geo sop solver to get the wave force, then the constraint prims are deleted if the waveforce is above a certain value. Not sure if this is the best way to do it but since it seems to be working, I'd consider this a success. Thank you! customForces_v12.hiplc
    1 point
  9. 1 point
  10. Hi, I've been doing some R&D on mixing multiple fluids with different colors and densities. The most common approach, as far as I know, is using a SOP Solver to transfer Cd between particles, allowing the colors to blend. However, I'm concerned about how this will look in the render. Once the particle simulation is meshed, it becomes a closed surface, which might prevent the internal color mixing from being visible. This led me to consider alternative approaches, such as rendering the inside using a VDB. I'm not entirely sure about that part yet. Because of this, I decided to try mixing colors using microsolvers instead of relying on a SOP Solver with attribute transfer, aiming to generate a color field. My approach consists of: Gas Match Field – Creating a new field (color) based on vel. Gas Particle to Field – Transferring the Cd attribute from the particles to the new color field. Gas Diffuse – Attempting to blend the colors within the field. Gas Field to Particle – Transferring the blended field back to the particles. This method seems to work, but I noticed that the actual mixing is happening due to Gas Field to Particle, which interpolates Cd every frame. While this gives me a decent result, the Gas Diffuse node doesn't seem to have any effect, and I have limited control over the blending process. At this point, I'm stuck. Any ideas or suggestions on how to improve this approach? Thanks! Here's the file if someone wants to check it out, thanks! TestColorMix.hip
    1 point
  11. Hi you can project the direction onto the surface using the Y-direction for example. TangetntField_01_mod.hipnc
    1 point
  12. Hi Vikas, thank you so much. That is really interesting. What an amazing technique. And well documented. Thank you for sharing, much appreciated! Have a nice day, Hannes.
    1 point
  13. I did a screen cast how it works for me. Screencast 2025-03-22.mp4
    1 point
  14. It strange. For debuging try to past part by part of full expression to check out how it reads each detail attribute. Use MMB on parameter name. How does expression work in others rop nodes? Sometimes it helps to delete node, create a new one and surprisingly all issues are gone. In attached file I'm using same expression in Output Geometry ROP and it works, FBX rop doesn't work in apprentice. How does it work on your side? fbx_output_path.hipnc
    1 point
  15. Expression is fine, I just checked that on my computer. Try to type expression by hand, I'm on linux machine and maybe some problems happened with font code while copy-pasting. If you click MMB on Output File parameter name what do you see in the text field? This should be expression result as full path to file.
    1 point
  16. @juangoretex try this int pB = 1 - @ptnum; vector posA = @P; vector4 qA = @orient; vector upA = qrotate(qA, {0,0,1}); vector posB = point(0, "P", pB); vector4 qB = point(0, "orient", pB); vector upB = qrotate(qB, {0,0,1}); vector velA = v@v; vector velB = point(0, "v", pB); // Compute direction and distance vector dir = posB - posA; float dist = length(dir); dir = normalize(dir); // Magnet properties float maxRange = chf("maxrange"); // Maximum attraction range float strength = chf("strength"); // Force multiplier float alignThresh = chf("alignment"); // Minimum alignment threshold float dragFactor = chf("drag_factor"); // Controls how smoothly objects approach each other // Retrieve magnet polarity using point() int polarityA = i@magnet_polarity; int polarityB = point(0, "magnet_polarity", pB); int polarityEffect = (polarityA == polarityB) ? -1 : 1; // Same polarity repels, opposite attracts // Compute force if within range if (dist < maxRange) { float forceMag = strength * (1.0 - pow(dist / maxRange, 2.0)); // Exponential falloff // Check alignment for magnetic influence float alignment = dot(upA, dir); if (alignment > alignThresh) { // Attraction/Repulsion force vector F = polarityEffect * forceMag * dir; // Apply force bidirectionally v@force += F; setpointattrib(0, "force", pB, -F, "add"); // Apply drag-based velocity correction for smooth movement vector velocityDiff = (posB - posA) * dragFactor; v@v += velocityDiff; setpointattrib(0, "v", pB, -velocityDiff, "add"); // Add torque effect to simulate realignment vector torqueA = cross(upA, dir) * forceMag * 0.5; vector torqueB = cross(upB, -dir) * forceMag * 0.5; v@torque += torqueA; setpointattrib(0, "torque", pB, torqueB, "add"); } } // Debugging f@dist_debug = dist; v@dir_debug = dir; _____________________________-- second Test...................... // Get opposite magnet's point index int pB = 1 - @ptnum; // Get positions, orientations, and velocities vector posA = @P; vector4 qA = @orient; vector upA = qrotate(qA, {0,0,1}); vector velA = v@v; vector posB = point(0, "P", pB); vector4 qB = point(0, "orient", pB); vector upB = qrotate(qB, {0,0,1}); vector velB = point(0, "v", pB); // Compute direction and distance vector dir = posB - posA; float dist = length(dir); dir = normalize(dir); // Magnet properties float maxRange = chf("maxrange"); // Maximum range for attraction/repulsion float strength = chf("strength"); // Magnet force multiplier float dragFactor = chf("drag_factor"); // How smoothly magnets move float alignmentThreshold = chf("alignment"); // Alignment threshold // Retrieve magnet polarity int polarityA = i@magnet_polarity; int polarityB = point(0, "magnet_polarity", pB); // Determine attraction or repulsion int polarityEffect = (polarityA == polarityB) ? -1 : 1; // Opposite attracts, same repels // Apply magnetic interaction if within range if (dist < maxRange) { // Magnetic force calculation with smooth falloff float forceMag = strength * (1.0 - pow(dist / maxRange, 2.0)); // Compute alignment float alignment = dot(upA, dir); if (alignment > alignmentThreshold) { // Apply force in the direction of the magnetic attraction/repulsion vector F = polarityEffect * forceMag * dir; // Apply forces bidirectionally v@force += F; setpointattrib(0, "force", pB, -F, "add"); // Smooth velocity attraction vector velocityAdjustment = dir * (forceMag * dragFactor); v@v += velocityAdjustment; setpointattrib(0, "v", pB, -velocityAdjustment, "add"); // Add torque to align the magnets vector torqueA = cross(upA, dir) * forceMag * 0.5; vector torqueB = cross(upB, -dir) * forceMag * 0.5; v@torque += torqueA; setpointattrib(0, "torque", pB, torqueB, "add"); } } // Debug attributes f@dist_debug = dist; v@dir_debug = dir;
    1 point
  17. Hi, suppose you have geometry box with primitive group "box". Create detail string attribute, call it 'dirpath' with value of your desired directory's path to save - "$HIP/geo/" Create detail string attribute, call it 'assetname' with value of your asset name - "box/" Create detail string attribute, call it 'filename' and use expression as attribute value: `primgrouplist(opinputpath(".", 0))`.fbx In ROP FBX Output use expression in Output Path parameter: `details(opinputpath(".", 0), "dirpath") + details(opinputpath(".", 0), "assetname") + details(opinputpath(".", 0), "filename")` I hope it'll help you.
    1 point
  18. You don't have to cache / export everything to USD before rendering - if simply setting the scene up, adding lights and materials, and hitting 'render' works for you, that's OK. Fundamentally Solaris and Karma are designed around larger productions - where caching / exporting to USD means larger scene data can be managed and handled more efficiently. If you don't need that, that's fine. Karma uses USD as it's 'scene description' format - so as you are assembling your scene (stage) in Solaris that USD 'scene description' is being constructed, and is used to create the image when you hit 'render'. As you've noticed, caching / exporting to USD and bringing that data back into Solaris is simply an efficient way of storing parts of a 'render ready scene' in an efficient format. That means better viewport performance when handing larger or 'time dependent' scenes, and offers a way to store and recall that data for re-use, without requiring Karma to rebuild the same data over and over. If you don't need to do that, that's fine - just build the scene and hit render.
    1 point
  19. You can add an LPE tag node right before karma. Add your geometry lights to the list by clicking on teddy bear icon in the middle and give them tags. Then you can include these geometry lights in karma render settings and they should show up for you in the render primitive list. Earlier I gave my sky lights an 'Untagged_Lights' tag so they wont have layer, if you need them just give them a tag or remove the 'Omit LPE Tags checkbox' Did this for my lightning which is emissive mesh treated as light source
    1 point
  20. @Ian10210123 We’re close to a solution! Plus, the first file (2D rotation) gives the same result as the simulation. I think we can now achieve this pretty easily using COP 2 in Houdini 20.5. Definitely worth a try! Just sharing some tests! I'm using something like UV coordinates in tangent space and mapping it like a texture—basically a spherical map with tiling. In DOPs, I managed to get some nice fluid-like movement going. There's always room to improve, and I just need more time to refine it, but it's getting close to the concept I'm aiming for! He also mentioned time-dependent movement in COPs, and I think this would be pretty doable in the new COPs. Just need to dial in a better smoke/fluid simulation to get the look right. Plus i forget to make gray scale and relief those or displacement but its manageable.
    1 point
  21. Hello everyone! For the past 8 weeks I have been working on a Japanese Town House generator! This project was made for Breda University of Applied Sciences as a part of my Block A. This is my first Houdini project, so if anyone has feedback for me it would be greatly appreciated. The project was made from scratch as I did not find the built-in Labs building generator easy to build upon. The building generator allows you to change both the roof tiles, the lattices, the windows and the flags for different variances. The size of the building is determined by user placed bounding box, so the tool is able to generate an entire street from just a blockout! Here you can see a diagram of the basic logic used to generate the buildings, excluding the preview mesh generation. I have also made a short video using PDG to showcase different ways that the building generator can create distinct and unique outputs: WhiteOutSpedUp (1) (1).mp4 Here is the tool working in Houdini SpedUpHoudiniShowcase.mp4 And finally, the tool working in Unreal! ToolInUnreal.mp4 Thank you everyone for reading, if you have any questions please ask away!
    1 point
  22. without reseeding you can just delete points having a higher pointnumber than a certain value if (@ptnum > 1000){ removepoint(0, @ptnum); } i've attached a sample file with some different approaches and some sticky notes as well, i hope that is helpful you can get the velocity field out of a flip sim with an import dop fields, for one solution i fed it into a solver and for another one a setup a popsim with pop advect by volumes. both approaches use reseeding. i also tested a quick setup with reseeding turned off. hope this helps! flipvel.hipnc
    1 point
  23. can be useful on any motion(trans-scale to 0.01) ..Like always <3 Asia . collEm.hiplc
    1 point
  24. 1 point
  25. 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
    1 point
  26. Asia Thanx To @Boa OdRope.hipnc
    1 point
  27. Linus Rosenqvist Vel-Chops.hipnc
    1 point
  28. Asia . primintrinsic.hipnc
    1 point
  29. Asia . curlClothSrle.hipnc crimp.v001Srle.hipnc
    1 point
  30. Hey Masoud - check hip maybe help u don't need to increase substep above 2 or 3 bcuz 99% of the simulation this range is enough but if u have really crazy speed super fast u can add more .. Surface Tension1.hip
    1 point
  31. 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 SOP Pyro Control Field Gas Disturbance Repair Geometry Self Intersection FLIP Follows Curve Long Winded Guide To Houdini Instancing Disable Simulations On Startup 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
    1 point
  32. Bumping this old thread in case anyone else finds themselves in a similar boat where they're drawing a blank on this technique and end up googling "Houdini noise transition". The trick is to first form your gradient using a value, in this case the x position along a grid... ...and then add noise to that value. For a deeper dive into this kind of thing, definitely check out this series of classes by Main Road Post and this brilliant page by Kiryha. Hope this helps.
    1 point
  33. and I made it work inheritVel_Test_v02.hip
    1 point
  34. Thank you snoot! This was definitely the correct direction. I have found a detailed explanation at Anyone interested can also download the sample file at https://drive.google.com/file/d/1NnODoix9v4umd2jO4U2ZcVWplK-X9Vw6/view
    1 point
  35. @wndyddl3 More Variations with this One.. I learn and share have fun DispMap.hiplc
    1 point
  36. @wndyddl3 Try This you have endless control. Than search how to make 2d fluid with Gas-solvers in Houdini and for the first you have Terrain Master Class in Houdini .And if you search on google you gonna find vex shaders /assets that you only need to copy paste ..plus you have that in ODForce forum already ,search Investigate share your Result .Have Fun #define PI 3.1415926535897931 #pragma label Theta "Maximum Theta" #pragma label spread "Overall Spread" #pragma label DATA "Data Points" #pragma label kd "Diffuse" #pragma label ks "Specular" #pragma label bump "Bump" surface qrotation_field ( float Theta = 2.0, spread = 3, kd = 1, ks = 0.5, bump = 0.1; string DATA = "$HIP/../VEX/Reading-Data-Points/_datapoints1.bgeo.sc") { float d, Np, theta, pFratt, factor, pspread; vector _P, pP, axis, pVratt; vector4 Q; string group; _P = ptransform("space:camera", "space:world", P); theta = snoise(_P + 0.9, 1, 0.75, 1)*4.5; axis = snoise(_P + 0.05, 1, 0.05, 1); Q = quaternion(theta, axis); _P = qrotate(Q, _P); for(int g = 0; g < 2; g++){ group = concat("group", itoa(g)); int p[] = expandpointgroup(DATA, group); Np = len(p); factor = g + 1; for (int i = 0; i < Np; i++){ pP = point(DATA, "P", p[i]); axis = point(DATA, "N", p[i]); pFratt = point(DATA, "fratt", p[i]); pVratt = point(DATA, "vratt", p[i]); pspread = pFratt*spread/factor; d = distance2(pP, _P); d = exp(-d*d/pspread); theta = 2*PI*(pFratt*2 - 1)*d*Theta/factor; Q = quaternion(theta, axis); _P = qrotate(Q, _P - pP) + pP; } } vector outColor = snoise(_P*0.25, 1, 0.25, 1); vector Nn = normalize(computenormal(P + min(outColor)*bump, N, Ng)); vector diff = diffuse(Nn)*outColor*dot(normalize(-I), N); vector spec = specular(Nn, normalize(-I), fit01(min(outColor), 0.5, 0.1))*0.1; spec += specular(N, normalize(-I), 0.05); Cf = diff*kd + spec*ks; }
    1 point
  37. I don't know why it doesnt work but you could just write the intrinsic to a string/int attribute before and then use the uniquevals function after. That's probably still more convenient and faster than using python. Also typename is a string, so declaring your foo array as an int would, if the function would work with intrinsics, result in an array with a bunch of -1s I think.
    1 point
  38. I had a similar issue where some of the the features were loading and I could see the tools but when i added a node to scene it would say the definitions were incomplete. When I loaded the example files I would get the same error as well.
    1 point
  39. my guess is that the order of operations here doesn't make sense: source1 is a scalar and source2 is a vector, and you can't multiply a scalar by a vector. you have to go the other way around.
    1 point
  40. Yes, glue constraint parameter Propagation Iteration appeared since H17.0 thus to get the same result in H16.5 you should set detail attribute i@propagate_iteration in SOP and i increase value of @strength some more in wrangle from 1000 000 to 1 500 000. reduceStrength_002_fix_h16.5.hipnc
    1 point
  41. If all constraints have strength 10 000. I want to select several of them (via group SOP) and reduce strength to 100. Wired that such a simple thing does not work in previous Houdini version.
    1 point
  42. Wow, ok... so I just learned something new again I apologize to @cwhite I just need to be properly educated Thanks again @julian johnson
    1 point
  43. For one you scene scale is pretty small. Second the feedback scale, you need to play with this setting it will react appropriately, again depending of you scene scale. For good measure use the pig as an example as how you scale should be. Here is a fix version. ice-tea-milk_027_017_FIX.hipnc
    1 point
  44. The material node works fine. If the primitives have the shop_materialpath attribute you should be good. Where is your render flag? Can you share the file?
    1 point
  45. 1 point
  46. attached is a quick implementation of a thin plate energy minimization. its pretty much the same algorithm meshlab and probably also meshmixer uses for hole filling. for high resolution meshes you may want to port it to the hdk or at least use a sparse matrix library instead of numpy. hth. petz fill_hole.hipnc
    1 point
  47. Alternatively you can extract the hit normal and do a dot check against the the initial point normals (if dot is larger than 0, it is a backface) and if needed, you could start a new ray at this point to check for subsequent front/backfaces
    1 point
  48. 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.
    1 point
×
×
  • Create New...