Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by ikoon

  1. When I run the external editor (Sublime), I understand that Houdini freezes and waits for the update from the external editor. That is probably necessary. But can I somehow set Houdini to not go fullscreen white? Is there any Houdini / Windows parameter, please?
  2. @jkunz07 this 'vcomment' is great, thank you! Anybody, please, is it possible to set anything similar, independent on camera?
  3. Set Display Options in Python

    I use this one to toggle Display of points on/off: pane = hou.ui.curDesktop().paneTabOfType(hou.paneTabType.SceneViewer) settings = pane.curViewport().settings() markersDisplayModel = settings.displaySet(hou.displaySetType.DisplayModel) markersSceneObject = settings.displaySet(hou.displaySetType.SceneObject) # Toggle the markers (visible when inside /obj/...) markersDisplayModel.showPointMarkers(not markersDisplayModel.isShowingPointMarkers()) # Unify with the scene (visible when in top level "/obj") markersSceneObject.showPointMarkers(markersDisplayModel.isShowingPointMarkers()) More to read is here in docs: http://www.sidefx.com/docs/houdini/hom/hou/GeometryViewportDisplaySet For example: setShadedMode(shaded_mode) #wireframe, hidden lines, shaded with primitive face normals, outlined polygons...
  4. The Area CHOP doesn't care about keyframes. You can wrangle almost anything, also with the "if" statement, but you probably don't have the list of keyframes? Probably Python iteration is needed here? http://www.sidefx.com/docs/houdini/hom/hou/Parm hou.Parm.keyframes() → tuple of hou.BaseKeyframe Returns the keyframes on this parameter.
  5. update variable inside custom function (vex)

    Gabriel thank you very much!
  6. Please, in vex, is it possible to define a custom function, which will update the variable, without classic a = function(a) assignment? For example: f@big = 1.5; clamp01(f@big); // function clamps between 0 and 1 f@result = f@big; // result is 1.0 I found nothing, but I am newbie, sorry. Is this technique called "pass by reference", or also "pass a pointer"? Probably not possible in vex?
  7. I also like to use Trigger to "find" beats above some threshold and generate "new beats" generated by this node's specifications. Another nice chop is Area ... I use it to drive noise's offset. With Area CHOP, the offset then doesn't go forth and back, but goes on and on ... each beat the noise travels a bit ... which is nice. Also Spring, Jiggle (needs three channels, but you can fake it), Delay (creates Echo). I have used few of them here, you can investigate:
  8. F1 you are an angel! Thank you so so so much!
  9. I would like to define custom vex function and use it in my wrangles. It will just return interpolated 0-1 value, a fade in a time range. My problem is, that I would like to define it in a duplicate way (and that I am too newbie to do it). float fade(float actualtime, float fromtime, float endtime, string mode="linear") float fade(float actualtime, float fromtime, float endtime, string mode="nameofchramp") The mode="nameofchramp" ... I mean for example UI chramp name "my_bezier_ease_out". Please, can the function read from "external UI" chramp? How should I define this duplicity in the custom .h/.vfl file? I dont mind if I have to create the ramp manually.
  10. Creating VEX libraries

    F1 Thank you very much! Also thank you for the PRO wrangle in the file! Now I understand the system much more! I thought that we need some header of the wrangle SOP, for it to be able to evaluate the button, I was disoriented.
  11. Creating VEX libraries

    @f1480187 please, how do I "include the header in wrangle"? If I just unlock the wrangle and drag the "Force Compile" button from attribvop1 node (Vex Setup folder) to the wrangle, then it seems that I even the original button?
  12. Please, how to follow path and auto-bank now with the new H16 constraints? In H14 we had the Auto-Bank factor, which controlled the automatic banking of an object as it turned corners. For now I just revealed the old interface in H16 (it is just set invisible) https://www.sidefx.com/tutorials/motion-path/
  13. Smoke Swirls inside pyro?

    Here, Matt Estela has a source file and nice explanation: http://www.tokeru.com/cgwiki/index.php?title=HoudiniDops#Pyro_and_collisions Btw that superman effect is not physically correct ... those two vortices are made by two downward velocity "fields" under two wings. So you will have to fake those two fields:
  14. menu pan/scroll with wacom pen?

    Hi, MMB to pan - unfortunately no. Maybe in the future? For now I got used to this layout, you can also ladder the parameters far left/right: http://forums.odforce.net/topic/30009-h16-node-naming-coloring-and-layout-guidelines/?do=findComment&comment=168665 Btw I was many years 100% on intuos, and last month I discovered this mouse: http://forums.odforce.net/topic/31442-roccat-tyon-mouse-recommendation/ When building the network, I am happy with the mouse. Those extra buttons are handy.
  15. I bought this mouse and I am super happy with it: Roccat Tyon https://www.roccat.org/en-US/Products/Gaming-Mice/Tyon/ I have mapped the following keys/functions. It has a special "shift" button, so the functions/buttons can be doubled. For example scroll wheel with that shift can be set to scrubbing the timeline. Or jumping up/down the nodes in the network. The four have the same layout as on the keyboard, so it is intuitive Ins / set display flag Del / set bypass flag PgUp - node Up (also ctrl-pgup is dive out from subnet etc.) PgDn - node Dn L - layout H - home Scroll wheel - scrubbing in the timeline Left, Right, Up, Down Maximize pane Set camera pivot to geometry in the viewport Still I can map more and more functions on it, and I will. Maximum is 30 functions.
  16. Unfortunately I don't know about the hair method. But have you tried Instance? Renderers should gain speed from using the instance too, Redshift does. Mantra too. I don't know what kind of Instance system Arnold uses. Mantra can also benefit from packed geometry, try the new Copy to Points, with "Pack and Instance" checked ON. http://www.sidefx.com/docs/houdini/nodes/sop/copytopoints
  17. Call Render to disk with python

    myRenderNode.parm('execute').pressButton() ? sorry if it doesnt work, I am python beginner
  18. Re-timing Caches

    Well, other approach could be: - have a "speed" detail attribute, animate it (value of 1 would be the default speed) - then use Area CHOP to calculate the appropriate shifted frame number: http://www.sidefx.com/docs/houdini/nodes/chop/area But still you need Timeshift and keyframes for the "speed" attribute :-/ it just may be convenient for some kind of effecs.
  19. Please, I am trying to understand it, for example: - in SOPs, I source collisionvel from polygons ... at some resolution, at a position (vdb from polygons or fluidsource sop) - in DOPs, I apply that collisionvel to vel The "volume sample vector" from sops to dops happens inside the Gas Calculate? Is it the best sampling method? Shouldnt I somehow source collisionvel directly in DOPs? What if SOP is animated and SOP collisionvel volume gets animated, voxels DOP/SOP then get offset ... doesnt the DOP calculation get interferences or blur? Isnt it calculated twice to have matching resolutions/positions?
  20. Christian, I think that you want AOVs? Here is nice and short tutorial. (Quote: Houdini 13 - AOVs in Mantra In this lesson Andrew Lowell (Lead FX TD Instructor) is going to show you how to set up and export AOV's in Mantra. ) Here is how to store image planes to separate files:
  21. OpenCL microsolvers in DOP are not yet multiGPU. With DOP (I have tried pyro upres with opencl), for me (5820K / GTX1070) the cpu is still the limit. CPU is fully loaded and GPU is quite idle. Even if I switch all the microsolvers OpenCL on with a script. Maybe sobebody has another experience? Maybe the "RAW" OpenCL kernel can use 100% GPU, if you have optimized snippet, I don't know: http://www.sidefx.com/docs/houdini/nodes/sop/opencl
  22. save each class seperately

    This code should work, in a primitive wrangle, as in the attached scene: if (i@class != @Frame-1) { removeprim(0,@primnum,1); } class.hiplc
  23. save each class seperately

    Btw you can also edit the animation range, to start from frame 0.
  24. Help with breaking down an HScript expression

    I would press Ctrl-E on the expression (opens editor) and separate it to multiple lines. My example, different, but may help you: This expression is to generate the folder and filename (Output Image) e.g. $HIP/render/magnetic_camL/magnetic_camL_$F4.png The brackets are inside of backticks `{ lines of code }` because you want this to be evaluated as a string. If you want number, it would be just { lines of code } EDIT: Notice the lines with output += ... this could help you separate your line and test / debug it `{ string take = chsop("take"); string camera = chsop("camera"); float first = index(take, "_"); float start = 0; float length = first; string takeName = substr(take, start, length); string camName = substr(camera, 5, 5); string takeName += "_" + camName; string output = "$HIP/render/"; string output += takeName + "/" + takeName; string output += "_$F4.png"; return output; }`
  25. Thread PointVop Guidance

    You are welcome. VEX is really nice, not that difficult. I came across this, you may download the files and have some inspiration from it: https://vimeo.com/213613488