Jump to content


Popular Content

Showing most liked content since 05/20/2019 in all areas

  1. 5 points
  2. 4 points
    WOWOWOWOWOW It's again been a hot minute since I posted anything here I recently gave a talk at the LA Houdini User Group on writing your own vex based polywire SOP, and figured it would be worth sharing here! I also recently redid my website so go check that out here as well: jakerice.design Love you fools <3 Jake
  3. 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 .
  4. 3 points
    And Librarian in Action ...play with this some Dude posted long long time a ago......You have fibonacci inside so play explore... noiseee.hipnc
  5. 3 points
    I wanted to share a music video that I directed with a bunch of CGI that I did in Houdini and rendered with Redshift. The concept is based on the idea of a future where a sort of Turing test is administered to humans as opposed to the other way around. Most of the compositing was done as a combination of Aftereffects, Fusion and Resolve. We shot the footage against green screen and then created all of the CGI assets for the environment through a mix of modeling and kit bashing. There is a brief behind-the-scenes video link in the description. I hope you enjoy watching it as much as I enjoyed making it!
  6. 3 points
    Just handed in my last university piece and I've created a showreel with all of my work for the past year. Feed back would be really nice thank you. Showreel: VJ loops created for my dissertation: https://vimeo.com/338014461
  7. 3 points
    Hi Antoine, to pixelate a curve put a grid on top of it and remove primitives by their distance to the curves surface before removing shared edges with the divide SOP. if(xyzdist(1, v@P) > 0.01) removeprim(0, @primnum, 1); gridify_curve.hipnc
  8. 3 points
    ok, a friend on the french houdini discord give me the response. The HScript command opextern -RM mat return a liste of all external references missing AND the name of the node who use them. -M Check each file to see if it exists, and only show the missing files. -R Recurse into networks and subnets.
  9. 3 points
    Hello, Here is short video showing how volumes can be used to shade and texture semi-translucent organic things. Volumes For Organic Assets This approach allows to achieve close-up realistic organic look for semi-transclucent assets where SSS or colored refraction is not enough. An object with UV's is converted to signed distance volume with UVW grid. Then volume is used to set density and perform uv lookup in rendering. This way density can be adjusted by depth. I.e. not so dense near the surface and very dense at the core. Or not very dense, then dense patch like island of fat, then not dense again. UVW grid is used to texture volume. Different textures can be used at different depth. This approach allows very flexible yet powerful way to place any texture at given depth. Texture X at depth Y. I.e. big veins are 5mm under the surface. This approach is best for close up organic hero renders where SSS or refraction are not looking good enough. Attaching example file volumetric_textures_example.hip
  10. 3 points
    Not sure if I understand correctly, but if you want to bake in COPs point attribute in uv space, then VEX works as usual: vector uv = set(X, Y, 0); vector clr = uvsample("op:/obj/geo/geometry", "Cd", "uv", uv); R = clr.x; G = clr.y; B = clr.z; Copy this (replacing path and attribute name) into Snippet VOP inside vopcop2filter and you should have the attribute baked into texture.
  11. 2 points
    the ray sop either shoots a ray in some direction (default is normal) or chooses the closest point on a surface. extrudesop_002.hipnc
  12. 2 points
    You can 'remote-control' and repeatedly call the clipping SOP with python verbs.
  13. 2 points
    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
  14. 2 points
    Hi there. I have finished my 2nd year in uni and I'm looking to build a killer FX reel by the time I graduate next year. I would greatly appreciate advice on what to work on in the next year and criticism on my current showreel. For the next year at uni, we have to make a short film for which I'll be doing the fx.It is currently centred around a snow leopard in a Mongolian landscape. I was planning to create a custom material point snow solver and am currently learning c++ and the HDK. My current showreel is available here: Thank you and have a good day
  15. 2 points
    Just a tip from some one watching x amount of reels every month... Tone down or drop the music.
  16. 2 points
    you can for example age your Geometry or ConstraintGeometry using POP or Geometry Wrangle using f@age += @TimeInc; then in Vellum Constraint Property DOP either use float age = point(1, "age", @ptnum); restscale = 1 + age*.5; if you have @age only on points of the geometry (see example file) or if you have f@age on primitives of ConstraintGeometry you can do directly restscale = 1 + f@age*.5; anim_rest_scale_age_v001_fix.hip
  17. 2 points
  18. 2 points
    Houdini Tutorial Monument Construction Time-Lapse Download Houdini Project File - https://gum.co/timlapse Available for free: https://www.youtube.com/playlist?list=PLtCPgCB2Kw05gvrIR3CPCe8VhzCzl2HBd&fbclid=IwAR137yDe7ftp_aQtK3LoOCODQKVaJLa6d9AP7_wDjVVDAR1rDmLAUirto3k - Chapter 1 Dividing Geometry Into Bloks - Chapter 2 Gradual Emergence of Pieces - Chapter 3 Procedural Animation of The Crane - Chapter 4 Modeling The Crane - Chapter 5 Metal Scaffolding Download Houdini Project File - https://gum.co/timlapse Explore my products: https://gumroad.com/rart Follow me for updates on what I am creating: - Artstation https://www.artstation.com/raducius - YouTube https://www.youtube.com/channel/UC1Avewug9ZPCLx1URXVEw4g - Instagram https://www.instagram.com/raducius
  19. 2 points
    Hi BiZz, Vellum constraints can be very tricky and you can run into all sorts of problems setting up custom ones outside of the vellum constraint nodes when you are in DOPs. I gave you problem a go myself using a couple of wrangles and I managed to get a stable result working. For a longer explanation and a hip file is on my blog: https://zybrand.xyz/vellumcontinuous-emit-with-dynamic-constraints#more-324
  20. 2 points
    Hello, Tried to make some snow using Vellum grains. What do you guys think? https://danielezannone.tumblr.com/post/185340123069/houdini-vellum-solver Learned a great deal from Steven Knipping https://vimeo.com/297116432 Cheers!
  21. 2 points
    Here is a quick example of how you could achieve this kind of effect with the grain solver. If you wanted to get fancy with this, you could constrain pairs of grains together to more accurately represent the bee body shape. bees.hip
  22. 2 points
    you can convert it to set and back uniqueV = list(set(v))
  23. 2 points
    Another approach might be to skin the line, by placing a circular mesh around it then reference the points of the mesh inside a Gas Wrangle on the velocity update of the pyro solver. This way you can create a custom drag that reduces velocity the farther from the central line, that the smoke travels. The cage is not a collision mechanism, it merely offers a reference @P for the smoke to compare against. ap_SmokeAlongCurve.hiplc You will probably need to dial in the distance values of the fit to achieve the best look. vector p1 = point(0, "P", 0); float dis = distance(p1, @P); //Change fit range and resulting values to dial it in. // Get half as fast, the farther out it travels. @vel *= fit(dis, 0.5, 1, 1, 0.5); NOTE: Because the wrangle has no input, the point fetched, from input #0 is actually defined under the Inputs tab (which points to the mesh cage SOP) of the wrangle, this is a little different than standard SOP manipulations of input 0.
  24. 2 points
    Hey, On June 3rd I will be teaching an advanced Houdini masterclass at the Effects America conference in Montreal. I will be covering growth systems. Should be good fun: https://www.effects-events.com/en/master-classes/ Description: During this advanced Houdini masterclass you will learn how to create an art-directable growth system. Digitally constructing things can be as challenging if not more challenging than destruction, this class will focus on the former. The class is split into two main sections. The first section of the class will dive into building the growth solver prototype tool. This covers solvers, some vector math, chaos theory, 2d & 3d growth, custom forces and tool development. The second section of the class dives into using the tools to grow a 2d and 3d pattern that is procedurally animated and prepared for rendering. This covers path finding, procedural animation, combining 2d and 3d patterns, custom attributes and aovs/render passes for comp. Take away: Understand the algorithm and concepts for building a growth solver. Build a user-friendly and efficient tool that can scale from small scale single growth to growing large datasets for entire vfx sequences. Understanding and making use of Houdini’s data acceleration structures. Gaining insight into the art-direction and approval process for both the grown pattern as well as the procedural animation. The audience: This course is intended for intermediate to advanced Houdini users. Users should have a working understanding of the Houdini interface and overall data flow (contexts, attributes, datatypes). Houdini Apprentice can be used for this class. Hope to see you there or perhaps at the conference, Peter
  25. 2 points
    Tried to get mud surface effect with some reaction to the geometry without heavy simulations. iskalvlup_heightfields_mud_worms.hip
  26. 2 points
    That looks like it should work. But... I find VEX a little tricky with multiplying vectors by floats. It doesn't like to do that right after a function. I suggest assigning the noise to the variable and then in another line multiplying the vector by your float amp. Like: float amp = 4; vector noise1 = anoise(v@P); noise1 *= amp
  27. 2 points
    My Vimeo Profile is online too for Tutorials https://vimeo.com/user95633319
  28. 2 points
    Here's my try at it. I reversed the faces of the bubbles, then merge them with the main/outer fluid mesh. cola.hipnc
  29. 2 points
  30. 2 points
    I wish that all the common functions in the different languages from vex to hscript to python and such where linked in the documents. So the matrix help could do a link to the other languages. See in : hscript, expression, vex, python, vops, etc...
  31. 2 points
  32. 2 points
    Hey all, here's a shot I've been working on! Speed Tree, Houdini and Redshift. Have a good one
  33. 2 points
    Hello, here is some of my attempts to do something similar. But I can't get a similar level of detalization in mantra. If somebody can suggest some tips it wound be amazing volume is still a little bit blurry, I guess it could be because of texture resolution vol-0001_volume_v01.hip
  34. 2 points
    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;
  35. 2 points
    extremely easy............once you know how that is.... (in your case...you may have to select more than 1 groups because of 2 islands....so probably border__0 and border__1) Just in case youtoobe plays up and you can't watch...the gist of it is: 01) in your group select unshared edges...make sure you tick Create Boundary Groups, then if you have a 'normal' boundary plus 2 inside holes...=> you'd have 3 Boundary Groups 02) in your next group select, in the dropdown list you'd see border__0, border__1, border__2, ....border__0 should be the outside one...the other 2 would be the holes..you can go nuts with all sorts of permutation/combinations with your group selections... Now you know how easy it is....just say OMG !!!
  36. 1 point
    you can use: hou.Node.saveItemsToFile() hou.Node.loadItemsFromFile() it's similar to copy/paste but you can choose the location of CPIO file
  37. 1 point
    I found VEX very simple to learn, but I come from C which it's rather close to. How much previous knowledge with programming do you have? Processing is a rather specialised environment with peculiar rules, so I'm not sure if it isn't more useful if you dive into VEX directly? The good thing IMO is, that you always get visual feedback, so VEX is very brain-friendly to learn if you allow yourself to "play". I would actually use Houdini to teach kids math and programming in school. ;-) I gave one workshop to students of architecture who had no prior knowledge of programming and within the four days we had, they groked at least the basics and that it's nothing to be afraid of... (one of the most important things IMO). And yes, "Joy of VEX" from Matt (and everything else on tokeru) is super helpful, there are also video tutorials and of course, there is always Entagma. Especially if you start with their oldest videos, they go into much more detail when they use VEX than they do nowadays. Good luck! Cheers, Tom
  38. 1 point
    All that we hear from Simon on his presentations are: "I did it... Cool... Enjoy..." But how he did it
  39. 1 point
    I literally haven't done anything except changing constant color to bounding box to emphasize the effect and it does work here (17.0.416 - OSX). COPS have some issues with refreshing. They might not notice your changes and keep displaying old image. Maybe this is your problem?
  40. 1 point
    Few tips and tricks to manipulate gas simulation. 1. Independent resolution grid. E.g. Overriding vel grid size independent to a density grid. 2. Creating additional utilities. E.g. gradient, speed, vorticity and etc which can be used to manipulate forces. 3. Forces via VEX and some example snippets. smokesolver_v1.hipnc P.S. Some of this technique are not Open CL friendly though.
  41. 1 point
    @DoxiaStudio Peace & Love
  42. 1 point
    //set a wrangle to run over primitives int primpts[] = primpoints(0,@primnum); removepoint(0,primpts[0]); removepoint(0,primpts[-1]);
  43. 1 point
  44. 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
  45. 1 point
    tying get get fast spline rendering going in renderman
  46. 1 point
    Images you attached are probably generated by some mathematical software like Wolfram Mathematica or MatLab. So if you have exact math function for generating those you can use them in Houdini too. For such Math approach (not really procedural in manner of combining full potential of Houdini), you can use ISO Surface node. Basically that node will accept any function of X,Y,Z coordinate in implicit form. For example if you want to define surface of sphere with radius 1. You actually thinking of function which will give you all points which are at exact 1 unit from let say center of scene. Function which cover that in 3D space would be sqrt(x^2+y^2+z^2)=1 If x,y,z represent coordinate of point then any point with such x,y,z that satisfy equation will be at surface of that one unit sphere. Making power of 2 on both sides of equation of unit radius sphere gives you x^2+y^2+z^2 = 1 That is explicit form of function. If you transfer right part to left: x^2+y^2+z^2- 1 = 0 Now when right part is 0 it could be removed (but think on it as if it exists and is equal to zero) and it leaves you with implicit form of equation x^2+y^2+z^2-1 and that example is default expression value in ISO Surface node. Unit length sphere. That node samples 3D space in ranges you set and for any point in that range generate surface (iso surface) if point's coordinates ($X,$Y,$Z) satisfy implicit equation you entered. Equation of simple torus in implicit form would be (R - sqrt(X^2 + Z^2))^2 + Y^2 - r^2 where R and r are large and small radius of torus ISO_torus.hip Without proper formulas for exact definition of your surfaces everything else is just guessing. If that is good enough you can try modify equation. Btw. any kind of function can be processed even something like noise($X,$Y,$Z) Doing proper math for repetition of many radius levels involve some of repetition functions like Modulus or trigonometry sin or cos. Rearranging arguments for solving for small r gives r = sqrt((R - sqrt(X^2 + Z^2))^2 + Y^2) replacing that instead of r in original function gives you 0 because any point doesn't matter of its coordinate satisfy equation, but if you expand that expression like this r = int(N * sqrt((R - sqrt(X^2 + Z^2))^2 + Y^2)) / N you actually quantize only those points which match quantized radius satisfy equation. ISO_torus_repetition.hip As you can see in example you can also use logical function to clamp calculation in some segment. Expression length($X,0,$Z)<R clamp calculation only inside tube of radius R. That example gives your image 1 On image 2 and 3 you can see that changing over Y axis bends toruses. so you have to put that in equation etc. This is NOT procedural approach, it is just pure math of surface representation for some equation and since you have images from Math software I suppose you also have exact function so you can use it on the same way in Houdini.
  47. 1 point
    Hi guys! I'm a bit late to this party but thought I would share anyways. I am very new to Houdini, but very experienced in Realflow and Maya. However, after discovering Houdini I don't think i'll ever go back. I love how much control you have with Houdini, and how easy it is to create your own tools when the provided ones don't quite fit. A while ago, I wrote a Realflow Python script that did splash hole filling. While it worked OK, it was slow and a bit unstable in certain situations. I took the same Idea and put it in a VOP node, and it seems to work really well! It is super simple and very fast because i'm not doing a bunch of dot product math, just relying on Houdini's excellent point cloud functions. Here in an example video: https://vimeo.com/153145442 See attached for example .hip Cheers! Karl splashExample.hip
  48. 1 point
    couldn't reproduce the problem... see attached for another file using the wood texture, plus a (nasty) attempt at curved UVs. curved_uvs_from_planks.hipnc
  49. 1 point
    Excellent, that worked. Thanks! For anyone interested: Go to the extra files pane in the type properties of your digital asset. On the bottom, type 'Presets' into the 'Section Name' field without selecting a file. Click 'Add Empty Selection'. That will create a Presets section. Then in the 'Filename' field, select your presets file. This will autopopulate the 'Section Name' field with the name of the presets file. Change this to 'Presets'. Click 'Add File' Your presets should now be added to (and stored in) the digital asset!
  50. 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).