Jump to content

Leaderboard


Popular Content

Showing most liked content since 08/26/2022 in all areas

  1. 4 points
    I completed another tutorial from the SideFX library of tutorials. This one covers small scale flip splashes with sheeting and a tendril look. The final result is Retimed for a slowdown after impact. ap_small_scale_fluid_splash_091222.hiplc
  2. 4 points
    Asia Thanx To @Boa OdRope.hipnc
  3. 4 points
    I'm just taking this example to give you some tips,hope it helps creased_abstract_waves.hip
  4. 4 points
    https://youtu.be/Y_SI5MMWkYs
  5. 3 points
    You could also go the heightfield route and use a heightfield pattern node and a bunch of different noises. creased_abstract_waves2.hiplc
  6. 3 points
    Asia . primintrinsic.hipnc
  7. 3 points
    There are so many nice example files on this website that I am often searching for. I wanted to use this page as a link page to other posts that I find useful, hopefully you will too. This list was started years ago, so some of the solutions may be dated. Displaced UV Mapped Tubes Particles Break Fracture Glue Bonds Render Colorized Smoke With OpenGL Rop Moon DEM Data Creates Model Python Script Make A Belly Bounce Helicopter Dust Effect Conform Design To Surface Benjamin Button Intro Sequence UV Style Mapping UV Box and Multiple Projection Styles Ping Pong Frame Expression Instance vs. Copy (Instance Is Faster) Particle Bug Swarm Over Vertical and Horizontal Geometry Rolling Cube Rounded Plexus Style Effect Pyro Smoke UpRes Smoke Trails From Debris Align Object Along Path Fading Trail From Moving Point Swiss Cheese VDB To Polygons Get Rid Of Mushroom Shape In Pyro Sim A Tornado Ball Of Yarn Particles Erode Surface Unroll Paper Burrow Under Brick Road Non Overlapping Copies Build Wall Brick-By-Brick FLIP Fluid Thin Sheets Smoke Colored Like Image Volumetric Spotlight Moving Geometry Using VEX Matt's Galaxy Diego's Vortex Cloud Loopable Flag In Wind Eetu's Lab <--Must See! Wolverine's Claws (Fracture By Impact) Houdini To Clarisse OBJ Exporter Skrinkwrap One Mesh Over Another Differential Growth Over Surface Blazing Fast OpenCL Smoke Solver [PYTHON]Post Process OBJ Re-Write Upon Export Rolling Clouds Ramen Noodles Basic Fracture Extrude Match Primitive Number To Point Number Grains Activate In Chunks Fracture Wooden Planks Merge Two Geometry Via Modulus Fill Font With Fluid DNA Over Model Surface VDB Morph From One Shape To Another Bend Font Along Curve Ripple Obstacle Across 3D Surface Arnold Style Light Blocker Sphere Dripping Water (cool) Exploded View Via Name Attribute VEX Get Obj Matrix Parts eetu's inflate cloth Ice Grows Over Fire Flying Bird As Particles DEM Image To Modeled Terrain Pyro Temperature Ignition Extrude Like Blender's Bevel Profile Particles Flock To And Around Obstacles BVH Carnegie Mellon Mocap Tweaker (python script) Rolling FLIP Cube Crowd Agents Follow Paths Keep Particles On Deforming Surface Particle Beam Effect Bendy Mograph Text Font Flay Technique Curly Abstract Geometry Melt Based Upon Temperature Large Ship FLIP Wake (geo driven velocity pumps) Create Holes In Geo At Point Locations Cloth Blown Apart By Wind Cloth Based Paper Confetti Denim Stitching For Fonts Model A Raspberry Crumple Piece Of Paper Instanced Forest Floor Scene FLIP pushes FEM Object Animated Crack Colorize Maya nParticles inside an Alembic Path Grows Inside Shape Steam Train Smoke From Chimney Using Buoyancy Field On RBDs In FLIP Fluid Fracture Along A Path COP Based Comet Trail eetu's Raidal FLIP Pump Drip Down Sides A Simple Tornado Point Cloud Dual Colored Smoke Grenades Particles Generate Pyro Fuel Stick RBDs To Transforming Object Convert Noise To Lines Cloth Weighs Down Wire (with snap back) Create Up Vector For Twisting Curve (i.e. loop-d-loop) VDB Gowth Effect Space Colonization Zombie L-System Vine Growth Over Trunk FLIP Fluid Erosion Of GEO Surface Vein Growth And Space Colonization Force Only Affects Particle Inside Masked Area Water Ball External Velocity Field Changes POP particle direction Bullet-Help Small Pieces Come To A Stop Lightning Around Object Effect Lightning Lies Upon Surface Of Object Fracture Reveals Object Inside Nike Triangle Shoe Effect Smoke Upres Example Julien's 2011 Volcano Rolling Pyroclastic FLIP Fluid Shape Morph (with overshoot) Object Moves Through Snow Or Mud Scene As Python Code Ramp Scale Over Time Tiggered By Effector Lattice Deforms Volume Continuous Geometric Trail Gas Enforce Boundary Mantra 2D And 3D Velocity Pass Monte Carlo Scatter Fill A Shape Crowd Seek Goal Then Stop A Bunch Of Worms Potential Field Lines Around Postive and Negative Charges Earthquake Wall Fracture Instance Animated Geometry (multiple techniques) Flip Fluid Attracted To Geometry Shape Wrap Geo Like Wrap3 Polywire or Curve Taper Number Of Points From Second Input (VEX) Bullet Custom Deformable Metal Constraint Torn Paper Edge Deflate Cube Rotate, Orient and Alignment Examples 3D Lines From 2D Image (designy) Make Curves In VEX Avalanche Smoke Effect Instant Meshes (Auto-Retopo) Duplicate Objects With VEX Polywire Lightning VEX Rotate Instances Along Curved Geometry Dual Wind RBD Leaf Blowing Automatic UV Cubic Projection (works on most shapes) RBD Scatter Over Deforming Person Mesh FLIP Through Outer Barrier To Inner Collider (collision weights) [REDSHIFT] Ground Cover Instancing Setup [REDSHIFT] Volumetric Image Based Spotlight [REDSHIFT] VEX/VOP Noise Attribute Planet [REDSHIFT] Blood Cell Blood Vessel Blood Stream [REDSHIFT] Light Volume By Material Emission Only [REDSHIFT] Python Script Images As Planes (works for Mantra Too!) [REDSHIFT] MTL To Redshift Material [REDSHIFT] Access CHOPs In Volume Material [REDSHIFT] Mesh Light Inherits Color [REDSHIFT] Color Smoke [REDSHIFT] FBX Import Helper [REDSHIFT] Terrain Instancer Height Field By Feature Dragon Smashes Complex Fractured House (wood, bricks, plaster) Controlling Animated Instances Road Through Height Field Based Terrain Tire Tread Creator For Wheels Make A Cloth Card/Sheet Follow A NULL Eye Veins Material Matt Explains Orientation Along A Curve Mesh Based Maelstrom Vortex Spiral Emit Multiple FEM Objects Over Time Pushing FEM With Pyro Spiral Motion For Wrangle Emit Dynamic Strands Pop Grains Slope, Peak and Flat Groups For Terrains Install Carnegie Mellon University BVH Mocap Into MocapBiped1 Ramp Based Taper Line Fast Velocity Smoke Emitter Flip Fill Cup Ice Cubes Float [PYTHON]Export Houdini Particles To Blender .bphys Cache Format [PYTHON] OP UNHIDE ALL (opunhide) Collision Deform Without Solver or Simulation Mograph Lines Around Geometry Waffle Cornetto Ice Cream Cone Ice Cream Cone Top Unroll Road Or Carpet Burning Fuse Ignites Fuel or Painted Fuel Ignition Painted Fuel Combustion Small Dent Impact Deformation Particle Impact Erosion or Denting Of A Surface Helicopter Landing Smoke And Particles Radial Fracture Pieces Explode Outwards Along Normal Tangent Based Rocket Launch Rolling Smoke Field Tear/Rip FLIP (H12 still works in H16) Rain Flows Over Surface Rains Water Drip Surface Splash Smoke Solver Tips & Tricks Folding Smoke Sim VEX Generated Curve For Curling Hair Copy and Align One Shape Or Object To The Primitives Of Another Object (cool setup) A Better Pop Follow Curve Setup FEM Sea Cucumber Moves Through Barrier Fracture Cloth Smoke Confinement Setup Merge multiple .OBJ directly Into A Python Node Blood In Water Smoke Dissipates When Near Collision Object Whirlpool Mesh Surface Whirlpool Velocity Motion For FLIP Simple Bacteria Single Point Falling Dust Stream Flames Flow Outside Windows Gas Blend Density Example Localized Pyro Drag (smoke comes to a stop) Granular Sheet Ripping Post Process An Export (Post Write ROP Event) Corridor Ice Spread or Growth Set Velocity On Pieces When Glue Bonds Break Water Drops Along Surface Condensation Bottle Grains Snow or Wet Sand Starter Scene A Nice Little Dissolver Turn An Image Into Smoke Fading Ripples Grid Example Stranger Things Wall Effect Face Through Rubber Wall [PYTHON]Create Nurbs Hull Shelf Tool [PYTHON] Ramp Parameter [PYTHON] On Copy OF HDA or Node Select Outside Points Of Mesh, Honor Interior Holes Sparks Along Fuse With Smoke Umbrella Rig Melt FLIP UVs Tire Burn Out Smoke Sim Flip or Pyro Voxel Estimate Expression Motorcycle or Dirt Bike Kicks Up Sand Particles Push Points Out Of A Volume [PYTHON]Cellular Automata Cave Generator Punch Dent Impact Ripple Wrinkle VEX Rotate Packed Primitive Via Intrinsic Kohuei Nakama's Effect FLIP Fluid Inside Moving Container Particles Avoid Metaball Forces FLIP Divergence Setup FLIP Transfer Color Through Simulation To Surface Morph Between Two Static Shapes As Pyro Emits Constraint Based Car Suspension Pyro Smoke Gas Disturbs Velocity Wire Solver Random Size Self Colliding Cables Fast Cheap Simple Collision Deform CHOP Based Wobble For Animated Character Slow Motion FLIP Whaitewater Avoid Stepping In Fast Pyro Emission Fast Car Tires Smoke FLIP Fluid Fills Object Epic Share Of Softbody/Grain Setups (Must see!) Balloon, Pizza, Sail, Upres Shirt, Paint Brush Create Pop Grain Geometry On-The-Fly In A DOPs Solver Varying Length Trails VEX Based Geometry Transform Determine Volume Minimum and Maximum Values Grain Upres Example Animated pintoanimation For Cloth Sims Batch Render Folder Of OBJ files Vellum Weaving Cloth Fibers Knitting Kaleidoscopic Geometry UV Image Map To Points Or Hair Color Particles Like Trapcode Particular Flat Tank Boat Track With Whitewater Orthographic Angle Font Shadow Select Every Other Primitive or Face? Printer Spits Out Roll Of Paper Unroll Paper, Map, Plans, Scroll Simple Vellum L-System Plant Basic Cancer Cell 2D Vellum Solution Vellum Animated Zero Out Stiffness To Emulate Collapse Whitewater On Pre Deformed Wave [PYTHON] Menu Callback Change Node Color Extruded Voronoi With Scale Effector Multi Material RBD Building Fracture House Collapse Spin Vellum Cloth Whirlpool Vortex Trippy Organic Line Bend Design Logo Based Domino Layout Delete Outer Fracture Pieces, Keeping Inside Pieces UV Mapped Displaced Along Length Curly Curves Slow Particle Image Advection Nebula Saw Through VDB Like Butter Fuel Based Rocket Launch With Smoke Fuel Based Rocket Launch With Smoke [upres] Deform Pyro Along Path Bend Pyro Gas Repeat Solver With RBD Collision Raining Fuel Fire Bomb City Video Tutorial Pyro Cluster Setup (Animated Moving Fuel Source) [PYTHON] Mantra .MTL File Reader (creates new materials) Pyro Dampen By Distance FLIP Fluid Sweeps Away Crowd Ragdoll Gas Repeat Solver X-Men Mystique Feather Effect Camera Frustum Geometry Culling Vellum Extrude Shape Into Cloth Wire Web Constraint Setup Pyro Smoke Font Dissolve "Up In Smoke" Helicopter Landing With Vellum Grass and Dust or Smoke Another Thin Sheet Fluid Setup Color Rain Drops Over Surface Dual Smoke Object Wand Battle Custom GasDisturb node (easy to use) Hair Driven Grass Example File Pyro Smoke With Masked Turbulence Align High Resolution Mesh With Low Resolution RBD Simulation Streaky Portal Effect Height From Luma Cracking Glass Dome, Fracture VEX Noise Types FLIP Waterwheel Fracture Brick Wall Using UVs Vellum Stacked Torn Membranes Terrain Topographical Line Curves Prepare RBD Fracture For Unreal Alembic Export Growing Ivy Solver Fix For Intermittent FLIP Surfacing Issue Extensive RBD Fracturing Thread With HIP Files Peter Quint's Pop Streams Particle Example Fracture Geometry To Release Flip Fluid Inside Procedurally Reverse Normals Vellum Culling Voronoi Shape To Shape Transition Animated Scattering Accessing Parametric UVs On A Surface Organic Hallways/Corridors Through A Mesh Smoke Particle Dissolve Along One Axis Expanding Vellum Rings That Collide With One Another Read, Fetch, or Get SOP Attribute Inside Of DOPS Broad Splash When Object Enters Water Blendshape Crowd Example [PYTHON] Replace Packed Intrinsic Geometry From Another Source Rip/Tear Part Of Paper To Reveal And Roll Up After Effects Text Styles Cabling Mesh Surface Hanging Wires Or Cables Use Python Inside a Font Sop Brand Accurate Textures Using Karma XPU hScript asCode Microscopic Hair USD Attribute Equivalents For Preview Shader (i.e. Cd mangle) Vellum Peel Effect Tutorial HIP Library Use Google To Discover Attached HIP Files Useful Websites: Tokeru Houdini Houdini Vex Houdini Python Houdini Blueprints FX Thinking Rich Lord HIP Files iHoudini Qiita Ryoji Toadstorm Blog Eetu's HIP Of The Day Video Tutorials: Peter Quint Rohan Dalvi Ben Watts Design Yancy Lindquist Contained Liquids Moving Fem Thing Dent By Rigid Bodies Animating Font Profiles Swirly Trails Over Surface http://forums.odforce.net/topic/24861-atoms-video-tutorials/ http://forums.odforce.net/topic/17105-short-and-sweet-op-centric-lessons/page-5#entry127846 Entagma Johhny Farmfield Vimeo SideFX Go Procedural
  8. 2 points
    Hi, You can fire rays for each given point within a cone in the opposite direction of the point normal: Here is the VEX code: int numrays = chi("numrays"); float maxangle = radians ( ch("maxangle") ); float maxdist = ch("maxdist"); int visualize = chi("visualize"); vector phit = 0; vector uvhit = 0; float nearestdist = 1e32; vector nearestp = @P; for ( int i = 0; i < numrays; ++i ) { vector2 u = rand ( i + 4523.4376 + @ptnum + ( @ptnum + 1 ) * 54.21 ); vector dir = sample_direction_cone ( -@N, maxangle, u ); if ( visualize ) { int pt = addpoint ( 0, @P ); setpointattrib ( 0, "N", pt, dir ); } int pr = intersect ( 1, @P, dir * maxdist, phit, uvhit ); if ( pr != -1 ) { float dsq = distance2 ( phit, @P ); if ( dsq < nearestdist ) { nearestdist = dsq; nearestp = phit; } } if ( visualize ) { int pt = addpoint ( 0, phit ); setpointattrib ( 0, "P", pt, phit ); } } @P = nearestp;
  9. 2 points
    I completed the particle energy shockwave tutorial. It's more of an energy shield rather than a shockwave. I have set it up to render with Karma, but XPU can't handle 100,000 particles-per-emission without crashing. The GIF shows 10,000. The tutorial author uses Mantra, which can handle more points. Another option might be to rasterize the particles and render it as a volume. ap_kr_particle_energy_shockwave_090622.hiplc
  10. 2 points
    I made a free Brush tool. It is also built into the Modeler add-on. https://alexeyvanzhula.gumroad.com/l/brush_tool_for_houdini
  11. 2 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
  12. 1 point
    Yes in that case it's possible. Have to implement a line line intersection such as this one: paulbourke.net/geometry/pointlineplane/lineline.c Point, Line, Plane (paulbourke.net)
  13. 1 point
    Hi, There are more than 1 intersection in this case. Do you require the intersected lines form 90 degrees? But even then, there are infinite number of intersections that would revolve around the vector defined by your 2 points.
  14. 1 point
  15. 1 point
    Hi, Clip SOP is a compiled SOP so you can't dive inside. For your use case I would actually store P as rest, apply the mountain to the input geometry before clipping and then reset P back to rest.
  16. 1 point
    Update, I spent some hours more on the generator and I came up with some interesting results. I consider these to be pretty close to what I aimed but I do feel there's still room to improve. I followed this process ( https://www.youtube.com/watch?v=2oC9TOgQ3KE ) with point vops and went through different kind of noise iterations. Suggestion for improvement are welcomed! These are rendered in blender w octane, the look is a bit different from the suer polished one that I posted as reference, but the structure I followed is the same
  17. 1 point
    Check this technique https://pepefx.blogspot.com/2016/04/cigarette-smoke.html
  18. 1 point
    Thanks, Ryew. He does have a method in that last video using a for-each loop running over all the selected primitives. But it seemed a bit complicated. Was able to chat with Mark Tucker at SideFX who suggested a simpler method. For anyone else looking, the trick is to make sure in the instancer that you are using "instanceable reference (or inherit or specialize depending on your needs)" instead of the point instancer. And your reference (with variants) needs to be the top level prim that you are feeding in for instanceing. Then you could write a bit of vex (for instance): string variants_mtl[] = usd_variants(0, "/instancer1/Instance0", "mtl"); int random = @elemnum%3; usd_setvariantselection(0, @primpath, "mtl", variants_mtl[random]); Or you can append a set variant LOP and use @prim%3 in the "variant name index" box. It's a little confusing why @prim doesn't work in the wrangle, but that's how I got it to work. You take a slight performance hit by not using the point instancer, but it's a useful tradeoff in some situations.
  19. 1 point
    the primitive VOP can be used for any purposes involving creating/modifying attributes for primitives. I made a quick setup to show how you can use the primitive VOP to randomise an extrusion, I've added some notes inside to explain further. Hope it helps! random_extrusion.hipnc
  20. 1 point
    This looks like a bit of a bug with Boolean not handling coincident planes very well.
  21. 1 point
    I think the orientation is actually working correctly but if you do a cracktransform on that matrix you'll see that it has a negative scale Attached is a test scene that hopefully explains orient_problem.hiplc
  22. 1 point
    change box to polygon-mesh not Mesh ..Definitely this is the Case in your Ex @archz2 , use periodic Worley Noise, look like its a BUG.hm
  23. 1 point
    Hi Masoud, If you have large amounts of floating objects, I would agree with HM_2020 and use Pop Float By Volumes DOP. I used it in this project to get the trash pieces to float and it works really well. But you don't get any interaction unfortunately.
  24. 1 point
    Hi, You can update your edge groups automatically using VEX (Detail Wrangle), but you will pay performance penalty for very high res geometry that has very large edge groups: string edgegroups [ ] = split ( chs("edgegroups"), " " ); foreach ( string edgegroup; edgegroups ) { int pts [ ] = expandedgegroup ( 1, edgegroup ); int count = len ( pts ); for ( int i = 0; i < count; i += 2 ) { int pt0 = pts [ i ]; int pt1 = pts [ i + 1 ]; int pts0 [ ] = neighbours ( 0, pt0 ); int pts1 [ ] = neighbours ( 0, pt1 ); int sharedpt = -1; foreach ( int pt; pts0 ) { if ( find ( pts1, pt ) >= 0 ) { sharedpt = pt; break; } } if ( sharedpt != -1 ) { setedgegroup ( 0, edgegroup, pt0, sharedpt, 1 ); setedgegroup ( 0, edgegroup, pt1, sharedpt, 1 ); } } } Edge group expression: `edgegrouplist(-1)` If you need multiple levels of subdivision, you need to encapsulate the Subdivide and Attribute Wrangle inside a For Each Loop network, as the edges have to be updated at each subdivision. Alternatively you can change the VEX code to walk the edges instead, then it would handle any edge group regardless of the subdivision levels difference between 2 geometries.
  25. 1 point
    I think due to XPU Beta limitations, rasterizing particles to a volume in SOPs and then render that volume is the only option at the present moment. https://www.sidefx.com/docs/houdini/solaris/karma_xpu.html#features
  26. 1 point
    Try assigning a Karma Volume VOP to the particles.
  27. 1 point
    is because the find shortest path is killing the attributes needed by the attrib interpolate so just use the attrib transfer them after the find shortest path node.
  28. 1 point
    It worked, thank you, now all I have to do is stop tracking when it reaches the distance I set.
  29. 1 point
    Yes. Over-brights (values over 1.0) are very common in lighting. Especially in scenes with a single very bright light source (daylight exteriors for example). Generally you want them (they mimic realistic exposure values) and you want to protect them throughout rendering and compositing so that things you do later in compositing behave naturally. They only become an issue at the end of the finishing pipeline when you have to decide how to map your image to a particular colorspace and format which will have a limited range. At that point you'll hear people talking about rolling off the highlights (using a exposure curve smoothly map the overbrights toward the upper limit of the format, which we perceive as white) and clipping (the point at which highlight information is cut off and simply mapped as the upper limit of the format). If you want to do a deep dive into lighting and CG cinematography, Chris Brejon has a great online resource: https://chrisbrejon.com/cg-cinematography/
  30. 1 point
    Hi Vince i hope you have great hollidays my friend, and thanks for sharing your detail pov about USD. There are points where i agree with you and other where i am not. like i said : - ability to exchange assets between DCC's is a good idea. - layering the work of all departement is also a good idea when you have big team of artist. But those advantage come at a price, the price of a very complex scene description language, that imply a specific and time consuming way of working, that will only be rewarded if you are inside of a certain spectrum of CG production. I have the belief that people in an other part of the spectrum will only loose time and flexibility by going the USD way. With solaris you can create complex light rigs , infinite versioning etc .... but you also have a LOT of workflow methodology to follow to be able to do so. And that methodology cost you time, and thus money. And if you are not working on big show where at least 100 artists are at work together to create at least 200 shots, i am not sure you will get the reward in efficiency that you have expected when working with solaris/usd. My point is that pre solaris we had mantra, now that karma has arrive mantra will be very soon stoped and thus legacy. So now karma is the way. But karma is solaris/usd exclusive. so for those who don't want to use USD, we don't have any default render engine. For me the fact that sesi push us to do layout / rendering with .USD is not a good thing. because again the complexity and the price to pay to get the benefit is on a Katana level of production. Sure you can do Marvel or Pixar movie in Katana. But using Katana to do some dirty commercials or motion design animation or even layout a sets for a low sepc game or a AAA game is a non sense. But when using solaris to do so i have this feeling of using the wrong tool to solve a simple problem who don't need such a high level of complexity. My point is that the beauty is to have choice ! - you can use Solaris / USD if you work on the spectrum of production that will reward his complexity. - But you can also have the choice to bypass it to stick to . GLTF only or .FBX or .ABC only if you prefer to. I would really prefer to stick in SOP for my scattering / level design task, then if i need to i could then conform and import them in a USD workflow. I have no problem if people think it is a better idea to layout directly in USD, but at least i would like that the set of layout tools in SOP stay on par with Solaris. Cheers E
  31. 1 point
    Asia . curlClothSrle.hipnc crimp.v001Srle.hipnc
  32. 1 point
    @kleer001 Alessandro Nardini alexnardini.net/flame-home/ https://github.com/alexnardini/FLAM3_for_SideFX_Houdini
  33. 1 point
    I recently needed to render some particles in Houdini to use in an After Effects project. When I rendered the results, I was disappointed the colors did not match the brand I was working with. After a lot of experimentation, I came up with a work flow to maintain brand accurate colors using Karma XPU. karma_XPU_brand_accurate_textures.zip Make sure to set the file color space on the mtlxUsdUVTexture node to srgb_texture. This setup leverages OpenColorIO for output. The input space must also be set to srgb_texture, with the output space being set to data. For a crisper alpha edge, I set the pixel filter to box and dropped the filter size to 1. These sprites are stacked on top of one another. To prevent upper layer sprites from casting shadows on the others, you can use Simplified Shading. This is a quick way to render a beauty pass minus the shadows. If you render to MPlay to spot-check your results, make sure to disable ACES color correction. There is no need for it because OCIO has already been applied to the output.
  34. 1 point
    Asia . humertrack_a01Velsmok.hiplc
  35. 1 point
    a tip, there's a github from sidefx labs containing examples: https://github.com/sideeffects/SideFXLabs/tree/Development/hip
  36. 1 point
    Inside the SOP solver again, you can append a connectivity node so each sphere has a unique class attribute, then use that class attribute to create a random value that would be assigned as the "@maxRestScale", then in DOPs add an if statement to make sure the incrementing stops (as in the rest length scale stops increasing) once rest length scale exceeds the "@maxRestScale". emitting_vellum_restscale.hiplc
  37. 1 point
    We have a default biped, actually a few. What about the same for vehicles? A default, car character/rig, and semi-truck with a trailer. Use those new vehicle assets in a self tool for the Crowd simulator that demonstrates traffic, lanes, and stop-lights.
  38. 1 point
    So the solution is the good old stylesheet. -- First edit the parameter interface on the RS material builder VOP and drag the filename field from the texture node inside the VOP into the interface, effectively promoting that file path field so it is exposed on the VOP. -- Then add a new stylesheet and style to your object -- Add a target: point instances -- Add a condition: Point name or path attribbute: value=* -- Add an override: Set material type=Material override path=/mat/path_to_your_shader_VOP -- Add an override script: type=Material Parameter Override name=the name of the parameter you promoted above (tex0 by default) Override type=Attribute binding Value=myFilePath Then add an attribCreate node to your SOP chain for the packed objects Make a string attribute myFilePath and set it to whatever file path you want complete with any expressions to offset the frame numbers per point instance. For instance: /path/to/my/image/sequence/myImgSeq.`padzero(4, $F + ($PT*10))`.exr Offsets each instance by 10 frames.
  39. 1 point
    Things that would make life easier: 1. Reorder multiparam blocks (like this) 2. Bezier curves on ramps 3. VEX multi-dimensional arrays (arrays of arrays...) 4. Solaris network snapshot gallery in SOPS 5. Upgrade COPS so that Houdini can compete with Substance Designer... 6. Destructive modelling suite 7. Fix Touch Designer integration
  40. 1 point
    my only wish every-day- .... and -version .cheers
  41. 1 point
    Yeah, definitely use .rs instead of bgeo if you want to do the instancing at rendertime. (use the redshift proxy rop). I attached an old example of doing it this way, should still work. (FYI the redshift tab may not have all the latest updates though since I created this a while ago) Alternatively, I find it easier to do instancing with redshift using the packed prim workflow with the copy to points sop. Create i@variant on both sides of the copy, so no stamping is needed. Turn on "piece attribute" in copy node Turn on "pack and instance" in the copy node Up at /obj level, on the geometry object you're going to render, which contains the packed prims: Redshift Tab > instancing > tick on "instance SOP level packed prims" rs_proxy_instance.hiplc
  42. 1 point
    Hi Carlos, As far as I remember this geometrical model assumes infinite waves. However, for practical reasons it's good to have it disappearing. I've made updated version, check "Max Distance" parameter. ssh_kelvin_wake_v02.hipnc
  43. 1 point
    Genius!! Thank you all so much for looking into it, I had a feeling this would be something trivial like this... I'll post a scene when I got it looking nice:) Have a great long weekend!
  44. 1 point
    create justborn group from replicate to know which points were born at any frame then just copy your prepared vellum sphere to only those points and unlock Vellum Solver to set Emission Type to Continuous on vellumsource1 od_vellum_splash_mod.hip
  45. 1 point
    VEX is very simple, it's like basic C. No need to spend years to master it. Try @mestela's wiki. Help has a good basic reference too. I would recreate examples for 5-6 weeks, and gain critical mass of basic knowledge, before trying to make something I personally wish. I suppose you are talking about this snippet: vector near = point(1, "P", nearpoint(1, @P)); vector delta = @P - near; delta = normalize(delta); @v = cross(@N, delta); @v += fit01(vector(noise(@P * 25)), -1, 1); "delta" is a common variable name for things like difference between two positions. Here it will output radial directions from points towards scattered centers. cross() function outputs vector perpendicular to both arguments. It is commonly used to compute transform matrices or just to get something perpendicular. Here it redirects deltas to be concentric. Fit functions (there are fit and shortcuts fit01, fit10, fit11) remap values from old range to the newer range. I computed pretty frequent vector noise. Therefore noise's "xyz" argument was multiplied by 25, which is same as using any VOP noise and set it's frequency to 25. The noise return positive values within 0..1 range, it is not suitable for randomizing vectors in all directions. So it need to be mapped to -1..1. This allow to get random evenly distributed direction. Then I randomized velocity using resulting noise. For debugging, you should output variables to attributes and visualize them. Older and simplest way is to visualise with @Cd and @N. I usually create visualizers using gear menu at Parameters pane, it allows to quickly setup visualizer to the current node.
  46. 1 point
    You should be able to do this inside a pointVOP or an attribVOP. Pipe in your non-point deformed geo in the first input and point-deformed geo in the second input. Inside the point/attribVOP you can use a mix node with the "bias" set to some attribute of the input geo which can smoothly interpolate between the point-deformed and non-point-deformed geo.
  47. 1 point
    not sure if more compact, but at least more correct for x range outside of 0-1 threshold2.hiplc
  48. 1 point
    Basic: // Primitive wrangle. int pts[] = primpoints(0, @primnum); vector rest = point(0, "P", pts[0]); vector prev_pos = rest; matrix3 frame = ident(); for (int i = 0; i < len(pts); i++) { vector pos = point(0, "P", pts[i]); rotate(frame, 0.1, {0, 0, 1}); vector new_pos = (pos - rest) * frame + prev_pos; rest = pos; prev_pos = new_pos; setpointattrib(0, "P", pts[i], new_pos); } Advanced: // Primitive wrangle. #define TWO_PI 6.2831852 addpointattrib(0, "N", {0, 0, 0}); int pts[] = primpoints(0, @primnum); int npt = len(pts); // Loop variables. vector rest = point(0, "P", pts[0]); vector prev_pos = rest; matrix3 frame = ident(); for (int i = 0; i < npt; i++) { vector pos = point(0, "P", pts[i]); vector delta = pos - rest; rest = pos; // Make normal. Point normals could be used instead. vector normal = normalize(cross(cross({0, 1, 0}, delta), delta)); if (length(normal) == 0) { normal = {0, 0, 1}; } // Drive a shape with ramps and multipliers. vector axis; float ramp, angle; // Twist the bend axis. axis = normalize(delta); ramp = chramp("twist_profile", (float) i / npt); angle = fit01(ramp, -TWO_PI, TWO_PI) * ch("twist") / (npt - 1); rotate(frame, angle, axis); // Bend the curve. axis = normalize(cross(normal, delta)); ramp = chramp("bend_profile", (float) i / npt); angle = fit01(ramp, -TWO_PI, TWO_PI) * ch("bend") / (npt - 1); rotate(frame, angle, axis); // Compute new position and normal. vector new_pos = delta * frame + prev_pos; prev_pos = new_pos; setpointattrib(0, "P", pts[i], new_pos); setpointattrib(0, "N", pts[i], normal * frame); } curl.hipnc
  49. 1 point
    hou.pwd() will return the location in which the new node will be a child of. In the OnCreated handler you can get the new node using the kwargs dictionary : node = kwargs["node"]
  50. 1 point
    Wow, this is turning into a watercooling thread Anyway, this is my setup for adding some details to an explosion (or to some volcano smoke): volcano_001.zip Quite simple, as Peter explained. Just think about hot ashes in volcano smoke, with cold air around. Those hot ashes makes the air expand (positive divergence). That gives you the basic expansion and rolling motion, that you can break up with vorticles. let me know if you have any question. have fun
×