Jump to content


Popular Content

Showing most liked content since 04/25/2020 in all areas

  1. 6 points
    I built a non-linear editor/clip mixer for Houdini. On pre-sale right now (PC only, while I continue to work on the Mac version). It's great for bringing in a bunch of different FBX mocap files and mixing and blending them together with a graphical interface. https://gum.co/houdiniClipMixer
  2. 5 points
    Hi folks, I am actually coding some basic operators like divergence, gradient in vex and python to demistify them and wanted to share the file with you. Feel free to update or correct the file since i might not be sure of some operators. it contains : - Divergence (voxel and points) - Gradient (voxel and points) - Curl (voxel) : the curl seems to not have the same order as vdb curl so still in wip - Laplacian (voxel) : The computed laplacian is somehow less precise than vdb laplacian - Covariance matrix and eigen vectors (points) : It works but the scale is normalize - Laplacian matrix of a mesh (python) - Bernstein polynomials basic_operators_001.hiplc
  3. 4 points
    Added dandelion flowers and seeds. I'm very happy with the results
  4. 4 points
    In case you were expecting real trees ; ), here is a concept on creating networks for neural surfaces in nature such as leafs, barks, bushes and trees. The cost attribute of the shortest path node can be used for scaling sweeps, animating growth, texturing, scattering objects and so on. nature_paths.hipnc
  5. 4 points
    POP Attract is unfortunately of pretty limited utility in a lot of situations. It does have a mode to attract to specific points or parametric locations on geometry (similar to the Creep SOP). You just need to provide the goal points to attract to. Scattering a number of points onto the goal sphere equal to your number of particles and giving them an i@id attribute to match with is an easy way to do this. You'll just have to deal with carefully fine-tuning your forces, because POP Attract only modifies the v@force attribute so there will be overshoot. If you want more control, it's not too hard to define the goal yourself in a POP Wrangle and bind it to some other attribute, such as the v@targetv wind force attribute. The VEX is pretty straightforward: // get matching goal point by id int match = idtopoint(1, i@id); // get vector to goal point vector goal = point(1, "P", match); // set targetv (wind force) to move towards goal. // targetv and airresist are the attributes generated by pop wind. vector targetv = (goal - @P) * ch("force_scale"); v@targetv = targetv; f@airresist = ch("air_resistance"); Those two attributes being bound at the end there are special attributes that the POP Wind DOP generates. The POP Solver uses these to define a target velocity and a bias for mixing with other wind forces. This lets you much more directly influence particle behavior. I'm attaching an example of both methods. pop_goal_methods.hiplc
  6. 4 points
    Guess I got tempted and quickly modeled the whole thing.. : ) The entire procedure is based on a main grid, so there's no need to define positions with long-winded parameter expressions and channel references. The tank is simply a swept line with caps activated using the new, extremely flexible sweep node. UVs can be randomly shifted for each primitive row. For the vertical support elements the grid points were lifted up and ray'd down onto the tanks to shape backbone curves for a profile made from a grid. To build the stairs, horizontal lines were UV-projected on the main grids primitives that aren't facing upwards and were swept to shape the steps. To avoid corners of the hand rail, supports were offset by sampling intrinsic U positions on the guide curve which again stems from the main grid. The hexagon grid is done by voronoi fracturing a primitive with points from volume set to tetrahedral off of a grid. The frames are extrusions and sweeps. The sand piles are jittered and remeshed circles, displaced by noise with decreasing amplitude towards their original curves using distance from geometry. To avoid intersecting with the existing geometry, the crates' copy-to-points were distributed within a two-dimensional voxel field along with the scatter node. industrial_staircase.hipnc
  7. 3 points
    Hi, I started working on a grass pack that I'll put on Gumroad. I'm off to a good start I think. Even with just one blade of grass instanced it's already looking pretty good Wout
  8. 3 points
    New video blog post! Time indoors has lead to A VERY detailed step-by-step video on how to set up Houdini Engine and Unreal Engine on Linux, including obtaining source, licensing, compiling and installing. http://eyevex.com 40 Minutes of excitement guaranteed (|;-D>
  9. 3 points
    I just sketched out another flower. While it's not wrapping like a rose, I think the modeling procedure might be interesting to some. flower_stylized.hipnc
  10. 3 points
    I have used this setup on a number of projects and thought I would share. Basically, it is a simple setup that uses the wire deformer and hair system to animate geometry. I used to do this all the time back in Maya using Shave and a haircut, and was surprised that there isn't a more straightforward method to do this kind of effect in Houdini. This is especially useful when you need to add flowers or other kinds of detailed grass to an existing grassy field that has wind blowing through it. grass_example.hip
  11. 3 points
    Matt Estela did a write-up in his LOPS tutorial on why LOPS/USD might be interesting even if you aren't a big studio. http://www.tokeru.com/cgwiki/index.php?title=HoudiniLops#Musings
  12. 3 points
    I have put together a short video on on how to setup a wand battle.
  13. 3 points
    Houdini's pyro shelf tools create 3 nodes on /obj/ level. I really hate that and got tired of copy+paste+renaming nodes... I wrote a simple shelf tool python script to fix that. It works for PyoFX and Sparse PyoFX shelf tools. hope someone finds it useful and if anyone can improve that script or make it more generic, please post it here... import re # move dopnet to SOPs def dopnet2sop(): # find first dopnet (assuming there's only one) # replace relative external paths to absolute paths dopnet=hou.nodeType("Object/dopnet").instances()[0] sourceNode='' for dopnode in dopnet.children(): for parm in dopnode.parms(): nodepath=parm.evalAsNode() if nodepath!=None and len(nodepath.path().split(dopnet.path()))==1: # convert to absolute path path = parm.evalAsNode().path() parm.set(path) # find the pyro source's path if dopnode.type().name()=='volumesource': sourceNode=hou.node(path) sopDopnet = sourceNode.parent().createNode("dopnet") pos = sourceNode.position() sopDopnet.setPosition((pos[0],pos[1]-1)) hou.copyNodesTo(dopnet.children(),sopDopnet) dopnet.destroy() return sopDopnet # set dopnet as reference in dopnode's path def fixdopio(dopnet): di=None for dopio in hou.nodeType("Sop/dopio").instances(): dp=dopio.evalParm("doppath") dn=dopio.evalParm("dopnode") r = '`chsop("doppath")`' a = re.sub(dp,r,dn) dopio.parm("dopnode").set(a) dopio.parm("doppath").set(dopnet.path()) di=dopio return di # move import nodes to SOPs def moveDopioNodes(sopDopnet,dopio): dopIoParent=dopio.parent() # find highest node on y axis x=0 y=0 for i in dopIoParent.children(): pos=i.position() x=min(x,pos[0]) y=max(y,pos[1]) ioNodes=hou.copyNodesTo(dopIoParent.children(),sopDopnet.parent()) diffx=x-sopDopnet.position()[0] diffy=y-sopDopnet.position()[1] for ioNode in ioNodes: pos = ioNode.position() ioNode.setPosition((pos[0]-diffx,pos[1]-diffy-1)) dopIoParent.destroy() # remove unused Output dop nodes def removeUnusedOutputnodes(): for out in hou.nodeType("Dop/output").instances(): if len(out.inputs())==0: out.destroy() # move dopnet and dopio to SOPs hou.setUpdateMode(hou.updateMode.Manual) sopDopnet=dopnet2sop() dopio=fixdopio(sopDopnet) moveDopioNodes(sopDopnet,dopio) removeUnusedOutputnodes() hou.setUpdateMode(hou.updateMode.OnMouseUp)
  14. 3 points
    older scene. Houdini openGL rop 4 sec a frame in 4k and DOF. Arnold and Mantra took both 2-3 minutes to render it in 4k.
  15. 2 points
    Thanks! I worked really hard on re-imagining what the Houdini UI might look like. If I have time, I may see if I can make my own Houdini stylesheet that has this look.
  16. 2 points
    when callback script is executed, houdini passed kwargs dictionary with specific keys to it, you can directly use it there or pass further to a function you are calling from hdaModule, and whenever possible I'd prefer that over hou.pwd() and of course over hardcoded hackery here is an example callback_parm_kwargs_hda_node.hip
  17. 2 points
    I'm putting this out here since this thread keeps going off topic I managed to recreate the fine hair like tentacle details by dividing the simulation into much smaller segments, using much smaller noise scales in the pattern driving the attribute based emission of the flip fluid. With a bit of tweaking on the viscosity and the simple custom cooling wrangle(see my original file in this post), the smaller segments are able to consistently hold hair like details as the flip fluid breaks under the turbulent forces added to the solver. Next I implemented a simple looper for the simulated segment by just cross fading the particles' alpha(or any arbitrary attribute that would eventually drive opacity in the shader). Replicate these around any shape(example below using a for loop, copy transform, and some iteration based instance randomization for time offset). The results below are rendered in Renderman. Obvisouly this is based on a single simulation run but much better results can be achieved by running and looping multiple independent simulation seeded differently. This is a perfect application for PDGs. I ' ClusteredSim.mp4
  18. 2 points
    reckon this qualifies as "Finished work". I've been on the i7 4770K for ages...time to upgrade. Meet the Hobo. ok, when you're poor AF, you scrounge around and make do with what you can get your hands on: - milk crate: from the back of the local IGA convenience store (with fat fasteners so a board won't fall thru) - fineprint: - this model is conveniently "hollowed" at the front !!! - found this board on the side of the road: cut to size - parts arrived: (ryzen 3600) - installed CPU: - installed Wraith cooler: - installed GTX 1070: the top of the card is jammed up against the crate can't go forward, while the bottom is jammed against the board, can't go back, just works !!!: (purple knob at the front is the power switch) - Seasonic Gold 760W PSU: (a much stiffer board is jammed up against the PSU and the top board so the top board won't bend) - HDDs on the bottom, SSDs on top, plenty of free air cooling and holes for cabling EVERYWHERE...milk crates ? Fantastic PC case I say: CPU: Ryzen 3600 mobo: AsRock b450M Pro4-F Ram: 4 x 16 Klevv DDR4 2666 PSU: Seasonic 760W Gold Case: PURA milk crate open front edition...with side handles....what more do you want ? Total cost AUD $914
  19. 2 points
    I have assigned a SOPs and COPs converter to TOPs that turns dozens of photos into abstract images. While not every output is exactly a master piece, it can at least cluster the most prominent image colors: Technically it's using the resample node`s curve u attribute along with a play on distances from prim uv and some noise. painting.hipnc
  20. 2 points
  21. 2 points
    The setup you have is pretty good. I tweaked just a few things (I actually just simplified everything a little) and optimized your sim so it runs faster. Attached is the modified file. I copied your geo node and renamed it so you can see the difference between the two. Feel free to ask questions if any may arise. Tornado_JR_v1.hiplc
  22. 2 points
    A basic way to span a graph that efficiently connects all points using Prim's algorithm. https://en.wikipedia.org/wiki/Prim's_algorithm minimal_graph.hipnc
  23. 2 points
    Update: shader work, placement, added dandelion leaves:
  24. 2 points
    I Have this In mine Collection Maybe you can just rewrite to (Wrangle ) . Hope it Helps. breaking_wave.hipnc
  25. 2 points
    I show how to build my setup in this video.
  26. 2 points
    In the render above I manually selected points with the lasso to instance the clovers on. In this render I used a noise pattern to determine were the grass should be flatter and at the same time that's where the clovers are instanced. I also did some shader tweaking.
  27. 2 points
    Oh, I just solved the problem... I used HF Layer to make the riverbed deeper / on one level and also used the same mask with some blur...
  28. 2 points
    here is just a simple excercise of various group nodes, no VEX (apart from simple groupexpression oneliners) the extension logic is just to connect top or bottom ts_pipes_from_gridstripes.hip
  29. 2 points
    Hi, if interested here is an approach from my side. Here are some ideas: define id sets for each prims (ideally each id represents one pipe), there can can be multiple ids [array] for each prim (if you want crossings) to make it easier, every id (pipe) value can represented by one int array containing the prims (dummy points can be used as storage) now these prims should be sorted by neighbour connectivity (to construct poly splines) once the prims are sorted, you can connect the prims centers (for example) and the the mid edge points for the inbetween neighbour edges now with the spline you can group the point, which are around 90° polybevel the grouped points I'm not sure if this is working in every case, but each step should be substitutable. prims_to_splinesB.hipnc Edit: here is another modification. (adding offset(push) by prim average normals and another example using a prim selection) prims_to_splinesD.hipnc
  30. 2 points
    Update I spent like two or three days trying to figure out a way to align an object to the normals of another object combined with local random rotations but I finally figured it out It works very well but it is a bit slow.
  31. 2 points
    Found a mega fantastic hip by master @f1480187 on this thread that works incredible awesome, thanks @f1480187 for saving my life once more, legend!
  32. 2 points
    Just love such Tutorials that have so much info and tricks ..Have fun http://alltd.org/tag/houdini/
  33. 2 points
    You must visit this (updated every year )-----so much knowledge http://wordpress.discretization.de/ddg2019/
  34. 2 points
    Hi guys, I'm glad to share the breakdown of my last project with you! This was my submission for a challenge hosted by Houdinimatic Community. Hope you enjoy!
  35. 2 points
    Generally the more collaborative is the environment you work in, the more sense make things like USD. In my humble opinion, at the current state of LOPs, and especially if you work alone, i guess there is currently little to no benefit from the new workflow. True LOPs introduced some very cool features that will eventually be useful for all users, but from my trying out it seems LOPs is not yet polished and mature enough to be used reliably - at least not for most people/studios. It's certainly just a matter of time thou. Everything about LOPs looks very promising and sidefx typically delivers a solid stuff. So I'm staying tuned
  36. 2 points
  37. 2 points
    I used the same image as the one on reddit :)... Register link : http://www.magicmachine.be/event/creating-procedural-rocks-in-houdini/
  38. 2 points
    I think that your solution of Packed fragment by Assemble SOP is the best. Packed fragment system just exist transform many static geometry like this one efficiently. Another way is Transform Pieces SOP , VEX transform matrix method... Just now I prepare H18 new method by Copy SOP's variant option. The source point of the Voronoi split is not always in the center of the generated piece, so it needs to be fixed. Cheers! Voronoi_Points.hiplc
  39. 2 points
    Without looking at your file: - deactivate Reseeding in your FLIP solver > Particle Motion > Reseeding. Are the Splashes still way too extreme? - You might be over smoothing your sim, this is why it feels too slow. FLIP Solver > Volume Motion > Velocity Smoothing. When using the Splashy Kernel, the default is 0.1, which I think is way too much, try something like 0.01 or 0.005...or maybe change to FLIP/APIC by changing the Kernel to Swirly.
  40. 2 points
    well...guess what ? the secret sauce is IN the sweep as well....you go find it !!! LOL. i just saw it 1 sec after aizatulin !!!
  41. 2 points
    Modeler 2020.1 for Houdini released! https://vimeo.com/412027905
  42. 2 points
    Hi Kittea, the sweep SOP has a function to create unique attribute values per primitive row which you can use for extruding. railing_KM.hipnc
  43. 2 points
    May be VDB reshape, eventualy with combine to keep some details ? VDBalls.hipnc
  44. 2 points
    Hey, I made a few Fx on a music video for the band GLU. Had to be done in a rush, so it's far from good : / here are some fx :
  45. 2 points
    hey don't look at this as scientific material...buuuuuuuuuuuuut it's somethin' (the dude got the shock of his life as Nemo swam by) vu_hairunderwater.hiplc
  46. 2 points
    Maybe Pyro_smoke_localised_drag_v01.hip
  47. 2 points
  48. 2 points
    Use VDB point advection to output geometry. You need to compute a velocity vector, it's up to you. For example, just a curl noise (first image) is a good starting point, as well as cross product of @N and position delta using point cloud (second image, some noise applied also). It may be anything you could imagine, from fluid trails to volume thickness. curlypig.hipnc
  49. 1 point
    Hi Denis, I can't say much about reels, but being constantly ambitious usually gets you far.
  50. 1 point
    What I do while waiting for renders at work on a saturday... retro_cyan.hip