Jump to content

Leaderboard


Popular Content

Showing most liked content since 12/25/2018 in all areas

  1. 18 points
    I thought it fitting to post this here too ;). For better or worse, I'm launching a vfx and animation studio at the end of the week. Some of you may recognize some of the name (if you squint and look at it just right). http://theodstudios.com
  2. 15 points
    Hi everyone, Herer's a little personal project I did over the last year. No keyframes where used for the animation. Each movement is generated through physical simulation or procedural noise. The Bananas and Pears are done in H16.5 using CHOPs controlled Bones and then fed into a FEM simulation. All the other fruits are done using H17 and Vellum. ÖBST: "How would fruits move if they could?" Hope you like it.
  3. 11 points
    nature.hipnc just to say hello and share some stuffs. /cnc_verkstad/ Tesan Srdjan
  4. 9 points
    A lot of people asked me to share this fake fire method.If you interested it, you can will check this simple hip. After rander i used ACES for a better look. fake_fire_rnd.hip
  5. 9 points
    what if the self buttons were creating DOP setups inside one SOP network instead of having a Geometry node, a DOP network for simulation and another Geometry node to import the data and save to disk. It makes much more sense to see the data flow from top to bottom in one network without having to jump to different levels for no reason. maybe it's just me... grains.hipnc
  6. 8 points
    Hi everyone! The past week I worked on a personal project for learn something about hairs - vellum. It's my first project ever with hairs so I guess is nothing special but several people asked to see the hip file so here it is. Final result: Hip file (I had to recreate it but it should be pretty much the same): groom_clumping_03.hipnc
  7. 7 points
    I also moved all the tumblr example files I've been sharing onto my new website that you can find here. https://www.richlord.com/tools
  8. 7 points
    Article on SideFX.com: https://www.sidefx.com/community/houdini-175-launch-event/
  9. 7 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. Displaced UV Mapped Tubes Particles Break Fracture Glue Bonds Render Colorized Smoke With OpenGL Rop Moon DEM Data Creates Model Python Script Make A Belly Bounce Helicopter Dust Effect Conform Design To Surface Benjamin Button Intro Sequence UV Style Mapping UV Box and Multiple Projection Styles Ping Pong Frame Expression Instance vs. Copy (Instance Is Faster) Particle Bug Swarm Over Vertical and Horizontal Geometry Rolling Cube Rounded Plexus Style Effect Pyro Smoke UpRes Smoke Trails From Debris Align Object Along Path Fading Trail From Moving Point Swiss Cheese VDB To Polygons Get Rid Of Mushroom Shape In Pyro Sim A Tornado Ball Of Yarn Particles Erode Surface Unroll Paper Burrow Under Brick Road Non Overlapping Copies Build Wall Brick-By-Brick FLIP Fluid Thin Sheets Smoke Colored Like Image Volumetric Spotlight Moving Geometry Using VEX Matt's Galaxy Diego's Vortex Cloud Loopable Flag In Wind Eetu's Lab <--Must See! Wolverine's Claws (Fracture By Impact) Houdini To Clarisse OBJ Exporter Skrinkwrap One Mesh Over Another Differential Growth Over Surface [PYTHON]Post Process OBJ Re-Write Upon Export Rolling Clouds Ramen Noodles Basic Fracture Extrude Match Primitive Number To Point Number Grains Activate In Chunks Fracture Wooden Planks Merge Two Geometry Via Modulus Fill Font With Fluid DNA Over Model Surface VDB Morph From One Shape To Another Bend Font Along Curve Ripple Obstacle Across 3D Surface Arnold Style Light Blocker Sphere Dripping Water (cool) Exploded View Via Name Attribute VEX Get Obj Matrix Parts eetu's inflate cloth Ice Grows Over Fire Flying Bird As Particles DEM Image To Modeled Terrain Pyro Temperature Ignition Extrude Like Blender's Bevel Profile Particles Flock To And Around Obstacles BVH Carnegie Mellon Mocap Tweaker (python script) Rolling FLIP Cube Crowd Agents Follow Paths Keep Particles On Deforming Surface Particle Beam Effect Bendy Mograph Text Font Flay Technique Curly Abstract Geometry Melt Based Upon Temperature Large Ship FLIP Wake (geo driven velocity pumps) Create Holes In Geo At Point Locations Cloth Blown Apart By Wind Cloth Based Paper Confetti Denim Stitching For Fonts Model A Raspberry Crumple Piece Of Paper Instanced Forest Floor Scene FLIP pushes FEM Object Animated Crack Colorize Maya nParticles inside an Alembic Path Grows Inside Shape Steam Train Smoke From Chimney Using Buoyancy Field On RBDs In FLIP Fluid Fracture Along A Path COP Based Comet Trail eetu's Raidal FLIP Pump Drip Down Sides A Simple Tornado Point Cloud Dual Colored Smoke Grenades Particles Generate Pyro Fuel Stick RBDs To Transforming Object Convert Noise To Lines Cloth Weighs Down Wire (with snap back) Create Up Vector For Twisting Curve (i.e. loop-d-loop) VDB Gowth Effect Space Colonization Zombie L-System Vine Growth Over Trunk FLIP Fluid Erosion Of GEO Surface Vein Growth And Space Colonization Force Only Affects Particle Inside Masked Area Water Ball External Velocity Field Changes POP particle direction Bullet-Help Small Pieces Come To A Stop Lightning Around Object Effect Lightning Lies Upon Surface Of Object Fracture Reveals Object Inside Nike Triangle Shoe Effect Smoke Upres Example Julien's 2011 Volcano Rolling Pyroclastic FLIP Fluid Shape Morph (with overshoot) Object Moves Through Snow Or Mud Scene As Python Code Ramp Scale Over Time Tiggered By Effector Lattice Deforms Volume Continuous Geometric Trail Gas Enforce Boundary Mantra 2D And 3D Velocity Pass Monte Carlo Scatter Fill A Shape Crowd Seek Goal Then Stop A Bunch Of Worms Potential Field Lines Around Postive and Negative Charges Earthquake Wall Fracture Instance Animated Geometry (multiple techniques) Flip Fluid Attracted To Geometry Shape Wrap Geo Like Wrap3 Polywire or Curve Taper Number Of Points From Second Input (VEX) Bullet Custom Deformable Metal Constraint Torn Paper Edge Deflate Cube Rotate, Orient and Alignment Examples 3D Lines From 2D Image (designy) Make Curves In VEX Avalanche Smoke Effect Instant Meshes (Auto-Retopo) Duplicate Objects With VEX Polywire Lightning VEX Rotate Instances Along Curved Geometry Dual Wind RBD Leaf Blowing Automatic UV Cubic Projection (works on most shapes) RBD Scatter Over Deforming Person Mesh FLIP Through Outer Barrier To Inner Collider (collision weights) [REDSHIFT] Ground Cover Instancing Setup [REDSHIFT] Volumetric Image Based Spotlight [REDSHIFT] VEX/VOP Noise Attribute Planet [REDSHIFT] Blood Cell Blood Vessel Blood Stream [REDSHIFT] Light Volume By Material Emission Only [REDSHIFT] Python Script Images As Planes (works for Mantra Too!) [REDSHIFT] MTL To Redshift Material [REDSHIFT] Access CHOPs In Volume Material [REDSHIFT] Mesh Light Inherits Color [REDSHIFT] Color Smoke [REDSHIFT] FBX Import Helper [REDSHIFT] Terrain Instancer Height Field By Feature Dragon Smashes Complex Fractured House (wood, bricks, plaster) Controlling Animated Instances Road Through Height Field Based Terrain Tire Tread Creator For Wheels Make A Cloth Card/Sheet Follow A NULL Eye Veins Material Matt Explains Orientation Along A Curve Mesh Based Maelstrom Vortex Spiral Emit Multiple FEM Objects Over Time Pushing FEM With Pyro Spiral Motion For Wrangle Emit Dynamic Strands Pop Grains Slope, Peak and Flat Groups For Terrains Install Carnegie Mellon University BVH Mocap Into MocapBiped1 Ramp Based Taper Line Fast Velocity Smoke Emitter Flip Fill Cup Ice Cubes Float [PYTHON]Export Houdini Particles To Blender .bphys Cache Format 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 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 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 Use Google To Discover Attached HIP Files Useful Websites: Tokeru Houdini Houdini Vex Houdini Python FX Thinking iHoudini Qiita Ryoji Video Tutorials: Peter Quint Rohan Dalvi Ben Watts Design Yancy Lindquist Contained Liquids Moving Fem Thing Dent By Rigid Bodies Animating Font Profiles Guillaume Fradin's Mocap Crowd Series(no longer available) 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 SideFX Go Procedural
  10. 6 points
    More Unlimited Fun nature2 fun.hipnc
  11. 6 points
    Hi. How about computing local space per primitive instead, and then get noise position from point position in the local space? Some sort of edge based UV unwrap. // Primitive wrangle. int pts[] = primpoints(0, @primnum); // Compute averaged primitive normal from point normals computed from their neighbours. vector normals[]; foreach (int pt; pts) { vector normalized_edges[]; vector pt_pos = point(0, "P", pt); foreach (int nb; neighbours(0, pt)) { vector nb_pos = point(0, "P", nb); append(normalized_edges, normalize(pt_pos - nb_pos)); } append(normals, normalize(avg(normalized_edges))); } vector normal = normalize(avg(normals)); // Compute edge tangent. vector pt0 = point(0, "P", pts[0]); vector pt1 = point(0, "P", pts[1]); vector edge = normalize(pt0 - pt1); // Compute bitangent and orthonormalize matrix. vector perp = normalize(cross(normal, edge)); normal = normalize(cross(edge, perp)); 3@tangent_space = set(perp, normal, edge); Final deformation code: // Point wrangle. int prim; xyzdist(1, @P, prim, set(0)); matrix3 tangent_space = prim(1, "tangent_space", prim); vector pos = @P * invert(tangent_space); float deform = noise(pos * {10,1,100}) * 0.05; v@P += v@N * deform; Some image sampling could work too: tangent_space_noise.hipnc
  12. 6 points
    This operator allows you to call a collection of nodes on any data or simply no data (generators). It gives you full control over how the lambda function should be run.
  13. 6 points
    it's pretty straightforward out of the box just use v@N, v@up or p@orient on your instancing points in such a way that resulting reference frame has Y pointing in up-down direction of your ocean (so in normal direction of the ball) and X in the direction you want wind to blow in in your file, since v@N is pointing outwards and v@N defines Z axis, your ocean deforms in a tangential direction and therefore you are seeing weird deformation here is the modified file ts_ocean_on_ball.hip
  14. 5 points
    Hi all, I've made a Color Sampler asset that samples colors from an image. Colors can be sampled with points on a line, on a grid, randomly scattered points or with input points. It's also possible to sample the most frequently occurring colors. The sampled colors are stored in a color ramp which can be randomized. You can download it from https://techie.se/?p=gallery&type=houdini_assets&item_nr=6.
  15. 5 points
    Here's a music video I made using a bunch of the techniques from this thread.
  16. 5 points
    Hi, maybe this approach might work: int count = npoints(1); for (int i = 0; i < count; i++) { vector camP = point(1, "P", i); vector dir = normalize(camP - @P); float bias = 0.01; vector hit_ps[]; int hits = intersect_all(0, @P, dir * 100, hit_ps, {}, {}); if (hits && distance(@P, hit_ps[-1]) > bias) // or just check number of intersections: // if ( length(hits) >1 ) { @Cd *= 0.6; } } cull.hiplc
  17. 5 points
    This is not really on topic given the other stuff on this thread, but I made some growth awhile back, and finally got around to animating it. Attached the hip. Its not very robust, but I got what I needed out of it, so I'm calling it good. 19_03_26_animated_growth.hiplc
  18. 5 points
    Finally after two years of full stagnation I found the energy to fully revamp it using HUGO (which is freaking cool) and update with the very latest projects. Unfortunately 2 projects I have been working I am not allowed to share (yet)… one of them was 8 months of my life so I am pretty gutted but hopefully soon will be ok to say we did it. https://jordibares.com [jordibares.com] Most of it now is Houdini of course… :-)
  19. 5 points
    Hello all. I wanted to share my production library of tools I have posted on Github. Previously a lot of these were posted on Orbolt.com after my 2016 GDC talks. The tools were originally designed to be used in a HOUDINI_PATH style library as opposed to individual hdas. In this manner they can include a larger array of script based tools that don't fall in the paradigm of Orbolt. This toolset is generally complementary to the GameDev, Mops, etc toolset, there are only a few overlaps nowadays. There are two primary libraries of tools. https://github.com/LaidlawFX/LaidlawFX - This is the production library built up over the last decade of work that has been cleansed of studio specific work. This currently contains a set HDA's, a common python library, shelf tools, and example files on how to used the .hdas. Some fun tools in here are an Ivy Generator inspired by Thomas Luft Ivy generator http://graphics.uni-konstanz.de/~luft/ivy_generator/ . File Cache nodes that have been tested on over a dozen productions. RBD to FBX extractors, and an array of ROP tools. Also a module of python code that includes a few sub-modules such as verbosity logging, multiple hda queuing, fbx exporting, file explorer opening, and the large set of options for file caching. Additionally it contains shelf scripts so that you no longer need to use the Material Library, you can just tab and use the shaders like normal nodes. https://github.com/LaidlawFX/HoudiniEngineDev - This is over one hundred hda's to test Houdini Engine implementations in different DCC's and game engine. Each of them test a simple principle from UI parameters to different geometry types and more. Hope they help you at some point. Feel free to branch or leave comments here and I can update the source. Thanks, -Ben
  20. 5 points
    For anyone that is interested: here is a tutorial on the best method I found to get nice motion. I figured I would post this since I still get messaged about this thread. https://youtu.be/DLSmz9HOKlE
  21. 5 points
    Hey guys I interviewed Manuel Tausch (FX TD/co founder of Stormborn Studios) for FX World. The interview went live today. Here's the link! http://fxworld.tv/interview-with-manuel-tausch-pt-1/
  22. 5 points
    Hi, Just posting some of my recent art. Most of it is houdini. Some is a mix of Houdini, Daz and Marvelous Designer. If you see a character, that's definitely from Daz. Everything is rendered in Octane. regards Rohan
  23. 4 points
    Because the three values defines an imaginary line going from 0,0,0 to the position in space described by the 3 values. That point can be far away or i can be close to 0,0,0. This way the 3 values are able to define both a direction and a length. -b
  24. 4 points
    again, not for groups, but if you create primitive string attribute on your geo you can use stylesheets to override cryptomatte property 1. create primitive string attribute that holds your "id" value or unique name (or just convert your groups to name attrib) (in this case I created unique s@name attrib per box) 2. create property on your object (in this case I called it: masks) 3. create stylesheets override for Primitives with Override Script that uses name attribute binding to override your cryptomatte property example file: ts_cryptomatte_from_attribute.hip
  25. 4 points
    "Organics" Houdini 17.5 & Redshift Cheers, Tom
  26. 4 points
    Another version of the same system. Heres the hip. Its a bit bigger because I stashed the growth geo. 19_03_28_green_growth.hiplc
  27. 4 points
    Unwrap the mesh (right) before deformation (left): Assign zigzag UVs to the curve (right) and transfer positions from the mesh based on both UVs (left): spiral_mesh.hipnc
  28. 4 points
    Hey Howard! Sorry about that! Here is the scene, I polyreduced a bit one of the frames of the sim to have a less heavy file to share! By the way, that mesh still has a freeSurface attribute; So you can use that gradient for nice shading effects. I forgot to say that this scene uses Redshift. v2.6.32; H17.459. Cheers! Alejandro FLIP_crown_v005_share.hip
  29. 4 points
    sup bb I'm not sure how you could do this without a solver, since it's accumulating rotation over time based on the speed and direction of motion each frame. I could be all kinds of wrong, though. Here's my method... I'm using the distance traveled and a vector orthogonal to the direction of travel to build an angle/axis quaternion, and adding (qmultiplying) that quaternion to the existing orient for each timestep. It's not perfect but it seems to work pretty well. Since it's basing the rotation angle on cross(dir, up), it might freak out if the ball rolls straight down. Curious if any smart people have a better answer for that. AutoRoll01_toadstorm.hip
  30. 4 points
    Here's an idea : ) fyrework_shapes_johnkunz.v1.hipnc
  31. 4 points
    Hey all, here's a shot I've been working on! Speed Tree, Houdini and Redshift. Have a good one
  32. 4 points
  33. 4 points
    Hard to say witch one is best, both needs some fiddeling. Wire solver isnt that good to interact with other solvers, same goes with vellum. Heres a basic setup comparing them. wire_vs_vellum_01.hip Vellum is blue and wire is red
  34. 4 points
    sticky pillows....ewl.... vu_vellumstickyballs2.hiplc
  35. 4 points
    Here is a concept for turning blueprints into simple 3d meshes. Its basically carving silhouettes into a volume. After getting the aspect ratio for defining the volume´s dimensions ... res_front = hou.imageResolution(img_front) res_side = hou.imageResolution(img_side) res_top = hou.imageResolution(img_top) ratio_side = res_side[1] / float(res_side[0]) ratio_top = res_top[1] / float(res_top[0]) geo.addAttrib(hou.attribType.Global, 'ratio_s', ratio_side, create_local_variable=False) geo.addAttrib(hou.attribType.Global, 'ratio_t', ratio_top, create_local_variable=False) ... a wrangle is carving the silhouettes into the volume from all three sides: vector bbox = relbbox(0, v@P); float mask_front = vector(colormap(image_front, bbox.x, bbox.y)).x; float mask_side = vector(colormap(image_side, bbox.z, bbox.y)).x; float mask_top = vector(colormap(image_top, bbox.x, bbox.z)).x; f@density = min(mask_front, mask_side, mask_top); The rest is a matter of converting to polygons, smoothing and remeshing. blueprint_to_geo.hiplc blueprints.zip
  36. 3 points
    I've uploaded a tutorial video to generate maze on any given polygonal mesh.
  37. 3 points
  38. 3 points
    I use a wacom pen since the Windows 3.1/95 days when the tablet (called a "digitizer" back then) was huge (UD 1212 I think it was called, 12" x 12"), thick and clumsy as hell, the serial port a pita to set up and the driver was able to grind everything else to a halt when one moved it around quickly enough on those early PCs... ;-) These days I have an Intuos 4 Medium. But yeah, no wrist or other problems at all, the pen really makes a difference and is much more natural and agile. With the middle click on the second side button of the pen, I am using the mouse almost never, only in some weird software that doesn't deal well with the pen and shoots parameters through the roof when dragging a slider etc.. Not so many around of those anymore though. For me using the pen never was an issue and it came naturally. But I know that for some people it does not click. I think it partly has to do with the pasture, I hold the pen relatively upright with the index finger on the sidebutton. This way, when clicking with the tip, the pen does not slide. I also have the tablet in front of me and the keyboard behind it, which works very well for me. One also has to get comfortable with zooming with the available shortcuts instead of the mouse wheel, since reaching for that scroll-wheel thingy on the tablet is cumbersome. And yeah, some things don't work so well, depending on the software. Like I always use the Tab key to open the node menu instead of the right mouseclick, since Houdini is overly sensitive to the slightest movement while clicking and one always moves a tiny bit when using the side button. But that doesn't really bother me, I find a mouse much more clumsy in many other ways. Especially the direct positioning of the pointer to an absolute position is so much more muscle-memory friendly than the mouse shuffling. Those alternative monster-mouse things didn't really convince me, even if they are supposed to be better for the hand - it's still moving around a brick... ;-) I highly recommend finding solutions for the things that bother you with the pen, different settings, different pasture, different pens, tablet keys on the left or right, a different size tablet even. It's really worth it IMO. Cheers, Tom Edit: And make sure you disable the frigging "Windows Ink" crap in the wacom driver, otherwise everything reacts like goo... ;-)
  39. 3 points
    You can adjust 'paper' quality in Cloth... vu_VellumTickets.hiplc
  40. 3 points
    An even smoother result can also be reached by simply using the deltamush node. You can multiply the strength of this effect by this: vector delta = point(1, 'P', @ptnum) - v@P; v@P += delta * chf('strength'); surface_deltamush.hiplc
  41. 3 points
    If you're interested, be sure to check out the course right here: http://bit.ly/2tEhWFN L-systems offer a great way of procedurally modeling geometry, and with these skills, you'll be able to create a wide variety of complex objects. If you've ever wanted to create foliage, complex fractal geometry, or spline-based models from scratch, then L-systems offers you a procedural way of doing so. Unlike many other tutorials, this course aims to address the topic in an easy-to-follow, technical, and artistic way. In addition to L-systems, you'll learn more about instancing and how to work efficiently with Houdini. We'll be rendering out millions of polygons with both Mantra and Redshift while aiming to optimize render times as much as possible. These optimizations are applicable across a wide variety of 3D topics. Large scale environment creation, destruction, crowds, and real-time render engines are all examples of other 3D topics which will benefit from this course. Thank you for watching!
  42. 3 points
    If you need a growth solver you want to customize feel free to use this one of mine. It's vexed based so you'll be able to modify easily, and it's extremely quick. https://github.com/LaidlawFX/LaidlawFX/blob/master/otls/LaidlawFX.sop_ivygenerator_1.0.hda
  43. 3 points
    DM 1.5 first screenshot: https://i.postimg.cc/rcy3KY3v/dm1-5-screen.png
  44. 3 points
    Hi Adam, Akira Saito has probably voronoi-fractured the shell and minimized each surface. Reminds me of what BMW has concepted with 'GINA' or of a Zeppelin for that matter. Here is an exemplary workflow: fracture_smooth.hiplc
  45. 3 points
  46. 3 points
    Hey there! Trying to be more active. Here's a WIP of a project I did for Peter Claes's Houdini class. Such a cool technique to play around with. Struggled a ton, and have lot of extra RnD elements that got gutted haha. But I learned a lot. Have to Re-Render, have some slime / rivulets for the eggs in the next render, which I have been struggling with. Initially was flip but switched to something simpler and less heavy.. Had issues transferring V for motion blur due to changing pt numbers but I'm sure someone probably could figure it out! Wanted to add one of the eggs exploding. but stretched thin on time. Will do another rnd for it. Will re-render without motion blur I think. Someone had idea of adding veins, like a neural network that activate and reveal. but I failed at that for texturing lol. I think I could brute force it with geometry to replicate it but that just seems wrong. Also I keep running into Lights inside Volumes on my projects.. makes clearing up noise pretty miserable! Will return to this project after school and expand on it.
  47. 3 points
    Indeed! quite a production, yes it will be a mix of mapping, leds and some lights that create shapes (not sure how to explain but they are like arrays that make a lot of long lasers wich create some sort of hologram) Here are some tests from today, first ones are super crapy but I want to give some options to the client with chops (still trying to figure out how to chop your setup ), I also tried some grains on the particles, flip modules, and optical flow (client asked me if we can drive the animations with a texture from AE, maybe they will be making stuff ritm with sound keys or something) AG_011_Drops_RD_02_Low.mp4 Sorry for the poor quality Cheers!
  48. 3 points
    Gifstorm! First I've used a visualizer sop to show @v coming out of the trail sop: That makes sense so far. To make the next step easier to understand, I've shrunk the face that sits along +Z, and coloured the +Y face green, +X red, +Z blue. So, that done, here's that cube copied onto the points, with the v arrows overlaid too: The copied shapes are following the velocity arrows, but they're a bit poppy and unstable. So why are they following, and why are they unstable? The copy sop looks for various attributes to control the copied shapes, @v is one of them. If found, it will align the +Z of the shape down the @v vector. Unfortunately what it does if it has only @v is a little undefined; the shapes can spin on the @v axis when they get near certain critical angles, which is what causes the popping and spinning. To help the copy sop know where it should aim the +Y axis, you can add another attribute, @up. I've added a point wrangle before the trail, with the code @up = {0,1,0}; ie, along the worldspace Y axis: you can see all the green faces now try and stay facing up as much as they can (note the view axis in the lower left corner), but there's still some popping when the velocity scales to 0, then heads in the other direction. Not much you can do about that really, apart from try some other values for @up, see if they hide the problem a little better. What if we set @up to always point away from the origin? Because the circle is modelled at the origin, we can be lazy and set @up from @P (ie, draw a line from {0,0,0} to @P for each point, that's a vector that points away from the origin): Yep, all the green faces point away from the center, but there's still popping when @v scales down to 0 when the points change direction. Oh well. Maybe we can venture into silly territory? How about we measure the speed of v, and use it to blend to the @up direction when @v gets close to 0? Better! Still a bit poppy, but an improvement. Here's the scene with that last setup: vel_align_example.hipnc To answer the other key words in your topic title, I mentioned earlier that the copy sop looks for attributes, obviously @v and @up as we've used here, but if it finds others, they'll take priority. Eg, @N overrides @v. @N is still just a single vector like @v, so it too doesn't totally describe how to orient the shapes. You could bypass the trail and the wrangle so that there's no @v or @up, set @N to {0,1,0}, and all the shapes will point their blue face towards the top. Without any other guidance, it will point the red side of the shapes down +X. If you give it @N and @up, then it knows where point the green side, and you get a well defined orientation. While using 2 attributes to define rotation is perfectly valid, there are other options. The one that trumps all others is @orient. It's a single attribute, which is nice, and its party trick is that it defines orientation without ambiguity, using a 4 value vector. The downside is quaternions aren't easy to understand, but you don't really need to understand the maths behind it per-se, just understand what it represents. The simplest way is to think of it as @N and @up, but glommed into a single attribute. Another way is to think of it as a 3x3 matrix (which can be used to store rotation and scale), but isolated to just the rotation bits, so it only needs 4 values rather than 9 values. In houdini, you rarely, if ever, pluck quaternion values out of thin air. You normally generate what you need via other means, then at the last minute convert to quaternion. Lots of different ways to do this, coming up with ever funkier smug ways to generate them in 1 or 2 lines of vex is something I'm still learning from funkier smug-ier co-workers. Eg, we could take our fiddled @v, and convert it to a quaternion: @orient = dihedral({0,0,1} ,@v); What that's doing is taking the +Z axis of our shape-to-be-copied, and working out the quaternion to make it align to @v. You could then insert an attrib delete before the copy, remove @N, @v, @up, and now just with the single @orient, all the shapes rotate as you'd expect. vel_align_example_orient.hipnc
  49. 3 points
    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
  50. 3 points
    I promised, that i will publish some source files and here they are. Inside you can find some network from demovideo, from pre work to render. All assets are unlocked(i used its for git), don't pay attention to that. Happy x-mas. Tree_generator_demoscene_unlocked.hipnc
×