You can write chops to a .wav file using ROP Channel Output CHOP node, and then play that .wav as an audio file.
List of supported chop formats: https://www.sidefx.com/docs/houdini/io/formats/channel_formats.html [www.sidefx.com]
Also I would give a try using `op:/path/to/your/chop` syntax in the Audio Filename field.
Though I doubt that it will work, since mplay (the flipbook player) is a separate process from Houdini, so most likely it won't be aware of any nodes there.
Especially since the same mplay process can be used by multiple different Houdini processes simultaneously.
Found 9 posts.
Search results Show results as topic list.
Technical Discussion » Flipbook with CHOP shound
- play_w_madness
- 9 posts
- Offline
Technical Discussion » Is a way to Detect what Cd of surface that particles hit?
- play_w_madness
- 9 posts
- Offline
If your collisions are handled by a popsolver, there are options in the Collision Behavior tab of the popsolver, to add prim and UV attributes on hit.
With those attributes you can sample any attrib from the hit surface using primuv function in VEX: https://www.sidefx.com/docs/houdini/vex/functions/primuv.html [www.sidefx.com]
With those attributes you can sample any attrib from the hit surface using primuv function in VEX: https://www.sidefx.com/docs/houdini/vex/functions/primuv.html [www.sidefx.com]
Technical Discussion » hython runs with a threads cap when triggered via Deadline ?
- play_w_madness
- 9 posts
- Offline
From `hython --help`:
"""
-j arg : sets HOUDINI_MAXTHREADS to the given value;
arg is the max number of threads
"""
Which implies that HOUDINI_MAXTHREADS env var works for hython as well.
You can check the number of threads from inside hython using `hou.maxThreads()`.
Also there's `hou.setMaxThreads(max_threads)`, but according to docs, there are some limitations.
https://www.sidefx.com/docs/houdini/hom/hou/maxThreads.html [www.sidefx.com]
https://www.sidefx.com/docs/houdini/hom/hou/setMaxThreads.html [www.sidefx.com]
"""
-j arg : sets HOUDINI_MAXTHREADS to the given value;
arg is the max number of threads
"""
Which implies that HOUDINI_MAXTHREADS env var works for hython as well.
You can check the number of threads from inside hython using `hou.maxThreads()`.
Also there's `hou.setMaxThreads(max_threads)`, but according to docs, there are some limitations.
https://www.sidefx.com/docs/houdini/hom/hou/maxThreads.html [www.sidefx.com]
https://www.sidefx.com/docs/houdini/hom/hou/setMaxThreads.html [www.sidefx.com]
Edited by play_w_madness - Aug. 18, 2023 23:58:28
PDG/TOPs » Caching simulation ram issue
- play_w_madness
- 9 posts
- Offline
By what you're describing, I would assume that your "out-of-process" tasks are running concurrently.
In the local scheduler node you can limit the number of concurrent tasks based on how much RAM is being used by one task (which you have to figure out yourself).
E.g. if you know that one task requires no more than 32GB and you have 128GB, you can limit the number of concurrent tasks to 3.
The parameters responsible for concurrency are "Total slots", "Slots per work item", and "Single", you can read more on them in the documentation.
Additionally you can reduce the memory footprint by optimizing your scene, like setting unload behaviour on some nodes and reducing RAM cache limits of your dopnets, if you haven't done so already.
Also, there's a RAM hard limit setting in the scheduler, but it simply kills any subprocess that exceeds it (which still might be useful).
In the local scheduler node you can limit the number of concurrent tasks based on how much RAM is being used by one task (which you have to figure out yourself).
E.g. if you know that one task requires no more than 32GB and you have 128GB, you can limit the number of concurrent tasks to 3.
The parameters responsible for concurrency are "Total slots", "Slots per work item", and "Single", you can read more on them in the documentation.
Additionally you can reduce the memory footprint by optimizing your scene, like setting unload behaviour on some nodes and reducing RAM cache limits of your dopnets, if you haven't done so already.
Also, there's a RAM hard limit setting in the scheduler, but it simply kills any subprocess that exceeds it (which still might be useful).
Houdini Lounge » Need a programmatic version of Particle Fluid surface
- play_w_madness
- 9 posts
- Offline
You can use `hou` module in Python (or a `hython` executable) to do any operations you can normally do in Houdini GUI using Python, meaning you can read your point cloud data, process it with any tools Houdini has to offer, and output your processed geometry into a file.
More info: https://www.sidefx.com/docs/houdini/hom/commandline.html [www.sidefx.com]
More info: https://www.sidefx.com/docs/houdini/hom/commandline.html [www.sidefx.com]
Technical Discussion » Merge two heightfields seamlessly
- play_w_madness
- 9 posts
- Offline
(1) If you can overlap your height maps, you can do linear interpolation between the two over the area of their overlap.
(2) If not, you can introduce a third height map on their seam that would overlap with both of your height maps.
It should be a "neutral" (i.e. lacking distinct features) noise roughly the same frequency as the two height maps you already have.
Let's call your two maps A and B, and the new extra map C. Then on the overlap of A and C you interpolate the new value from (A) to (C + held edge value of B), and vice versa for B.
In both cases the seam won't be "perfect", but wider overlap areas will result result in smoother transitions at the cost of features on the overlapped areas.
In (2) the third map is required to make the interpolation happen between to changing values instead of between changing value and const.
I've attached a hip file with an example of the second algorithm.
(2) If not, you can introduce a third height map on their seam that would overlap with both of your height maps.
It should be a "neutral" (i.e. lacking distinct features) noise roughly the same frequency as the two height maps you already have.
Let's call your two maps A and B, and the new extra map C. Then on the overlap of A and C you interpolate the new value from (A) to (C + held edge value of B), and vice versa for B.
In both cases the seam won't be "perfect", but wider overlap areas will result result in smoother transitions at the cost of features on the overlapped areas.
In (2) the third map is required to make the interpolation happen between to changing values instead of between changing value and const.
I've attached a hip file with an example of the second algorithm.
MARDINI Daily Challenge 2021 » Day 31 Animation | Elements | Fire
- play_w_madness
- 9 posts
- Offline
MARDINI Daily Challenge 2021 » Day 2 Animation | Motion | Grow
- play_w_madness
- 9 posts
- Offline
MARDINI Daily Challenge 2021 » Day 1 | Motion | Bounce
- play_w_madness
- 9 posts
- Offline
Edited by play_w_madness - March 4, 2021 05:22:48
-
- Quick Links