Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by malexander

  1. Velocity Blur Cop?

    Unfortunately, Velocity blur has never really given what you want. It should likely be renamed or removed. What it does is lookup the velocity at a point and sample the input along that vector. What a real motion blur does is lookup a velocity at a point, and smear that points color over several pixels in the output. This isn't possible to do in VEX without serious performance problems. If you're using 3D velocity vectors, additionally, you need to convert them to 2D velocity vectors using a depth map or point plane (after all, something moving 50mph a foot away from the camera blurs a lot more than something 100ft away). Hopefully I can get the time to create a Motion Blur COP at some point, to address this.
  2. How To Add A New Point To A Roto Shape?

    Shift+LMB on an image selects a subregion of interest. It used to be in Rotospline that you had to Shift+LMB click on the edge of the spline to insert a point (which is a handle itself). With Rotoshape, you can click anywhere on the image to insert, which made Shift+LMB to insert conflict with Shift+LMB to select. So, point insertion was changed to Ctrl+LMB. I figured by writing a new node I could get away with it Didn't quite, I guess!
  3. Bloody Vikings

    If all I have to do is drop you a note once to sign up as an editor, then I don't mind at all. Just as long as there isn't a per-edit hassle
  4. Multithreaded Geometry Rop?

    Even when using a multithreaded applications (like COPs), the threads are not guarenteed to stick to a certain processor. So you're not really losing much here by spawning separate processes - you just have to trust that the OS scheduling algorithm 'does the right thing'. Your main inefficiencies would be 1) the time to load 2 copies of Houdini + hip file and 2) having 2 copies of Houdini + that hip file in memory. You could do something like: echo "render-f 1 100 -i 2 /obj/geo1/rop_geometry1; quit" | hscript myfile.hip & echo "render -f 2 100 -i 2 /obj/geo1/rop_geometry1; quit" | hscript myfile.hip & wait This spawns two hscripts, and renders all the odd frames on one and the even frames on the other. The script will wait until both have completed. Such a script would be reasonably easy to generate and execute from hscript.
  5. Multithreaded Geometry Rop?

    No, there's not. Most of the geometry library and SOPs is not threadable, so it cannot take advantage of multiple CPUs.
  6. You can try turning the CIOverlay option off and see if that helps. I've used up to NV driver version 7174, and that one seems to be very stable. 7676 I've never tried because of its dependency on a newer version of libc which my Debian dist doesn't care for, so I'm unsure of whether that would be the issue (though I have heard rumors of strange problems with that driver version, but never seen them).
  7. Scripting Challenge: Using "dot" For Layout

    To all those about to create a sensible layout algorithm for VOPs - very best of luck to you! (seriously, too)
  8. "olduifiles.cpio.gz"

    It is a tarball of the ASCII versions of all the .ui files in $HH/config/Dialogs. They are compiled to binary before shipping, to speed up loading of dialogs. You'd only ever need these if you decided to change the UI layout of a node's dialog (which is not something to be doing lightly, as you can mess up the node).
  9. Chain Gun Effect(matrix)

    Sounds like a good application for POPs - use a Source POP to birth all your particles at the barrel of the gun. You can select a high birth rate to mimic the chain gun's rate of fire. The only thing I'm not sure of is how to get the initial velocity of the particle to match the direction of the barrel at the time of firing. I suppose you could use an expression in the Velocity parameter of the Source POP (also, set variance to zero, unless you want a very inaccurate chain gun). You could also use the Collision POP to have the bullets stick, bounce or die once they hit a wall (or whatever).
  10. For a little more sound realism in your animation, if your camera and/or motorcycle is moving, you could use the Spatial Audio system to do 3D positional audio. This will give you volume attentuation, doppler effect, stereo bi-aural difference (with 2 mics), echoes and sound occlusions. After all, you're working in a 3D app, right? To set it up: 1) Add a Sound object to your motorcycle, around where the engine is. Make it omni-directional. In the Sound folder, select the CHOP to use as your sound source (the finished sound from above). 2) Add two microphone objects, and parent each to the Camera you're shooting out of. Make them directional, and point them out of the sides of the camera like ears (aimed slightly forward, but otherwise pointed left and right). 3) In CHOPs, add a Spatial Audio CHOP. Select 'sound1' as your Sound Source (you can have more than one), and 'microphone1' and 'microphone2' as your Microphones (one channel is rendered for each mic). The result automatically gives you directional stereo, the doppler effect, realistic lag due to distance and distance-based volume attenuation. You can also add echo objects (objects which reflect the sound) and occlusion objects (objects which block the sound). Each of these objects requires a sound material (Shading tab, Sound page), which is a reference to an Acoustic CHOP which defines the spectral absorbtion, reflection and transmission of sound (see Acoustic CHOP help). You can also apply filters to Microphones, that run the audio through a curve-based band filter before recording (using an Acoustic CHOP). For more detailed information, search for 'Spatial Audio' in the H8 docs.
  11. The first thing you'll want to do is make your sound clip smoothly loop if it isn't already (if it is, skip ahead to step 4). 1) Make sure any silence is trimmed out first - you'll want a sample with fairly constant pitch and volume (even if it's short, the cycle will fix that). Use a Trim CHOP to clip out a good sample. 2) Use a Cycle CHOP to make the sample loop smoothly. 'Blend Start to End' is enabled by default, which is what you'll want to remove the 'click' you'd get when cycling it. On the Blend page, adjust the 'Region' parameter to specify how much of a blend overlap to use (by default it's 1 second, which is a tad too long for your purpose - try 0.1). Leave the both Cycle parms at zero. 3) Next, append an Extend CHOP to set the start and end extend behaviour. Set the Left and Right Behaviours to 'Cycle'. This will allow you to sample the sound at any time, regardless of the frame range of the sample. 4) Now, to alter the pitch, use an Oscillator CHOP. The curve that determines the pitch goes into input #1 (your engine revs), and your looped sound sample goes into input #3. The curve is interpreted as follows: 0 doesn't affect the pitch - normal playback. For every 1 unit above zero, the pitch is increased by an octave by playing the sample back faster. For every 1 unit below zero, the pitch is reduced in the same manner. You will likely need to use math CHOP(s) to scale and shift your curve so that it works with the oscillator. For example, you might want to have idle be a low rumble, so you would map engine_revs = 0 to -2. 5) You can alter the volume of the output of the oscillator in a similar manner, by using a Math CHOP to multiply the control curve by the sound output of the oscillator (two inputs, the control channel & the sound channel, Combine CHOPs = multiply). This will attenuate the volume based on your engine revs. Again, you'll need to massage the control curve into a range that sounds good (maybe 0.3 for idle, and 1 for max revs). Don't go too much ouside -0.9 to 0.9, otherwise your audio will clip and you'll get distortion. That should give you the basics. You can use a noise CHOP to give your engine a bit of variation (especially on the volume part), and add some lower harmonics into the sound by using another oscillator, but with a scaled down control channel, and adding it into the mix (another Math CHOP, your 2 sound channels as inputs, Combine CHOPs = add). You can also use the Parametric EQ to add echoes to the sound and make it sound a little more 'spatial' (Echo Tab, disable the 'Filter Channels' parm on the Filter page first and enable 'Add Echoes'). Play around with the echo parms to get some neat effects. Hope that helps!
  12. Vex And Custom Image Planes...

    You can also use an export parameter in VEX to create a new plane (though its name will be constant): cop2 addluminance(export float lum = 0) { lum = luminance(R,G,B); } This creates a plane named 'lum' and assigns it the luminance of R,G,B. float = scalar float plane (1 channel); int = scalar int plane; vector = 3 channel float plane; vector4 = 4 channel float plane There's really no way to do this for a variable number of planes, though, as there's no way to create a variable list of export parameters in VEX (the UI is similarily limited).
  13. The Web Has Spoken : We Suck!

    It's a good reminder of how well-behaved the od:force and SESI forums are. It's continually astonding to me what people will bitch and moan about with so little information. I guess we're lucky
  14. Halo Forum Rename

    Perhaps the Halo forum should be renamed 'Halo & COPs' , since I've noticed a few COPs questions appearing in other forums. Maybe people aren't making the connection..?
  15. Pixar's Lpics

    Sort of reminds me of working interactively in the COPs... very cool that it's applied to a renderer!
  16. Houdini Book - Nov Release

    Good to know that Will is writing it... I got a little worried when I looked at the Amazon description, which states the book ships on Nov 5th and 'no author has currently been signed for this book'. Seemed a tad ambitious
  17. Fast... Texturing In Cops Anyone?

    Very nice COP... I like the demo UI you've got going on as well As for the speed, it looks like you've used the Lighting COP as a base... it's not the fastest COP around, by any means. It's probably slowing your COP down more than it should (unless you've cut away a lot of the extra stuff). If you are just using the s & t deep raster variables for the texture mapping, you could write a dedicated vex COP that applies the texture with a compositing op. Might help with the processing time.
  18. A Lot Of Rbd Fun

    If you want anyone to download this, you may want to provide more details and log in as a user... otherwise, your post looks suspiciously like a virus (which it may well be).
  19. Dd Uses Houdini On Stealth

    The story is also on www.sidefx.com, with a few nice pics as well (may need to reload the page a couple of times to get the stealth story up).
  20. Reloading File Sequences For All Files?

    You could also: 1) Select Tools->Clear Compositing Cache (Alt+Shift+R) to clear the files (and everything else too, but since File nodes tend to be most of your base generators, this isn't as bad as it sounds) or, in 8.0, 2) Check the 'Reload All Files' toggle in the Composite Output driver (if you are using one). It will then reload all the Files nodes every time before it renders.
  21. The Next Generation

    Thought this was interesting. Even though Sony & MS are pushing threaded games, it's no surprise that game developers aren't too happy with that or the CPUs they've chosen. It looks like a vast amount of the silicon will sit idle on these new consoles, because developers simply can't find any appropriate tasks to keep them busy. http://www.anandtech.com/video/showdoc.aspx?i=2461 A shame, but multithreaded software is really tough to write, so I can't imagine a lot of games actually using more than 1 thread (or, more than 1 thread running anywhere near 100% CPU capacity). I guess developers will have to hope that more mutlithreaded game engines become available (like Unreal 3.0). Nvidia has stated that they're going to thread their drivers, which would help, but frankly, I fear for driver stability, especially if it makes it into their mainstream drivers. With the advent of dual-core as a buzzword, seems like everyone's diving into what could be some pretty hot water
  22. Google Earth

    Ah... but watch out! Google's headed the way of the dinosaur -- better click on that link pretty darn quick! http://news.softpedia.com/news/Ballmer-Goo...ears-1948.shtml Statements from Microsoft are frequently good for a daily chuckle.
  23. Large Convolution Kernel?

    The convolve COP also accepts an image as a second input for the kernel data. If you could make a 15x1 image of your kernel (in FP, likely, since it has negative components) , then you could feed it into the convolve COP to do the job. Even if you had to generate the kernel through a VEX generator, the convolve COP / kernel generator COP combination would likely be much faster than the 15 independent lookups that the Hilbert convolve VEX cop would need to perform. You could create a digital asset out of the small network to create a Hilbert Transform COP, if you needed this operation frequently.
  24. How Does One Create This Effect

    Uuh.. yes. Timefilter will work great, filtersize 90, Filter Range set to "After Current", write out frame 1. So many ways to do things, I forget ones I've written.... Thanks Jason.
  25. How Does One Create This Effect

    There's a File OP chooser in Houdini which can do this really fast. 1) In a network editor, press ` (backtick) 2) Change to the dir where your images are, and turn off 'Filter Sequences of files into single entries' (icon beside the Pattern box) 3) Select all the image files (left drag, or LMB click first, Shift+LMB click last) 4) Accept! 90 File COPs will be created for you, one for each filename. To wire them all into a layer COP, put down a layer COP, then select all the file COPs, then wire the first file COP into the layer. I normally use it for importing all of my image sequences at the beginning of a comp, but it works just as well for this.