Jump to content


Popular Content

Showing most liked content since 11/15/2019 in Posts

  1. 10 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
  2. 8 points
    Hi all! This is the dynamic cloud I created with time-lapse effect in Houdini 17.5. I tried many ways and added several types of Gas Microsolvers, especially during the process of the dissipation and creation of the could. Because this is a difficult problem that must be solved in order to complete simulation, I added more Gas Microsolvers to control the shape of the cloud and adjusted its ambient temperature and buoyancy forces. Eventually the problem is solved. You’re welcome to make comments and discuss the related skills. https://vimeo.com/376645761 My PC specs: Memory: 64GB Processor: AMD Ryzen 1950X Graphics: GeForce GTX 1070Ti Simulation: 20H Space disk: 500G Render:Mantra I recommend using Linux for massive simulation because Linux requires less ram usage than Windows.
  3. 6 points
    Like everyone else, I use a bunch of tools for my work. But I found myself using Houdini more and more for 2d work, including making a sketch or etch style of pictures like these. I did it using sops, and while I imagine there is at least a million ways to do that in Houdini, it was bloody fast, took just a few nodes, and with plentiful variations.
  4. 5 points
    And we're done and everything seems to be in order. Thanks
  5. 5 points
    @Omar Wanis Hi! http://www.issp.ac.ru/ebooks/books/open/Advanced_Fluid_Dynamics.pdf https://www.in.tum.de/fileadmin/w00bws/cg/Research/Publications/2016/NBFlip/nbflip.pdf http://graphics.stanford.edu/courses/cs348c/ http://www.cs.columbia.edu/cg/liquidhair/main_opt.pdf https://cs.uwaterloo.ca/~c2batty/papers/Larionov2017/Larionov2017.pdf https://nccastaff.bournemouth.ac.uk/jmacey/MastersProjects/MSc17/03/thesis.pdf https://www.diva-portal.org/smash/get/diva2:559073/FULLTEXT01.pdf http://wanochoi.com/lecture/Houdini16_FLIP.pdf http://staffwww.itn.liu.se/~jonun/web/teaching/2011-TNCG13/Lectures/Lecture03-MW/Wrenninge_2011_Fluids.pdf https://pdfs.semanticscholar.org/9a91/863baccd64c570e6912617f2b11cf55a971b.pdf
  6. 5 points
    Here is an update with obstacles, sliding fuel sources, randomized fuel shape and strong prevailing winds. ap_raining_fuel_111819.hiplc
  7. 5 points
    I took time to put in some comments in the vellumsolver, hope that helps....here's the file. vu_wallpeel.hiplc
  8. 4 points
    Hello again! It's been a long time. Today with the release of Houdini 18 marks the first "official" release of MOPs: v1.00. This includes a ton of changes since the previous Stable release, and is now feature complete, barring any future bugfixes. Development of new features will now be focused on the upcoming commercial version of MOPs. The list is way too long to post here, so I'll just link to the Github release page: https://github.com/toadstorm/MOPS/releases/tag/v1.00 Please continue to post bug reports, feature requests, or any other feedback, either here, on GitHub, or in the MOPs forums! Thanks as always!
  9. 4 points
    A simple exercise to deposit fuel at impact points that are generated from a particle system. No clustering used. ap_raining_fuel_111719.hiplc
  10. 3 points
    Time should be around 12am PST. Apologies to all our non North American visitors, insomniacs and anyone working OT tonight. On the plus side the site should be faster and, uh... well just faster really.
  11. 3 points
    Dark mode for the documentation.
  12. 3 points
    Such a great release! It is an honor to find out that a little piece of code I wrote a few years ago is now a part of Houdini (: I stole it from this guy and just converted it to vex, so all credit goes to him : https://forums.cgsociety.org/t/slerp-function/1406236/4
  13. 3 points
    There are a few notes inside the hipnc to explain what I did. Basically, the trick is to align the roof with the main axis before dividing it, then transform it back to its previous orientation. And some housekeeping here and there roof.hipnc
  14. 3 points
    Really enjoyed his fmx talk. https://www.youtube.com/watch?v=JqeEO8zccW8
  15. 3 points
    0. Updated code editor. That's the biggest dream. I freaking love coding for Houdini, but that's one of the aspects what still feel like pre-16 version. Maybe the team can integrate Electron framework or something. You don't want people to go and use external editors for anything more then a few lines. 1. COP3 context. Houdini 5.5 gave us COP2. It was in 2002. It's still in 2002. I do believe what Houdini can shine with 2D too, both in procedulal generated images, and even with compositing. But it's not. Most of us just try to find other ways around instead of going there. 2. Physics-based Animation. Solaris gives us a fantastic method of doing layout work based of phisics. It's trully amazing. Why not to impliment the same approach into animation. There is a team what is doing it already, making Cascadeur app (https://youtu.be/nj_Dtj7c0Lc). I'm pretty sure SESI can do even better. It's a chance to get a tiny piece from nearly impossible task of taking Maya's pie. 3. Texture painting. Hear me out, nobody expects Mari/Substance level of painting, it's not for that. But a lot of times it's beneficial to paint something basic and not be dependant on topology. For example: I don't wanna go into painting app just to put a few tiny dots and the cat's face in order for fur to be colored by it later.
  16. 3 points
    A passion project re-using footage shot a few years ago. The water is split into two sims: the first covering the sphere and the downward stream, the other filling the basin and overflowing around the sides. A total of over 7 million particles make up the fluid sim. Software used: Houdini Redshift Nuke
  17. 3 points
    I just wish we can select/edit multiple points at a time in Curve Node. It's been so many years, the Curve Tool in Houdini still sucks.
  18. 3 points
    Now I get it , just to fine adjust and I'm goona posted hipnc .
  19. 2 points
    http://patreon.com/posts/32321342 I made a number of modifications to the standard Houdini GUI that focuses on increasing the productivity by maximizing the screen estate to its limits. Here are some of the changes: 1. Network editor is an overlay over the viewport or the render view, depending on what's visible. It allows working with the network editor while simultaneously seeing the result of the node network, with configurable opacity settings (0.25, 0.5, 0.75, 1). The network editor can be toggled away from and into the viewport using a single key. 2. The whole application is in full screen mode, that eliminates the taskbar and the titlebar of the application. 3. The status bar is at the top inline with the main menu bar. 4. The shelf is completely outside the visible screen space. It can be accessed using the viewport TAB menu instead. Special thanks to Jason Iversen for his overlay network editor sketch.
  20. 2 points
    I'd suggest creating an HDA as then you can have the script self contained and easily update the code for all the instances if you decide to do so (to for example update list of presets, or even read presets from external file , etc...) parameter callback script: hou.phm().loadPreset(kwargs) HDA module: def loadPreset(kwargs): presets = [{ "voxelsize": 0.04, "voxeloffset": 1, "percentage": 50 }, { "voxelsize": 0.05, "voxeloffset": 1, "percentage": 30 }, { "voxelsize": 0.06, "voxeloffset": 1, "percentage": 10 } ] node = kwargs['node'] parm = kwargs['parm'] i = parm.eval() node.setParms(presets[i]) DropdownToChangeValues_hda.hipnc
  21. 2 points
    Hi! I want to share with you a little script I did which I think is quite useful. It allows you to convert for example alembic cameras to regular houdini cameras. Additionally it can scale cameras correctly and in general bake cameras. You will find the script here: MyWebsite
  22. 2 points
    I'd simply animate the 'pin' points. Here's my proof of concept if you'd like to have a look. vu_VellumCurtainPull.hiplc
  23. 2 points
    Eureka! (No need for point arrays after all...) So, from what I originally intended to be a grass generator... it will be a multi-purpose generator (including the effect on hair that electrocution has according to popular cartoon depictions) Still to figure out a way to control the up angle at every sample... and to orient the points correctly based on the starting points (polyframe the prims I guess...) [Edit] - With some finetuning below: rand_dir_propagating_points_2.hiplc
  24. 2 points
    something like this? mass.hip
  25. 2 points
    Thanks Jie for explanation, it works!! Spot on Aizatulin! That is what I was missing. So everything was correct in vops, just needed to normalize the N beforehand! Cheers I`ll add the hip here, if anyone needs it, grooming specific shape is so much more controllable than using guideadvect. Vector_length4.hip
  26. 2 points
    i had the same question on sidefx forum. the answer is that this LOP camera contains sort of a standard set of USD parameters and it's up to the developers to built their own interfaces around it, if they want to. which doesn't really answers the question but it indicates user experience may be improved in the future, or may not personally I find LOP camera completely useless at it's current state. the best workflow right now seems to have your standard camera setup in SOP and then import it in LOP. but then you can't move it around in LOP context bcs it seems to break once u touch it. work in progress i guess. having said that, I guess we'll stick to old rendering workflows for some longer time. LOPs doesn't feel ready for production yet. will be great once polished, but right now there are too many quirks/bugs and unfinished/unsupported features. as for the other thing, saving render snapshots, that's currently not possible as far as I know. but according to the developers, we should get some sort of a similar thing to the Render view with similar functionality. in the future. the topic link: https://www.sidefx.com/forum/topic/70700/?page=1#post-300360
  27. 2 points
    You can have the boolean seam result hang out in space. Animate the grid to track the bottom of the wave and animate the particle activation when you need to spray more particles. ap_WaveDeformerTestQuickMask_edit2.hiplc
  28. 2 points
    Hey all Our server will be upgraded sometime tonight, so please don't panic if the site is down for a bit. The maintenance period should be ~1 hour. I'll update this once I know the exact time. Thanks! M
  29. 2 points
    A preview version of the Redshift Solaris plugin for Houdini 18, is available on the Redshift3d Forums. Redshift Solaris plugin [www.redshift3d.com]
  30. 2 points
  31. 2 points
    Hi Dave, nearpoints() always returns the current point first, so I usually remove the first item from the array: removeindex(pts, 0); To avoid creating double lines you would only connect to point numbers that are larger than the current point: if(i@ptnum > pt)
  32. 2 points
    https://www.sidefx.com/products/houdini/whats-new-in-18/ And to get your feet wet, Entagma release some H18 videos for the release. https://entagma.com/new-in-houdini-18/ Lops Tutorials and docs https://www.sidefx.com/docs/houdini/solaris/tutorials.html
  33. 2 points
    1- only cache subframes if you are planning to use them down stream, for example if you need to slow down the sim in post or if you are using smoke to source another sim with substeps (otherwise you are just generating unnecessary data) If you are caching subframes do so use $FF. 2 - if your volume is a vdb you should cache it as .vdb only if you are planning to export to other applications. If are staying within houdiniland cache as bgeo.sc , it will be lighter and faster to load. 3 - checkpoint files or sim files. (dopnet/cache/save checkpoints or outputDOP). .sim files contain the entire data needed to carry the sim forward, so if you cache them you can restart the simulation from any frame. ( no need to resimulate the entire framerange) In general you would use this method for heavy/slow sim in order to have a chance to retrieve them in case of failure. Even in that scenario you would still cache the sim as regular bgeo.sc cache, and keep only the checkpoints of .sim. Bear in mind that $SF is the simulation frame which doesn't necessarily match the $F Ie. Your frame range is 1001-1050. and you are simming from 950 to 1050 with 2 substeps. $FF 950 = $SF 1 $FF 950.5 = $SF 2 .. $FF 1049.5 = $SF 99 $FF 1050 = $SF 100 I hope I was clear enough, let me know if you have any doubt
  34. 2 points
    Hello ODforce! I just added a new Houdini 18 update to my course, "Houdini for the New Artist" that goes over the basics of LOPS and Karma with Houdini 18: In the near future, I'll be adding more updates to my other courses which you can find at www.cgforge.com Happy holidays! - Tyler
  35. 2 points
    So just an update, I've really worked the lighting and made a bit of comp in photoshop with a quick and dirty painted sky. I'm thinking of adding some more smoke now, as the volcano looks kind of shy with this tiny smoky champ Cheeeeers,
  36. 2 points
    Hi all, I've been practicing and experimenting with VEX in Houdini and I challenged myself to see how far I can go with only VEX and VOP. I did successfully manage to create this simple effect without any use of dynamic simulation (DOP). https://vimeo.com/375250070 Basic Summary: A particle system that computes at frame-basis. I can jump from frame 1 to 700 without waiting for simulation. Instead of the traditional age/life computation, this system uses travel speed to compute. Trajectory generated with polar coordinate + Flow Noise on sphere section. The graph mainly consist of VEXs. There's still room to be improved definitely, if anyone is building more upon this, please share it, would love to see it. I think at the end of the day, this kind of system is probably not entirely practical tbh, but it's a great practice and study on coding with VEX. (SHOUTOUT to a best friend of mine who's studying mechanical engineering, helped me to find a way to calculate the spiral length.) HIP file here: FX_Rasengan_v01.hipnc Happy Coding!
  37. 2 points
    Play with this file ( combine different shapes ) solu2od.hipnc colODD.hipnc I like the arrangement in your file ...
  38. 2 points
    His website is also a very good resource https://www.glassner.com/computer-graphics/cga-columns/
  39. 2 points
    if you do an extremely simple test case where your hair just hang in midair with no colliders...it works fine, breaking fine. If you then add a collider like a character's head, the scalp, the hairs tend to get stuck and not all would break as you want. In your scene, in vellumsolver2>solver set Collision Passes to 0 set Post Collision Passes to 1 voila...no more hair... vu_AdvancedHairYeahYeah.hiplc
  40. 2 points
    ... and this is one of the frame of the final result...roughly 1 billion cubes rendered!!!
  41. 2 points
    something like this? i'm attaching an example file. also, if you're coming from a C4D background... you might want to try MOPs. it uses a similar flow to Mograph... you could use Falloff from Texture and then the Transform Modifier to scale objects in Y in this particular case. height_from_luma.hip
  42. 2 points
    Ok, it's been a while, but let's try it one by one: 1. Scaling world coordinates to unit size vector bbox = relbbox(0, @P); vector size = getbbox_size(0); vector ratio = size / max(size); vector scale = bbox * ratio; relbbox() creates linear gradients along each axis of the object from 0.0 to 1.0. Those can be spread out in UV space later. getbbox_size() returns the absolute dimensions of the object. While we don't care about the actual size, we need to factor in how those dimensions relate to one another: size / max(size) Dividing all dimensions by the biggest one effectively scales them to unit size while keeping the proportions. This is the aspect ratio for X, Y and Z. bbox * ratio combines the gradients on all mesh points with the overall aspect ratio. All projections fit proportionally onto the UV grid now, we only need to split them up and lay them out. 2. Splitting up projection sides vector side = sign(v@N); vector nml = abs(v@N); if (nml.x == max(nml)) { ... } else if (nml.y == max(nml)) { ... } else { ... } sign(v@N) decides towards which side the normals point to. Its either left or right, top or bottom, front or back. Later this will compensate for.. abs(v@N) setting all normals to positive values. So we can easily compare which direction they are mainly facing, using: if (nml.x == max(nml)) for X, else if (nml.y == max(nml)) for Y and else for Z. By comparing each absolute component with the normals' maximum, we split the geometry into UV islands. 3. Laying out UV coordinates if (nml.x == max(nml)) { @uv = set(scale.y * side.x, scale.z, 0); } else if (nml.y == max(nml)) { @uv = set(scale.x * side.y, scale.z, 0); @uv.y += 1; } else { @uv = set(scale.x * side.z, scale.y, 0); @uv.y += 2; } @uv *= 0.3333; @uv.x += 0.5; set(scale.x * side.y, scale.z, 0); Depending on which side has won, the UV coordinates are composed of either top or side views (first component) and front or side views (second component). Setting the scale variables negative can be used to sort out direction issues. *side.x, *side.y and *side.z are simply flipping directions in case the normal directions have been negative. Thus getting their own islands on the left side. @uv.y += 1; and @uv.y += 2; are moving the UV islands upwards, so they are not landing on top of each other. @uv *= 0.3333; Currently UV coordinates span across six unit spaces, so we scale them down to fit into one. @uv.x += 0.5; Because of flipping the sides we also have to move all our coordinates to the right by half. Alright, I hope things got less confusing now.
  43. 2 points
    More cuts where the colour is a lighter value and less cuts where it is darker. Then a local rotation matrix to rotate only blocks above a certain colour value. Final colour scheme slightly different than the one that drives the cuts.
  44. 2 points
    Added a transform to rotate before the polysplits.....Thanks @Paul Corfield for the idea!!!
  45. 2 points
    Maybe it's useful for someone? just sharing what I have learned. vopS7.hipnc
  46. 2 points
    please do not remove DOPS
  47. 2 points
    Hi all, As some of you may know I have recently started a youtube channel where I am sharing some techniques, setups and tips. My goal is to first cover some of the fundamental tools/setups and then build more elaborate setups. I wanted to share this with the odforce community too as this community will always have a special place in my heart :). Thank you for watching & have fun learning! The channel: https://www.youtube.com/channel/UCZMPkkgnAFghvffxaTh6CsA My first video:
  48. 2 points
    Hello! Here are some test that I did using my Implicit Buoyancy Model! I hope you like it!! Thanks!!
  49. 2 points
    Here is a vertexwrangle method for projecting cubic UVs on any kind of mesh: vector bbox = relbbox(0, @P); vector side = sign(@N); vector nml = abs(@N); vector size = getbbox_size(0); vector ratio = size / max(size); vector scale = bbox * ratio; if (nml.x == max(nml)) { @uv = set(scale.y * side.x, scale.z, 0); } else if (nml.y == max(nml)) { @uv = set(scale.x * side.y, scale.z, 0); @uv.y += 1; } else { @uv = set(scale.x * side.z, scale.y, 0); @uv.y += 2; } @uv *= 0.3333; @uv.x += 0.5;
  50. 1 point
    Hi Jiri Thanks for the note. I'll try other drivers and see if that changes anything. I'm currently using 6.3.17-3 and I'm also on Windows 10, H18.0.287 I just opened an old scene and I can pan but not zoom so something's definitely been switched around... I just tried the stroke SOP and I'm also getting constant 1.0 pressure - stroke_angle is constant 0.0 and stroke_tilt is constant 90.0. Likewise H17.5 works as expected