I tried the the combo Esc\del but it doesn't seem to work on Hou 17.
This unkillable console is very frustrating
Please check this setup. I'm trying to print to console ONLY if the @ptnum equals to 2, but it still prints out every ptnum.
What am I doing wrong?
Thanks
Found 900 posts.
Search results Show results as topic list.
Houdini Indie and Apprentice » Print goes wild. Houdini not responding. How to stop the flood in the console?
- Andr
- 900 posts
- Offline
Technical Discussion » Landscape - Understanding erosion
- Andr
- 900 posts
- Offline
nice! please update the thread if you find any “natural” way to do that, I'm curious too!
cheers
cheers
Technical Discussion » Landscape - Understanding erosion
- Andr
- 900 posts
- Offline
hey for sure there are more proper ways to do that, but you can consider to art direct yourself the big erosion lines.
Have a look at this rough concept
Have a look at this rough concept
Edited by Andr - 2018年11月16日 11:05:25
Technical Discussion » Frequency of cellular noise problem
- Andr
- 900 posts
- Offline
If guessed right u are trying to do something like this?
In that case, 2 considerations:
1) as you can see I used the unified noise, whose voronoi variations are good substitute for the cellular noise. (unified noise is the preferred noise to work with, as it groups most of houdini noises. Also in hou17 it got a significant speed bump)
2) use the node distance to compute the distance from the center. Don't know why the length node doesn't work (maybe it has to do with the “signature” of the vector.. this is obscure to me.
3) play with the pow node to have non-linear progression.
Hope I guessed right!
Cheers
In that case, 2 considerations:
1) as you can see I used the unified noise, whose voronoi variations are good substitute for the cellular noise. (unified noise is the preferred noise to work with, as it groups most of houdini noises. Also in hou17 it got a significant speed bump)
2) use the node distance to compute the distance from the center. Don't know why the length node doesn't work (maybe it has to do with the “signature” of the vector.. this is obscure to me.
3) play with the pow node to have non-linear progression.
Hope I guessed right!
Cheers
Edited by Andr - 2018年11月16日 09:31:24
Houdini Indie and Apprentice » CopyandTransformSOP Behavior Using a Line
- Andr
- 900 posts
- Offline
Technical Discussion » Landscape - Understanding erosion
- Andr
- 900 posts
- Offline
I guess you could try the “removal rate” parm in the advanced tab of the erode filter
Edited by Andr - 2018年11月14日 14:09:53
Houdini Indie and Apprentice » Remove prim Group Vex
- Andr
- 900 posts
- Offline
I've not tested it with groups, which would be a more real world scenario, so measurements might vary, anyway…
for deleting all the prims, we're talking about more than hundred of times slower than the blast node.
For deleting all the points it's even worse. I wonder if I did anything wrong with the performance monitor ahaha
Would be worth to measure it with groups and deleting only a portion of the geo.
Anyway, I was totally not aware about the big performance difference of the wrangle node in respect to the blast node. Thanks for pointing that out!
The adagio I've always heard is “always better to do stuff in a point\primitive Wrangle for performance reasons”.
Well, not at all true.
for deleting all the prims, we're talking about more than hundred of times slower than the blast node.
For deleting all the points it's even worse. I wonder if I did anything wrong with the performance monitor ahaha
Would be worth to measure it with groups and deleting only a portion of the geo.
Anyway, I was totally not aware about the big performance difference of the wrangle node in respect to the blast node. Thanks for pointing that out!
The adagio I've always heard is “always better to do stuff in a point\primitive Wrangle for performance reasons”.
Well, not at all true.
Edited by Andr - 2018年11月14日 13:55:05
Work in Progress » Rain Effect Simula tor
- Andr
- 900 posts
- Offline
I'm not expert too, but things that I would try myself:
1) setting up a scene with proper scale
2) slightly variations in velocity\direction
3) maybe changing density with some noise over time for the spawn of the particles?
4) drag force maybe too
5) i believe that shutter speed/motion blur plays a big role, but that's for render time. So you might want to simulate it instancing short lines of different lengths or use the trail sop?
regarding 1), you could copy\rotate the simulation a couple of time on different areas of the scene to increase the number of particles without simulating them?
1) setting up a scene with proper scale
2) slightly variations in velocity\direction
3) maybe changing density with some noise over time for the spawn of the particles?
4) drag force maybe too
5) i believe that shutter speed/motion blur plays a big role, but that's for render time. So you might want to simulate it instancing short lines of different lengths or use the trail sop?
regarding 1), you could copy\rotate the simulation a couple of time on different areas of the scene to increase the number of particles without simulating them?
Edited by Andr - 2018年11月14日 05:12:52
Technical Discussion » Viewport Screenshot
- Andr
- 900 posts
- Offline
oh thanks, now I get it.
I was still using hou.ui.selectFile() from the previous code.
cheers
I was still using hou.ui.selectFile() from the previous code.
cheers
Technical Discussion » Viewport Screenshot
- Andr
- 900 posts
- Offline
Should I go this way maybe?
https://pypi.org/project/pyscreenshot/ [pypi.org]
External module to take screenshots and save them to disk.
*Edit*
I guess I should use the openGL render node.
https://pypi.org/project/pyscreenshot/ [pypi.org]
External module to take screenshots and save them to disk.
*Edit*
I guess I should use the openGL render node.
Edited by Andr - 2018年11月13日 16:21:33
Technical Discussion » Viewport Screenshot
- Andr
- 900 posts
- Offline
Hello, I have to bump this old discussion.
I tried the code, which works super fine, but it popups the save dialog.
I need it to automatically write the viewport.jpg to disk, as fast as possible, as my trying to do a batch export of the crude geometry in the viewport. No need fancy stuff like AA, or shadows. Headlight only.
Ideally it should save the viewport_$F.jpg just after houdini cooks the frame. (so no save sequence)
I had a look at the hou.FlipbookSettings class [www.sidefx.com] , but couldn't find any method to automatically skip the save dialog, and write the file to disk.
thanks for any advice!
I tried the code, which works super fine, but it popups the save dialog.
I need it to automatically write the viewport.jpg to disk, as fast as possible, as my trying to do a batch export of the crude geometry in the viewport. No need fancy stuff like AA, or shadows. Headlight only.
Ideally it should save the viewport_$F.jpg just after houdini cooks the frame. (so no save sequence)
I had a look at the hou.FlipbookSettings class [www.sidefx.com] , but couldn't find any method to automatically skip the save dialog, and write the file to disk.
thanks for any advice!
Houdini Indie and Apprentice » COPs issue with SOP Import when setting planes from Heightfield.
- Andr
- 900 posts
- Offline
Technical Discussion » Getting normals to point inside a path, got a solution, wanna know if there is a more effective one
- Andr
- 900 posts
- Offline
maybe we can then iterate through every normal using a dot(thisNormal, nextNormal).
If dot product < 0 then flip nextNormal.
Given that my guess is right (I'm not really sure honestly), I tried this code in a detail attribute wrangle:
There's a problem, when you set N on nextpoint, in the following iteration the currentPoint will still have its original N, because I believe you can't modify geometry on the fly with Vex.
So maybe we should create a variable in the loop to store the nextN for the next cycle. But I'm lazy to do it now
If dot product < 0 then flip nextNormal.
Given that my guess is right (I'm not really sure honestly), I tried this code in a detail attribute wrangle:
for(int i = 0; i<@numpt; i++) { vector thisN = point(0, "N", i); vector nextN = point(0, "N", i+1); if( dot(thisN, nextN)<0) { setpointattrib(0, "N", i+1, -nextN); } }
There's a problem, when you set N on nextpoint, in the following iteration the currentPoint will still have its original N, because I believe you can't modify geometry on the fly with Vex.
So maybe we should create a variable in the loop to store the nextN for the next cycle. But I'm lazy to do it now
Edited by Andr - 2018年11月13日 10:30:09
Technical Discussion » Is there anyway to do the VDB blending?
- Andr
- 900 posts
- Offline
Technical Discussion » Getting normals to point inside a path, got a solution, wanna know if there is a more effective one
- Andr
- 900 posts
- Offline
Technical Discussion » Getting normals to point inside a path, got a solution, wanna know if there is a more effective one
- Andr
- 900 posts
- Offline
What do you mean by “normals to point inside a path”?
You mean you want to find the bisector vector for every angle?
Check this file: it's only vex, it finds the bisectors, but there's one problem: some are pointing outwards, some inwards.
Should be a good start, you can try to fix it.
Would like to know how to. Update with your solution if you find any
cheers
You mean you want to find the bisector vector for every angle?
Check this file: it's only vex, it finds the bisectors, but there's one problem: some are pointing outwards, some inwards.
Should be a good start, you can try to fix it.
Would like to know how to. Update with your solution if you find any
cheers
Technical Discussion » [python] dynamically populate Digital Asset with parameters from a Take?
- Andr
- 900 posts
- Offline
I'm trying to build a HDA “A” that, once fed with any Sop Object “B”, is able to interact with the Takes.
Inside my HDA there's a Python Node named “listen_to_Take” that reads the current Take and build a list of the parameters being changed in the node tree of the Sop Object B.
At any parameter change, the Take is updated with a new parm or a new values (as expected), and so does the list created by the Python Node reading the Take. So far so good.
Now the problem:
when I'm done with the changes in Object B, I want then to press a Button Parm on my HDA to retrieve the parameters from the list in the python node and recreate them in my HDA. These new parms in the HDA are then copy-referenced to the original parms in Sop Object B.
I guess I need to create a multiparms folder in my main HDA and then update it somehow with python.
I don't really understand how to do this.
Big help needed here,
thanks!
Inside my HDA there's a Python Node named “listen_to_Take” that reads the current Take and build a list of the parameters being changed in the node tree of the Sop Object B.
At any parameter change, the Take is updated with a new parm or a new values (as expected), and so does the list created by the Python Node reading the Take. So far so good.
Now the problem:
when I'm done with the changes in Object B, I want then to press a Button Parm on my HDA to retrieve the parameters from the list in the python node and recreate them in my HDA. These new parms in the HDA are then copy-referenced to the original parms in Sop Object B.
I guess I need to create a multiparms folder in my main HDA and then update it somehow with python.
I don't really understand how to do this.
Big help needed here,
thanks!
Edited by Andr - 2018年11月12日 11:12:19
Houdini Indie and Apprentice » "Tear off pane tab copy" user experience: a little bit frustrating. How can I improve it?
- Andr
- 900 posts
- Offline
Hey sorry for the super late replay, I just happen to find this thread again.
No, I haven't found a solution.
At that time (Houdini 15.5) SESI Support told me that issue 1) was probably due to a dual monitor setup, but they weren't able to reproduce it. So bad chance for it to be fixed. Do you experience this problem?
I can confirm that it's still happening in Hou17, but this time the new pane is created super minimized on the bottom left (instead of top left) of the screen. Well, something changed
Regarding issue 2) , I was told that they would address it in the next major release. But it appears that it wasn't addressed in Hou16, nor in Hou 16.5 and Hou 17.
If you ‘Tear off Pane Tab Copy’ (shift-alt-c), the new floating pane still gets NOT automatically set to “Not Following Selection”
Regarding issue 3) I don't really know what was I talking about 2 years ago
I don't have an RFE number for 1) and 2) unfortunately.
cheers
No, I haven't found a solution.
At that time (Houdini 15.5) SESI Support told me that issue 1) was probably due to a dual monitor setup, but they weren't able to reproduce it. So bad chance for it to be fixed. Do you experience this problem?
I can confirm that it's still happening in Hou17, but this time the new pane is created super minimized on the bottom left (instead of top left) of the screen. Well, something changed
Regarding issue 2) , I was told that they would address it in the next major release. But it appears that it wasn't addressed in Hou16, nor in Hou 16.5 and Hou 17.
If you ‘Tear off Pane Tab Copy’ (shift-alt-c), the new floating pane still gets NOT automatically set to “Not Following Selection”
Regarding issue 3) I don't really know what was I talking about 2 years ago
I don't have an RFE number for 1) and 2) unfortunately.
cheers
Edited by Andr - 2018年11月12日 05:28:32
Technical Discussion » Vellum Rigid Wires
- Andr
- 900 posts
- Offline
Houdini Indie and Apprentice » Quick Python: callback script fom button parm ?
- Andr
- 900 posts
- Offline
ok finally found what was wrong.
I spent two bloody hours on this dumb thing.
For future generations:
THE NAME OF THE MODULE MUST STRICTLY BE: “PythonModule”.
Don't change the name of the module (like I did) if you want to use this simple callback script for your paramater:that calls the function myFunc() stored in your module in the Scripts section.
This is mentioned in the documentation, although not super clear:
I spent two bloody hours on this dumb thing.
For future generations:
THE NAME OF THE MODULE MUST STRICTLY BE: “PythonModule”.
Don't change the name of the module (like I did) if you want to use this simple callback script for your paramater:
hou.phm().myFunc()
This is mentioned in the documentation, although not super clear:
Each digital asset type has a Python module, similar to the scene file’s hou.session module. You can use this module to store functions, classes, and objects specific to the asset type.
The module source code is stored in a section of the asset named PythonModule (on the Extra files tab of the type properties window). You can create this section manually, or Houdini will create it automatically if you create a “Python Module” event handler on the Scripts tab.
Edited by Andr - 2018年11月11日 21:21:10
-
- Quick Links