Jump to content


Popular Content

Showing most liked content on 06/12/2019 in all areas

  1. 3 points
    https://github.com/kiryha/Houdini/wiki/vex-snippets http://lex.ikoon.cz/vex-snippets/ https://tosinakinwoye.com/2017/01/23/houdini-vex-snippets/ https://vfxbrain.wordpress.com/2016/10/02/vex-snippets/ you gonna find a version .
  2. 1 point
    With the help of both the Redshift community and resources here, I finally figured out the proper workflow for dealing with Redshift proxies in Houdini. Quick summary: Out of the box, Mantra does a fantastic job automagically dealing with instanced packed primitives, carrying all the wonderful Houdini efficiencies right into the render. If you use the same workflow with Redshift, though, RS unpacks all of the primitives, consumes all your VRAM, blows out of core, devours your CPU RAM, and causes a star in nearby galaxy to supernova, annihilating several inhabited planets in the process. Okay, maybe not that last one, but you can't prove me wrong so it stays. The trick is to use RS proxies instead of Houdini instances that are in turn driven by the Houdini instances. A lot of this was based on Michael Buckley's post. I wanted to share an annotated file with some additional tweaks to make it easier for others to get up to speed quickly with RS proxies. Trust me; it's absolutely worth it. The speed compared to Mantra is just crazy. A few notes: Keep the workflow procedural by flagging Compute Number of Points in the Points Generate SOP instead of hard-coding a number Use paths that reference the Houdini $HIP and/or $JOB variables. For some reason the RS proxy calls fail if absolute paths are used Do not use the SOP Instance node in Houdini; instead use the instancefile attribute in a wrangle. This was confusing as it doesn’t match the typical Houdini workflow for instancing. There are a lot of posts on RS proxies that mention you always need to set the proxy geo at the world origin before caching them. That was not the case here, but I left the bypassed transform nodes in the network in case your mileage varies The newest version of Redshift for Houdini has a Instance SOP Level Packed Primitives flag on the OBJ node under the Instancing tab. This is designed to basically automatically do the same thing that Mantra does. It works for some scenarios but not all; it didn't work for this simple wall fracturing example. You might want to take that option for a spin before trying this workflow. If anyone just needs the Attribute Wrangle VEX code to copy, here it is: v@pivot = primintrinsic(1, “pivot”, @ptnum); 3@transform = primintrinsic(1, “transform”, @ptnum); s@name = point(1, “name_orig”, @ptnum); v@pos = point(1, “P”, @ptnum); v@v = point(1, “v”, @ptnum); Hope someone finds this useful. -- mC Proxy_Example_Final.hiplc
  3. 1 point
    Hello every one, I've been studying some linear algebra to better understand this amazing piece of software called Houdini. I came across some problems and after some RnD I've put together an example scene that I hope can be usefull for every one struggling with matrices and other related concepts. I feel the need to share this, because most of the tutorials I've seen on this subject end up using quaternions for the transformations, and I've put up a Matrix only approach. Do remember that the "correct" approach in this cases is the quaternion one. If any one is kind enough to convert this scene into a .hipnc and re-share it, I'd be grateful. At the moment I don't have time to do it myself. Cheers! Matrix_Transform.hip
  4. 1 point
    I reload hip in my previous post . Example with one Block Begin should work now.
  5. 1 point
    Hi. yes you should use a sopsolver dop to break glue constrains with a pop metaball force dop. Here is file with one of many approaches how to do that. metaball_test_01.hipnc
  6. 1 point
    Hi, take a look at attachment, maybe it helps. At this site and sidefx there are lots of information and examples about for-each loop but it might take some time to understand that. MultipleMorphsAndForEach_01.hipnc
  7. 1 point
    A new entry to the above list. An open source renderfarm manager donated by Sony to the Academy Software Foundation. https://github.com/AcademySoftwareFoundation/OpenCue No Houdini support at the moment.
  8. 1 point
    Yeah use the OPcustomize script in your preference. A copy can be found in $HH/OPcustomize // In order to change the initial name of the op to something // other than the internal name, the opfirstname command can // be used. opfirstname Driver ifd mantra As for foreach_begin if it is being placed down via a script it might depend on how the script is creating it to override it. But to say change the output sop to OUT on creation opfirstname Sop output OUT
  9. 1 point
    Cache out at the DOP level and use $SF for the frame number in the file name. Submit that ROP in the DOP to the farm. https://www.sidefx.com/docs/houdini/nodes/dop/rop_dop.html This isn't unique to HQueue. Any queue manager can do the same.
  10. 1 point
    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
  11. 1 point
    here's the file from the above setup, lots of credit to those discussion velocity fields with the LIC method AC_VelocityFields.hiplc
  12. 1 point
    You can use maketransform(): http://www.sidefx.com/docs/houdini/vex/functions/maketransform Put this in a pointwrangle and make sure to set all scale values to 1. int trs = chi('transformation_order'); int xyz = chi('rotation_order'); vector t = chv('translation'); vector r = chv('rotation'); vector s = chv('scale'); vector p = chv('pivot'); matrix m = maketransform(trs, xyz, t, r, s, p); @P *= m;
  13. 1 point
    You are doing it a very old method that may not work all the time anymore. It won't work if you have animating geometry if you want to do an animating fracture. The best way to get information from sops now is using a sop solver in dops. This way you also can get many more attributes from sop that you can use to drive simulation as well. The sop solver also is nice because it doesn't require the attribute transfer value to remain on the object the entire time. In my file the sphere that is passing over the box doesn't remain over all the pieces. With your method if that remained the case the pieces would not move after the sphere goes past the box pieces. With the sop solver method it allows the pieces to remain active even if the sphere goes past it. You can preview what your attribute transfer is doing in sops and then copy that attribute transfer and paste it in the sop solver in dops. active value changing over time.hipnc
  14. 1 point
    You can get rather cool patterns by drawing vectors on a plane, convert it to a volume, smooth it out and then volume trail points in it. velField.hipnc
  15. 1 point
    Hey Jim, in the channel editor its also possible to select all your keyframes that you want to offset and then in the "frame" text entry section at the bottom, enter "+" followed by the amount that you want to offset by ( eg "+ 10" or "+ -10" - note that its the "+" that qualifies it as an offset value; entering "- 10" will not work).