Jump to content


  • Posts

  • Joined

  • Last visited

Personal Information

  • Name
  • Location

Recent Profile Visitors

2,827 profile views

DocWhite's Achievements


Newbie (1/14)



  1. Hello, what I would like to do is very simple, just for an exercise. I would like to run Houdini from a Python script using the hou module. What I am trying to get working is something like: import sys import subprocess sys.path.append('/opt/hfs15.0.244.16/houdini/python2.7libs') import hou hou.hipFile.load(file_name='/home/ramon/hello.hipnc') sf_geo = hou.node('/obj').createNode('geo') But I get no UI. I could do subprocess.Popen(['houdinifx', '/path/to/hipfile.hpnc']) but it creates deatached from the python script. Maybe should I create it first through shell (subprocess.Popen) and then load it using hou.hipFile? and start playing with it inside the python script? I would like to have a self-contained example. Just a python file that the user just runs like python script.py no more. Thanks and sorry for the stupid question. EDIT: I think I found out what I was looking for... haha... now i can compile vfls using Popen subprocesses and import them afterwards and doing everything in a self-contained file. cool. import sys import subprocess sys.path.append('/opt/hfs15.0.244.16/houdini/python2.7libs') import hou hou.hipFile.save(file_name='/home/ramon/hello.hipnc') hou.hipFile.load(file_name='/home/ramon/hello.hipnc') sf_geo = hou.node('/obj').createNode('geo') hou.hipFile.save(file_name='/home/ramon/hello.hipnc') subprocess.Popen(['houdinifx', '/home/ramon/hello.hipnc'])
  2. Just to clarify my workflow is like this because I want to create the UI using pragmas (like #pragma label param "Parameter 1"... and so on): 1. Save a .vfl file with this code: #pragma opname "create_geo" #pragma oplabel "Create Geometry" cvex create_point() { vector pos = {1, 0, 0}; addpoint(geoself(), pos); } 2. Compile it like: vcc -l create_geometry.otl create_geometry.vfl 3. I go to Houdini and File > Import > Houdini Digital Asset, select it and accept. 4. I go to a SOP context and lay it down and connect it under a Null node. And nothing happens obviously because we cannot create geometry in SOP VEX context. From the documentation I quote: So the thing is... Is it possible to run CVEX under SOP contexts? When I import the OTL it just lets me import it to be used under SHOPS. A friend told me this and he kind of sorted it out! Eligijus Titas So when you use the otl it opens in the SHOP network. Have you tried going to the Object network, put down an AttributeVOP go to 'Vex Setup" tab and set "Vex Source" to Shop and then link the loaded otl that is in SHOP network? Is that what you were looking for? Eligijus Titas Ohh and the AttributeVOP should be set to run over detail
  3. I'm CVA second year, we did like 2 weeks of houdini, and they didn't teach us VEX nor CVEX :'( maybe in 3rd year. Like proper CVEX stuff. I did this and it doesn't work because it only runs in SHOP as it is CVEX... I will have to wrap it propably I just wanted to generate a UI-d digital asset just compiling a single vfl file with pragmas thats it. #pragma opname "create_geo" #pragma oplabel "Create Geometry" cvex create_point() { vector pos = {1, 0, 0}; addpoint(geoself(), pos); } This did not work even if I compile with the -c cvex. But that flag is when you don't define a context function.
  4. Thanks for your answer! I tried what you suggested and it still does not create the point. I attach a screen capture so that you can see exactly what I am doing. Thanks Twan.
  5. Hello everybody! If we want to create geometry using VEX we can pipe a null node into an Attribute Wrangle and in the latest we can use functions such as addpoint() to birth geometry. One requirement is that we have to set it to run over Detail (only once). The problem comes when I want to do this using a .vfl file and compile into VEX and use a VEX node that points to the compiled file. Geometry won't be created. It is strange because I know VEX just work on points, not on Detail so I have two questions: 1. Why do we have to run the Attribute Wrangler in mode "run over Detail (only once)"? Why not points? 2. Is there a way to use a pragma flag or something to tell the vcc compiler that this code must run over Detail and only once? Thanks for your help in advance. Ramon.
  6. Same problem! But if I change the Geometry representation to Concave it is much more stable. But slower :-(
  7. Yeah you are right. I just don't understand why this parameter is not under the Settings tab as it says in the documentation. Thanks for the help Sergen!
  8. Hello guys! I am having a problem with the parameters on the Fluid Source SOP. I am reading the documentation and it says that I should have a "Source Amount" parameter on the node, but I cannot seem to find it. I tried accessing the Parameter Interface but I cannot find it in there... I just need to create a volume and initialize it to -2. I am soooo nooob on fluids and smoke simulations, I would watch a course but I am on a tight deadline so it would be great if somebody could tell me how to do it. Thanks a lot and sorry for my inexperience!
  9. Hello, sorry for the very late reply. I didn't get any email notifying that I had new messsages on odforce. My apologies for that. Thanks for your answer Christian! I will send you a private message now, I would like to see your approach. I got some feedback from other people and they recommended me this: - Pump to suck it around - Expand set up in reverse to allow the gases to compress as they get sucked toward a point. Don't forget this as you can only compress smoke so far without divergence in reverse. - Sink to evaporate the smoke So it matches with what Ryew says.
  10. Hello guys! I would like to ask you what do you think it would be the best approach to absorb a volume in a DOP simulation in Houdini. I thought of one but it might be wrong: Creating a spherical volume, then with Volume VOPS storing the gradient into an attribute and using it as a scaled force inside the DOP network. What do you think? Is there any other approach it comes to your mind? Thanks!
  11. OK! Now I am getting improvements. What I did was reading the documentation and it says: Geo time samples: The number of deformation blur motion samples. Each object (unless the parameter exists on the object) will have this many copies of the geometry included in the IFD. When an object is deforming it is necessary to increase this parameter to a value of 2 to see motion blurred geometry. Any number of segments may be specified, though a value of 2 is often adequate unless significant nonlinear motion occurs within the shutter time for a frame. This option has no effect on objects which use velocity blur, since velocity blur is linear by nature. So I unchecked "Geometry Velocity Blur" under the Geometry node (Geo Node > Render > Sampling) and increased the Geo Time Samples to 5. Now I am getting better results, the problem is that I wanted to get larger motion trails. Shutter offset is at -1. To have larger trails you have to go to the Camera node and set the Shutter Time to a larger number. It worked for me. The Shutter Offset was one of these things. Thanks guys.
  12. I changed to option to -1 and 0 and I still get weird directions. I think it has to do with the way the velocity is computed... Thanks for your reply guys.
  13. Hello guys I need some help. I am trying to get a nice tail for the marbles in this DOP simulation. Under the Geometry node "Geometry Velocity Blur" us checked and in the Mantra node I am enabling to render Motion Blur. Is there a way to re-calculate the direction of the blur based on the particle's velocity? Cannot figure out why the direction of the blur sometimes is even perpendicular to the velocity vector! Here is the video: https://vimeo.com/112666106 Any suggestion? Thanks a lot guys!
  14. You were right... It was a mere Houdini bug haha. Thanks a lot!
  15. Hello people! I came across a thing I still cannot figure out why it happens. If we perform an ADD operation using VEX of an image, and the original image in pixel (483, 26) for instance has a red value of 0.7529 and the other input we add this to is a turbulence noise which has a red value at position (483, 26) of 0.000, when they are added together it just outputs 0.0000 for the red value at the same position pixel! Why does that happen? See the image I attach, I create a gradient, I add the noise on top of it and it just eats all the area of the gradient in where the noise is 0, and it just adds these areas where there is noise to the value of the gradient at the point where there is noise. For a better understanding see the image I attach please. I am so bad at describing. Do you know why it doesn't work when adding noise? It's Original Perlin Noise so the values generated are between 1 and 0, we have no negatives floats. I am confused. Thanks a lot for reading.
  • Create New...