Jump to content


Popular Content

Showing most liked content since 03/19/2019 in all areas

  1. 8 points
    nature.hipnc just to say hello and share some stuffs. /cnc_verkstad/ Tesan Srdjan
  2. 6 points
    More Unlimited Fun nature2 fun.hipnc
  3. 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
  4. 4 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
  5. 4 points
    Here's a music video I made using a bunch of the techniques from this thread.
  6. 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
  7. 4 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
  8. 3 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
  9. 3 points
    Some new finished work ! Been working a long time on this one. Not totally finished yet, there may be some cleaning to work on... Any feedback is welcome.
  10. 3 points
    I've made this to save time loading shaders from Substance Source, but should work for any substance material. Just select the parent folder of the texture you want. Figured some others might find it useful too. It has proper viewport handling of Base Colour, Roughness, Metallic, Normal, Emission and Displacement. Not 100% perfect, but pretty damn close. Hdalc for now. Tried to upload to orbolt but kept getting an error (Invalid node type name). Don't think it likes redshift nodes. If anyone has any experience with this let me know! MT_RSSubstance_1.0.hdalc
  11. 3 points
    "Organics" Houdini 17.5 & Redshift Cheers, Tom
  12. 3 points
    Creating geometry beforehand is not a bad idea, because it lets you tweak otherwise hard to control process. Do you have a depth for you image? (from a render or stereo camera, or the challange is to create an illusion of such?). In case you want to go right from pixels to voxels and you have some depth channel, the example uses Houdini's render with P-plane, which holds depth in (RG)B channel. Anyhow it's just a gray image after all... volume_from_depth.hipnc btw:
  13. 3 points
    If you're using H17, there's a much easier approach that's also a lot faster than the other solutions - just turn on the Use Piece Attribute toggle on Attrib Promote example_fix_03.hip
  14. 3 points
    I usually do it like this: vdb_maskvel_dv.hip
  15. 2 points
    Hth, few more notices: - now I found this great answer: https://www.sidefx.com/forum/topic/55015/#post-246795 - collision field is just a scalar field - btw have you seen this great explanation? At 29:00 Jeff talks about divergence https://vimeo.com/42988999 The "make_divergence_free" part of smoke solver is three steps ( 2.A or 2.B or 2.C, depends on the method you choose) 1. Gas Enforce Boundary http://www.sidefx.com/docs/houdini/nodes/dop/gasenforceboundary.html 2.A Gas Project Non Divergent https://www.sidefx.com/docs/houdini/nodes/dop/gasprojectnondivergent.html 2.B or 2.C Gas Project Non Divergent Multigrid (or its OpenCL version enabled) https://www.sidefx.com/docs/houdini/nodes/dop/gasprojectnondivergentmultigrid.html 3. Gas Feedback http://www.sidefx.com/docs/houdini/nodes/dop/gasfeedback.html
  16. 2 points
    Btw you can also add Visualiser to the "collisionvel" field (it is not visualized by default) - unlock the /obj/smoke_no_vel/dopnet1/pyro/smokeconfigureobject2 - find the "collision_velocity" node - add a "Vector Field Visualization" node Connect and set it, something like this:
  17. 2 points
    Hi guys, I saw in Youtube a animated Magnetic Resonance, I and tried to reconstruct that real head using the 2D sequence of that video...follow the result: (The video was 720p, forhaps, better resolution ans quality I could generate a more detailed geometry)
  18. 2 points
    R&D in Mystique type effect - flipping tiles driven by procedural animation. In this case, I used curvature to drive rotation of tiles in copy stamp sop.
  19. 2 points
    @Atom I've been looking at Python in Houdini only recently, so I look forward to get more people's insight. Put it in any of the locations corresponding to $HOME, $HSITE, $HIP, $JOB inside a structure like {loocation}/{houdiniversion}/python2.7libs/ For example I have $HSITE at F:/HOUDINI/HSITE/ so I put the huilib.py in F:/HOUDINI/HSITE/houdini17.0/python2.7libs/ After this import huilib in the shelf tool Script field will be able to find it. As for running the examples, here I'm not so sure about the correct method, but what I've been doing is putting my scripts in a subfolder ../python2.7libs/PRB_HOM/ which contains an empty __init__.py and then call those scripts from the shelf with import. For example, I've put in said folder the example shipped with huilib, all_gadgets.py, while changing the script bottom part from: if __name__ == '__main__': ui = TestDialog(name = 'test', title = 'Test UI') ui.show() into def main(): ui = TestDialog(name = 'test', title = 'Test UI') ui.show() if __name__ == '__main__': main() And then in the shelf tool Script field I can do: from PRB_HOM import all_gadgets as tool reload(tool) tool.main() And this way it gets picked up. This is how I'm running my shelf tools in general, so I can store .py files in a repo and use an external editor and not have the scripts stored in the .shelf file. But I'm curious to know if this is "the proper" way to do it @Stalkerx777 or anyone! It would still be nice if we could work in the Parameter Editor and store that into a .ui file. Cheers PS: I failed to refresh the page and notice you guys already sorted it
  20. 2 points
  21. 2 points
  22. 2 points
    just to select random end point per curve without any sop or vex for loops you can do (pointwrangle) int index = -(rand(@primnum) < 0.5); int pts[] = primpoints(0, @primnum); i@group_randomend = pts[index] == @ptnum;
  23. 2 points
    Like image or ? untitled.wav
  24. 2 points
    Heyya! Over the past couple of days I've been building and extending this, at it's core very simple, Noise generator tool. It's called, incredibly intuitively: Noiser. I've gotten quite sick of always doing the same simple Noise-VOP over and over again so I built this nifty tool that saves me a small but accumulating amount of time (and energy) every time I need some noise. I'm really fond of it and it rarely takes me more than a couple of minutes into any project that I drop it down. Here's a quick video demonstration: https://vimeo.com/271007816 And the DL: noiser.hda and a simple demo screen of the defaults: And that's the relatively simple setup. I hope someone else will find it as useful as I do! Cheers, Martin PS: I just found a volume-noise tool in my OTLs-folder, so I thought I'd just share this as well. Practically the same thing working for both SDFs and Volumes (VDB & Primitive). vol_noise.hda
  25. 2 points
    Hey! With the desire to contribute to this community, I will use this thread to collectively post some of my setups here, in an attempt to help others learn Houdini. My experience was that going through established setups was a great way to learn - and that breaking working setups and learning what breaks them, teaches things that tutorials never really touch. So whenever I found a page sharing advanced setups like that, my heart lit up, and this thread will be an attempt to recreate this feeling in others. Being a current student at Filmakademie BW, this thread is also an hommage to the work of my (just graduated) great colleague Juraj Tomori - and his "Juraj's Playgound". (Here is the link) Enough babbling about, let me start off by showing my reel of the works that accumulated over the past two years in which I worked with Houdini. The first post will also be sharing the first setup shown: The arena shot of the plasma cannon destroying a concrete pillar. The entire sequence was my bachelor thesis about "Procedural 3D for Film Using Houdini" where I tried explaining a procedural approach in written form and detailing my setups. If anyone is interested, I will also be sharing it here. The arena environment was also procedurally modelled in Houdini, which I will also be sharing a setup on in the next couple of days. I hope you will like it, Cheers, Martin
  26. 2 points
    you can also put in a third argument in the foreach, the index you are running over. //run over primitives, use this on a polyline and you will get the order of the points int primpts[] = primpoints(0,@primnum); foreach(int index;int i;primpts){ setpointattrib(0,"index",i,index,"set"); }
  27. 2 points
    I've attached a cleaner and updated (for H17.0+) version of this hip file. In the original file, the rubber toy was in there for initial tests. It serves no purpose. Load your alembic geo in as houdini geo or delayed load primitives. Put down an unpack sop, and a convert sop to manipulate it in Houdini. If you're in need of more help, upload your file and your alembic caches so I or anyone else can set you in the right direction. run_smoke_v003.hipnc
  28. 2 points
    Interesting challenge. Not too difficult IMO for an illusionist... which I'm not Nevertheless here is a way to start. It'all about transfer attributes and UI. For the moment the difficulty (for me anyway) is to add a square mode to the scales. here is a file. I start from an Entagma tutorial : Built-In Nodes vs. VEX: Voronoi-Morph vimeo.com/312285886 There is a control with some paramaters to tweak, and a curve who control voronoi "influence". But the curve could or rather should be used to transfert other attributes. ChameleonSkin_test1.hipnc.
  29. 2 points
    - convert your velocity volume to VDB - make sure it's a single vect3 VDB primitive (VDB Vector Merge SOP) - convert to speed float VDB (VDB Analysis SOP: Length) - compute Minimum or Maximum or other and store in Prim attrib or Detail or ... (Volume Reduce SOP)
  30. 2 points
    actually, you can't read groups directly as i thought, but you can easily convert them to a string attribute and read that: groups.hiplc
  31. 2 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
  32. 2 points
    I have dealt with some of the same issues as you @caskal and my solution was as everyone else suggested. I have a Wacom tablet and an evoluent vertical mouse. I use my left hand with the Wacom pen and right hand with the mouse. This way I can easily switch between them and not overuse my wrist.
  33. 2 points
    Post a hip file so we can diagnose the issue
  34. 2 points
    I had similar problems., but I've found the ultimative Solution (my doc told me). Try a tennis ball and massage your forearm muscles. Sound super stupid but its awesome! there are also special massage balls for this purpose. Its worth a try!
  35. 2 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
  36. 2 points
    During the last 3 weeks, a did some Rnd and published my results on vimeo . Some people asked me to share my files here, so here we are i hope it will help!
  37. 2 points
    Hello, since last week i can play with houdini again to keep going my tests ... and bellow , some of my latest hip files from this video: torus+wrinckles+.hiplc stick man rbd+ .hiplc bubbles- rbd+cloth-2.hiplc
  38. 2 points
    O! I've found the answer: "/home/work/mytexture.`padzero(4,$F%150)`.tif"
  39. 1 point
    primitive wrangle on your original geo: int pt = addpoint(0, @P); setpointattrib(0, "N", pt, v@N); removeprim(0, @primnum, 1);
  40. 1 point
    Packed primitives like those coming out of a Packed RBD Object store their transform information in primitive intrinsic attributes. The rotation is part of the "transform" intrinsic. You can convert this to a p@orient attribute recognizable by the Copy SOP with the following VEX: matrix3 xform = primintrinsic(0, "transform", @ptnum); p@orient = quaternion(xform); btw MOPs also can do this via Extract Attributes.
  41. 1 point
    Thanks to @Stalkerx777 for his library: https://bitbucket.org/alexxbb/huilib/overview Really fits my needs here of having some simple options for something that is just to run once. @garf Indeed I'll go down that path for heavy lifting stuff. But atm that would be a rabbit hole for me. @kiryha Thanks for producing that! Sounds like it will be verbose for evolved things (maybe even more than what is being executed) and probably a good opportunity to get in to code generators.
  42. 1 point
    You could put the following code into a POP Wrangle to separate your particles into 4 groups. if (@id % 10 < 3){ @group_group1 = 1; } if (@id % 10 >= 3 && @id % 10 < 5){ @group_group2 = 1; } if (@id % 10 >= 5 && @id % 10 < 6){ @group_group3 = 1; } if (@id % 10 >= 6){ @group_group4 = 1; } And then you could also replace @id by rand(@id+123) * 10 to get a random seed
  43. 1 point
    Hi, have you any audio drivers active? Just try to deactivate it. Good luck!
  44. 1 point
    I also find the decision unfavorable. But once you reverse the winding order the polygon will face positive axis directions.
  45. 1 point
  46. 1 point
    Hi You might need to convert your groups into regular attributes. Check out the attached file to see how attributes on an object travel through a bind and bind export in the shader and is picked up in the aov section on the mantra node. I tried with groups but i couldnt figure out how to bind it through the shader. -b aov.hiplc
  47. 1 point
    do you last 'long' in Call of Duty using the Evoluent mouse ?
  48. 1 point
    Hi folks Im a Houdini-noob, but somewhat techsavvy nerd, tryin to learn Houdini by fiddling with it, building stuff! atm tryin to re-create the "sharing" system visualised w the gif here ( i originally created it w pflow dataops in 3dsmax, but a fine case for houdini i thought ) idea of the system is each point representing a unit with a certain amount of energy if a point have a overcapacity of energy its look if a neighbour nearby is in need of energy if a energy-wealthy point sends energy to another, its withdrawn the amount of energy the lucky energylacking neighbour receives probably a deep plunge but thought, Hey I can easily write this w vex wrangles inside a SOP solver and voila - turns out not so easy... I sort of solved the exchange of energy btw groups of points, but struggle with visualising the "sent" energy as a "extra point flying from the energy-wealthy point to the energy-lacking one... seems fx i cant assign a velocity to the extra added point, only move it by moving its position Am i taking the totally wrong approach to this or is there hope? sharing v01.hipnc
  49. 1 point
    I found a way now! It wasnt the most obvious way to change shape but this is the way i found out: node.setUserData('nodeshape', "bulge") to get a list of all available node shapes : editor = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor) shapes = editor.nodeShapes() print shapes
  50. 1 point
    simple... polyline --> add noise, cpoied it multiple times with offset in pivots and rotation. copy the result multiple times, with random offset in transation, from result creatre a mesh with wireframe node, create primitive ot of it, copy the primitve multiple times with some random offset, repeat, repeat repeat..... the rendering was done in keyshot. fastest cpu tracer s far....