Jump to content


Popular Content

Showing most liked content since 09/21/2019 in all areas

  1. 11 points
    I wrote an article that is probably only of interest for the .1% It is a crash introduction to HDK, C++ and the mesh laplacian. https://mbaadsgaard.com/portfolio/laplacian-eigenvector-plugin-for-houdini/ Feedback is, of course, also welcome
  2. 8 points
    Hey all! This has been on our minds for some time and we finally made a new forum: https://forums.odforce.net/forum/72-marketplace/ There seems to be a growing trend of commercially available tools for Houdini, which is a good thing and so we want to support it while also not polluting the general forums. If you're selling a service or a tool, please put it in that forum. And if anyone stumbles across older threads that have commercially available tools, please flag it and the mods will move it into that space. Thanks! M
  3. 8 points
    You asked, @srletak, here you go HIP file: https://www.dropbox.com/s/z21g0nl0qhl1c50/vellum_grass015_send.hip?dl=0 It's a simple way to make such kind of motion. I sometimes post different setups on Houdini Artists FB group. Feel free to join on FB/Insta to know about another hippy
  4. 7 points
    Just to show the blender heads how it's done ; ) I have created a tutorial on modeling a procedural donut and chose this place for posting the (updated) hip file. donut.hipnc
  5. 7 points
    Now I get it , just to fine adjust and I'm goona posted hipnc .
  6. 6 points
    The End is Nigh! Houdini 18 is COMING!!! Kicking this wish list off as by all trending and statistical estimated Houdini 18 should be arriving in the Halloween time period of old. My first wish is a call to ARMs! Seriously speaking maybe one day Python 3 inline with the Visual Effects Society guidelines for 2020, but long term a lot of hardware profiles are switching to ye-old ARM based architecture something as old as SideFX itself and installed on over a 100 Billion devices. The catch is these are the IOT, Mobile, and XR hardware of the world which to be fair is still behind server racks. However the phone has drastic computing potential that if Intel would stop fighting it due to licensing issues ARM and RISC would have taken over the market. I really hope COPs has a second a life. It's easier to use SOPs and VEX for processing images and HEIGHTFIELDS than with COPs with far less bottle necks and crashing. The amount of nodes and stability in COPs is falling far behind all other contexts including every ones darling wrangle node. I would almost wish for COPs to be fully integrated into SOPs or MATs. Streamline the support into two heavily invested areas already. Gaining several debugging abilities that are just not implemented in COPs like the Geometry Spreadsheet. There are 151 nodes in COPs in which a lot of them could become quickly redundant if ported to either SOPs or MATs. If converted to MATs we would then have a Substance equivalent, especially if they gave the node UI a little love to show per node images. The biggest risk is overloading another context, but to be fair COPs is so severely under loaded it falls into the second tier of networks, so porting those tools would be a mere blip on the radar of total node count. My most realistic wish currently if for subnets and managers to have the flatten ability like foreach loops with the ability to collapse and dive into them. This would maintain networks for those of you who fear the combined context, but also allow to flatten simple networks so you can easily trace and debug all dependencies. As always this is a non-official wish list. So please submit BUGs, RFEs, and Questions to support. Also for anecdotal questions and rants branch them to another thread people will more likely help you for dedicated issues. -Ben
  7. 6 points
    Hey Guys. I made this little quicktip video about collision optimization. Have a watch if you fancy.
  8. 5 points
    Haven't seen 18 yet so don't know if the code editor was improved, but if not, this still is my ABSOLUTE NR. 1 wish. if(code_editor_improved != true) { Code editing in Houdini Wrangles is - well - crap. It's a total shame we don't even see command parameter lists when typing since even in value fields typing expressions does it and has autocomplete for paths etc. Even only bringing that ability to the VEX editor would be very helpful. Of course it would also make a lot of sense to have other settings and helpers in there, like auto-closing brackets, more clever cursor positioning, offering existing variables and attributes when typing etc. - the Houdini devs should know ALL about that, they probably spend their life in real code editors... The use of external editors could be improved a lot if a.) we wouldn't have to press ALT+E twice for the external editor and wouldn't have to get to the floating editor first each time and b.) if that connection would be "live" like for instance the Pinegrow Web Editor does it with a little plugin for Code and Atom, where you can type in either the internal or external editor and they update each other in realtime. The current system is too clumsy and the 3rd party implementations also aren't really there (no negativity towards the authors intended at all!). Make it native! Make it goooooooood! } else { All is well. Nothing to see here. :-) } Cheers, Tom
  9. 5 points
    Hi, This is going to be my next training series. Procedural armour generation in Houdini. There's still a lot of work to be done. I need to detail the torso, the neck and finally build a head gear. But it's coming along fine, so I figured it looks decent enough to share.
  10. 4 points
    Trying to recreate Scott Draves' algorithm in Houdini with VEX:
  11. 4 points
  12. 4 points
    Heres a quick and dirty setup of the concept Toad was talking about. scatterbox_01.hiplc
  13. 4 points
    If you've worked for more than a year or two in Visual effects you've likely seen or experienced yourself the dreaded call to get something PERFECT. But, as it is said "Perfect is the enemy of good enough." I bring this up because it's certainly happened to me. I've only recently in the last couple years become really comfortable with saying "screw it, this is fine". But it seems like a skill I should have mastered earlier in my career. So, hopefully a beginner will find this post and read it and save themselves some frustration. Has this ever happened to you? Has this happened recently to you? Have you been chasing down a technical solution to something when something quick and messy and by hand would have probably worked fine? Have you ever simmed and resimmed and tweaked and resimmed again and again trying to find that one set of parameters that would look great when really those few stray particles could have been deleted by hand after it was cached?
  14. 4 points
    What So a while back here at Filmakademie, four of us got together for 4 (!) days to hack together something that would work with Dolby Atmos, a very special sound system that is supposedly "truly surround" and just has a crapton of speakers all around you. How We just built lots of different setups that were all driven by a velocity field from a smoke sim that was based on an animation matching the audio. Quite happy with what came out at the end considering the time spent on it - it was great fun to work on it too. I would gladly share all of our setups, but unfortunately, everything was wiped as we worked on a temporary network drive. *mega-facepalm* But well, now it's art. The only thing left over is this one setup for the meshed smoke, which was one that I did: meg_glowsmoke_v16.hipnc Hope you can learn something from it. A huge shout out to my colleagues, Lucas Bruchhage, Tim Markgraf and Mike Razniewski that were such a great spirit.
  15. 4 points
    Hi Khaled, you can transfer geometry shapes and attributes to pixel maps with VEX functions such as uvsample(), xyzdist(), primuv(), volumesample() and nearpoint() inside a VOP2COP Generator. I attached examples covering: Transferring attributes Blending image textures by attributes Tracing points Tracing closed 2D curves Tracing open 3D curves Tracing flattened meshes Sampling volumes Combining those should give you a good variety of procedural image painting options, either directly or for masking: Another option esp. for baking ambient occlusion or even rendering perspective views would be raytracing with the intersect() function. GEO_to_COPs.hipnc
  16. 4 points
    Here is an example if you're interested. for the lowres sim, I had to change the "color" Enable Solver DOP, it required Alpha, and I didn't want that. for the upres, I just added "Cd" in the gasAdvect. As a bonus, I added a scalar field name "cdl", it's used to store/set the length of Cd on every frame, it keeps the colors visible for much longer. left: div size=0.2, right: div size=0.033 (6x upres) advect_Cd_bunker_001.hiplc
  17. 4 points
    Hello, with more than 10 years of experience, I'm looking for interesting VFX projects. Softwares: Houdini, 3dsmax Website: www.deko.lt Instagram: www.instagram.com/deko.lt ShowReel: https://vimeo.com/236899608
  18. 3 points
    Hi Ahmet, just to confuse you a little bit more, here is the definite answer ; ) use addpoint(), prim_normal(), setpointattrib() and removeprim() in a primitive wrangle: int pt = addpoint(0, v@P); vector nml = prim_normal(0, i@primnum, vector(0.0)); setpointattrib(0, 'N', pt, nml, 'set'); removeprim(0, i@primnum, 1); Out of curiosity: Hasn't this already been solved in your old threads? Another thing: You keep posting in the wrong forum section: 'Education' is for posting tutorials and learning resources. Your questions belong to 'Modeling'.
  19. 3 points
  20. 3 points
    seems like logo generator asset was finally updated from using Cookie SOP to Boolean SOP
  21. 3 points
    It's actually based on our old logo.
  22. 3 points
    soon for everyone(hipnc) to have fun, just to fine adjust yupiiiiii
  23. 3 points
    Already replied on the sidefx forums but just in case anyone here is curious, the answer is to reverse the nested dielectric "surface priority" parameter on the materials... he has his priority settings backwards. lower number = higher priority, so set the droplet priority to 0 and the bottle priority to 1 and the refractions are clear.
  24. 3 points
    Take a look inside MOPs Pivot, if you can download MOPs where you are. There's a bunch of VEX in there that shows how to modify pivots in a number of ways without affecting the visible appearance of the packed primitives. Pivot adjustments are affected by scale and orientation, so there's some tricky bits in there that are easy to miss...
  25. 3 points
    Got some help on Discord. ap_toad_trails_for_atom.hiplc
  26. 3 points
    For the full course, visit : https://www.cgforge.com/course?courseid=quaternions-matrices In this quick tip, we take a look at a practical example which takes advantage of both quaternion and matrix (and/or Euler) based rotation.
  27. 3 points
    Check out the course at: https://www.cgforge.com/course?courseid=pyro-i Thanks for watching!
  28. 3 points
    Flipbook / Mplay: It should be able to create directories by its own while saving. Attribute Wrangle: Quick preview of function arguments while typing. A reliable and responsive way to stop a running simulation at the next frame. (Without killing the cache, crashing, etc.)
  29. 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:
  30. 2 points
    I have this in my scripts/456.py file, maybe it works for you?: hou.setSimulationEnabled(False)
  31. 2 points
    Short video catering more towards beginners. Let me know what you think.
  32. 2 points
    You can cluster per piece by making sure copy numbers are matching between primitives and cluster points. // primitive wrangle int pts[] = nearpoints(1, v@P, 1.0); i@cluster = -1; foreach(int pt; pts){ if(point(1, 'copynum', pt) == i@copynum){ i@cluster = pt; break; } } voronoi_per_piece.hipnc
  33. 2 points
    also if you have bones that you don't want to deform, just want them to deform muscles you can add them as external colliders to detangle penetration_removal_detangle2.hip
  34. 2 points
    Howdo folks, Vancouver's HUG has just wrapped up its 2nd annual T-shirt design competition and I thought i'd share the designs with you. Natalia Loktionova - Circle, won it with 25% of the vote .. then Helen Ahlberg - Nodes, in second, ... and Steve Shearston - ConceptA, in third All in all, it was a very good competition and I look forward to wearing the shirt when it comes back from the printers Cheers Ed Lee VHUG Admin
  35. 2 points
    Use points() for strings. https://www.sidefx.com/docs/houdini/expressions/point.html https://www.sidefx.com/docs/houdini/expressions/points.html
  36. 2 points
    thank you "qmultiply" was the thingy i needed. In my lack of knowledge i was trying subtract/add etc. or this wrangle. as it turned out, Bullet is spitting something that has completely messed up values, and they need to be reconstructed with intrinsics FROM: http://www.tokeru.com/cgwiki/index.php?title=HoudiniDops#RBD_extract_correct_transform_attributes matrix m4 = primintrinsic(0,'packedfulltransform',@ptnum); matrix3 m3 = matrix3(m4); @orient = quaternion(m3); @scale = cracktransform(0,0,2,0,m4); v@pivot = primintrinsic(0,'pivot',@ptnum);
  37. 2 points
    @domsewell sorry, but i have no time to do a tutorial like this. it's a complex process mixing a lot of vex and a few part of python . it take more than three months to have a complete system (include load/save building's modification for all the stuff ) not finish at this time (a long way is in front of me) but the "base" is here. "it's not easy , but that's why we like that"
  38. 2 points
    This is a very outdated thread. UDIM textures are supported in mantra and the viewport with the (admittedly rather awkward) %(UDIM)d syntax. /path/to/image%(UDIM)d.exr Luckily the file chooser has an option to insert this token for you.
  39. 2 points
    One seemingly hidden feature in Houdini is the power to attach expressions to time segments between keyframes. In this tutorial, I'm going to show you how to harness this feature to create your own custom interpolation model. We are going to make our own full-featured overshoot f-curve, which will read the incoming channel velocity and create and oscillating motion that exponentially decreases until it arrives at the exiting keyframe value. This tutorial is intermediate to advanced level, with most of it being done in python. Later, I show how convert the code to HScript. Coding experience and familiarity with Houdini is assumed. Houdini Version: 17.5 Level: Intermediate-Advanced Prerequisites: Python/HScript Running Time: 37 Minutes You can buy the tutorial here: https://gum.co/OHlDB
  40. 2 points
    scene_viewer = hou.ui.paneTabOfType(hou.paneTabType.SceneViewer) scene_viewer.setPromptMessage('')
  41. 2 points
    Hey Robby, you can translate random lines to center by calculating the average of their end points: // translate to origin vector pos = v@P; int pt_nb = neighbour(0, @ptnum, 0); vector pos_nb = point(0, 'P', pt_nb); vector center = avg(pos, pos_nb); v@P -= center; To align them first calculate the direction from one end point to another. Then use the dihedral function to create rotation matrices towards the desired axis. vector axis = chv('axis'); // rotate to axis float neg = sign(pt_nb - @ptnum); vector dir = normalize(pos_nb - pos) * neg; matrix3 rot = dihedral(dir, normalize(axis)); v@P *= rot; That way all lines should point at the same direction: center_align_edges.hipnc
  42. 2 points
    I made some progress on bending the pyro along a path. Extreme bends in the curve, reveal the rasterization, however. I pulled in a path deform subnet that I found at this link. ap_path_pyro_volume_093019.hiplc
  43. 2 points
    playing around with a design, trying to make it mechanical and organic at the same time
  44. 2 points
    Ah cool to know Yes, it should be possible to make a volume defomer via this method! The "Only Output Created Geometry" checkbox is a handy feature in the volume wrangle for these kind of setups.
  45. 2 points
    Yep, that's me on BA, too. I've been looking at the new 2.8 offerings, Eevee. Thanks for the file. I am still getting up to speed, with volume wrangles and your example helps. I have extended the wrangle, to include the temperature and heat fields as well. I think it might even be possible to replace the bend with a point deform and send the entire simulation down a path. ap_bend_pyro_volume2_092819.hiplc
  46. 2 points
    New version of the file, with foot planting on the other agents ! testWalkOverDeads_vMocapBiped_v3.hip
  47. 2 points
    Hi Atom, here's a simpler way to achieve the same effect with a better volume quality: I've made the changes to your .hip file:) Let me know if you have any questions! By the way are you the same Atom as from BlenderArtists forum? Cheers, Luca ap_bend_pyro_volume_092819.hipnc
  48. 2 points
    Hi guys, just another update on the tools: LYNX.shelf: Introducing the LYNX shelf, a collection of helpful presets and tools to support the LYNX toolset. LYNX_fabric: LYNX_fabric_configure shelf tool script let's you create weave setups with a single click A new example file for LYNX_fabric let's you bake patterns to tileable textures New patterns for LYNX_fabric_pattern UX improvements
  49. 2 points
    Welcome @DeKo you must share now some interesting hip(ssssss).
  50. 2 points
    while easily possible without coding, I just did a quick wrangle vector startP = chv("startP"); float width = chf("width"); float spacing = chf("spacing"); float length = chf("length"); int nlines = ceil(length/width); for(int i=0; i<nlines; i++){ float linewidth = min(length - i*width, width); vector linestartP = startP + {0,-1,0}*spacing*i; int pt0 = addpoint(0, linestartP); int pt1 = addpoint(0, linestartP + {1,0,0}*linewidth); addprim(0, "polyline", pt0, pt1); } ts_paragraph_line.hip