Jump to content


  • Content count

  • Donations

    60.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by ikoon

  1. RBD sim and orient

    Or maybe increase substeps on the solver. Maybe also try to set the Bounce to zero, or add a POP Speed Limit to the third input of the Rigid Body Solver, and look for some crazy values in the @v or @impact attribute, to see where the problem occurs.
  2. RBD sim and orient

    Hi Martin, you may try to set the i@found_overlap point attribute to 1, to check if intersections are really not an issue? And/or try to check the Solve on creation frame on the RBD Packed Object DOP? Or try to lower the collision padding, or scale down those source points a bit? https://www.sidefx.com/docs/houdini/nodes/dop/rbdpackedobject.html
  3. Hi, here is a related talk and designs by Akira Saito: https://vimeo.com/305053254 https://twitter.com/a_saito https://www.artstation.com/asaito Rohan Dalvi recently announced new tutorials: https://forums.odforce.net/topic/43572-procedural-armour-generation/ Also, this looks similar: https://www.cgcircuit.com/course/procedural-hardsurface-design-in-houdini Also, you may like these Jake Rice's write ups, which I believe describe related topics: https://medium.com/@jakerice_7202/computing-the-dual-ff2a93077e2e https://medium.com/@jakerice_7202/voronoi-for-the-people-60c0f11b0767
  4. Hi, also, inside each Filecache SOP, there is a ROP Geometry Output SOP, named "render". So, you can create ROP Network, create two Fetch ROPs and merge them. For each of the Fetch ROP, you need to set the Source ... for example the path to the surface_cache's ROP Geometry Output will be: /obj/fliptank_fluid/surface_cache/render When rendering the merge node, you can also set to render Node by Node, or Frame by Frame:
  5. Hi Julien, with addpoint() you can reference an existing point to get all its attributes and group memberships: https://www.sidefx.com/docs/houdini/vex/functions/addpoint.html Also, there is a detail intrinsic, which stores all the point attribute names: s[]@pointattributes = detailintrinsic(0,"pointattributes");
  6. how to read the fourth value in vex

    Hi, it should be f@aaa = p@cost[3]; p@cost is vector4
  7. I was using this simple script (with hotkey) for a while, but it is probably not right way to do it. Sometimes the playbar gets "stuck" and play() command doesn't work. Even if I run hou.playbar.play() from the python shell. I have to push the UI play button then. I assume, that a right way is to use eventCallback(), but I cannot make it work, too. Please, do you anybody have working script for that? if hou.playbar.isPlaying() : hou.playbar.stop() else : hou.playbar.play()
  8. Hi Rival, here in this thread, there are few examples: https://forums.odforce.net/topic/27815-chops-vex-and-the-future-of-chops-in-houdini/ A] If you only want to drive one parameter with one channel, then there are two common solutions: in the chop network, set the "export prefix" and "channel name", so that they together add up to a parameter path type the chop() expression in the parameter, and reference the channel's address The first method is like "push (export) or affect something out of chops". All the "export magic " is done in chops, the target parameter just gets affected. The second method is something like ... "pull (read) something from chops". I attach them in a hiplc file. First method: Second method: First method, but both channels in one node: B] If you want to affect geometry attribute, then there is this tandem of nodes: https://www.sidefx.com/docs/houdini/nodes/chop/geometry.html https://www.sidefx.com/docs/houdini/nodes/sop/channel.html chop.hiplc
  9. Proper Branching Topology

    Hi Michael, welcome to the forum and to Houdini. If you like to “nearly drown” in vex, than you may like this talk
  10. You may try the MOPs Audio Falloff: https://vimeo.com/273252739 Or you may dive into CHOPs, and use Band EQ Chop https://www.sidefx.com/docs/houdini/nodes/chop/band.html and then, on equalized spectrum, try to use the Trigger Chop https://www.sidefx.com/docs/houdini/nodes/chop/trigger.html
  11. Hi Marco. Unfortunately, for example, one tone of piano contains many frequencies, not just the fundamental one. You can see that in this video: https://www.youtube.com/watch?v=5xjD6SRY8Pg Drums are even "worse", they contain many frequencies: (source: https://www.soundonsound.com/techniques/synthesizing-drums-snare-drum) So, in the music, frequencies of instruments overlap. There are tools, which try to recreate MIDI from the Waveform (Ableton has "Audio to Midi". I have heard, that Melodyne should be even better). AFAIK, they use the spectrum analysis internally. You may try this free tool, to generate Spectrograms: https://sonicvisualiser.org Maybe there are new tools, which use Machine Learning to analyse the spectrum, and detect the instruments? I don't know. But you can see, that this subject is not that simple. For example, our brain can easily "read" the rhythm. But for computer, detecting the BPM is not so easy.
  12. Hi Masoud, now I checked also the Use Only Original Point Positions:
  13. Hi, You may try the PolyReduce SOP with these settings:
  14. Add prims VEX

    As Mark Twain said: “I didn’t have time to write a short letter, so I wrote a long one instead.”
  15. Add prims VEX

    I am really not sure, if this is the best solution. I also feel like overcomplicating it BTW I have hardcoded 10 iterations. You can change that. connect_to_center - v2.hiplc
  16. Add prims VEX

    Here is that "node" method, with poly output. Hiplc is attached too. connect_to_center - v2.hiplc
  17. create volume trails from smoke

    You can dive into the Smoke Configure Object Node (inside Smoke Object) and look, how exactly is the default visualisation done. https://www.sidefx.com/docs/houdini/nodes/dop/smokeconfigureobject.html
  18. Add prims VEX

    Hi philpappas. In your vex, you use i to iterate over the points. At the same time, you use i as an prim_num argument in addvertex here. int addvertex(int geohandle, int prim_num, int point_num) So this might be a problem. Also it seems, that you may want the polyline, instead of the poly? I am not exactly sure, how the result should look like, but I attach a node solution for inspiration. I might help you with the vex too, but please clarify your intention. connect_to_center - v1.hiplc
  19. Yes, in the Type Properties (and also in the Edit Parameter Interface), you can write expressions (both Python or Hscript). You can also put your cursor in the input (edit the expression) and hit Alt+E or Crtl+E to open External Editor ... and you can comfortably edit multiline expressions there.
  20. Hi philpappas, is this what you need? Two ways:
  21. uniformly spaced noise

    You could also use terrain as a source for your contour lines: https://forums.odforce.net/topic/28306-topo-lines-terrain-curves/ https://forums.odforce.net/topic/40535-heightfield-isolines/?do=findComment&comment=195024 Or you could follow this approach: https://vimeo.com/134057856
  22. uniformly spaced noise

    Hi chougimmeen, here is one of possible approaches. Hiplc is attached. uniformly spaced - v0.hiplc
  23. Copy to points issue

    Hi David, you may check the following facts. I am not exactly sure, what exactly should be the result, but this may help you? - pscale on all of your template points (right input of the copytopoints1) is 0.0, so even if something is copied, it is scaled to 0.0 - you copy only onto the "root" group, and there are only three template points in that group EDIT: - I just noticed, that you may also have a typo in the Group Create? "acCtive"
  24. Vex bracket thought

    Hi Andrzej, those yours two lines are both fine, as long, as you don't use variables or @attributes inside the first method {}. The "advantage" of the set() function is, that you can use variables (or attributes) as an argument: float x = 0; @y = 0; // next line contains error: v@a = {x, @y, 1}; // next line is correct: v@a = set(x, @y, 1);
  25. [SOLVED] In/Active Constraints

    Hi Chaz, on your constraintnetwork1 you had the parameter Overwrite with SOP set to 1. That is why your constraints were unbreakable.