Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Everything posted by B.Walters

  1. Dops Faq

    Try this link instead: http://www.sidefx.com/exchange/info.php?fi...p;versionid=327
  2. Dops Proxy->highpoly

    #17 in the DOPs FAQ has an example of that (17-fetch.hip if I'm not mistaken)... there are several conceivable ways to do this - so let me know if you want an example of another way and I'll work up a quick scene. http://www.sidefx.com/exchange/info.php?fi...p;versionid=327
  3. Modeling - A Few Oddities

    OH MY #&*$( - That explains soooo much! Thanks!! I do believe the order of selection in H9 is reversed... Which, was to my dismay at first, but I'm slowly getting around to actually preferring it. It will also definitely be better for users who are switching from other packages though, as that's the more 'standard' order for applying operations.
  4. Challenge: Sunburn!

    Ahh man, nobody's replied to this for 3 years... talk about being late to the party. Oh well, 3 years ago I didn't even know what Houdini was, so better late than never: http://brianrwalters.com/downloads/gooey.mov (I must confess, I did have to read the hint about the Ray SOP to get the shadows... very clever Jason!) More challenges!
  5. Dop_fun(nel)

    Too funny. :-D
  6. Where Can I Find A Hscript Primer?

    I can confirm that for H9 Hscript is / will work just fine. I think they do ultimately want to phase out Hscript, but at least for a while they will be backwards compatible.
  7. Segment A Curve

    I need to segment a curve (poly or nurbs) into multiple primitives. By default, a curve is just a single primitive. My ultimate goal is to birth particles from a curve weighted by an attribute. The Source POP will do this for me automagically, except it requires the distribution weight attribute to be of primitive type. Any ideas?
  8. Segment A Curve

    All too well! Thanks Edward! And for anybody else whose curious, here's an alternative solution I just discovered: 1-resample the curve 2- point the normals for each point on the curve to it's neighboring point 3- delete the last point 4- copy a line segment that's pointing down the +Z axis onto each point. The length of the line segment should be equal to the length of the resample. This method is a bit rough on the edges (a few over-hanging points), though.
  9. How can I take a transformation matrix and turn that into a vector? E.g. How can I figure out what direction (expressed as a vector) my camera is pointing in?
  10. Normalize A Normal In Vop

    I'm sorry I misread you, I thought you meant VEX not VOPs! Oops!
  11. Normalize A Normal In Vop

    Have you declared that variable, nvec? i.e. vector nvec = normalize(N);
  12. Field Combat Crowds Sim

    Try using VLC - Video Lan Client. It plays almost anything.
  13. Looping Through Particle Groups

    First off Edward, I love your Hitchhiker's Guide to the Galaxy reference. Secondly, you're absolutely correct in everything you said. POPs do loop over all the particles. However, there are times when absolute control over certain groups is necessary. As a trivial example: If you had two groups, A and B - and you wanted an attribute for every particle in group A that was its nearest neighbor's distance from the closest particle in group B (excluding other members from group A) you would need this control. Make sense?
  14. Looping Through Particle Groups

    Hey Lisux-- You'll probably want to make a multi-line expression in Houdini. The function you're looking for is haspoint() - which returns 1 if the specified SOP has the current point in the specified group, else it returns 0. So your multi-line expression (or whatever it is really called, someone correct me), would look something like this: { float i = 0; # We'll loop through *all* the points first for (; i < $NPT; i++) { # Now let's check to see if the current point we're itterating over is # in the specified particle group. If it isn't, then we skip it (continue) if ( haspoint("myGroup", "/obj/geo1/popnet1", i ) == 0 ) continue; # All particles analyzed from here on should be in the specified group # So do your crazy math/functions here! } return 0; } That make sense? If not, let me know and I can elaborate a bit more. Oh, one tricky point: the haspoint() expression requires a SOP path, POP paths will *always* return 0. Good luck!
  15. Field Combat Crowds Sim

    That's pretty cool Lisux. I actually tried something very similar to this in my project "Tiny". You can check it out / download it here: http://forums.odforce.net/index.php?showtopic=4591 Maybe you can learn something from it? It does use a VOP Network to drive the motion of the particles, so that might be beyond the scope of your course. However, all of the A.I. I put in was done entirely in Houdini's Expression language-- and most of it is very thoroughly commented so you should be able to break that down. What sort of geometry do you plan to copy onto the particles? What sort of combat animation do you plan to have and how do you plan to drive that? Best of luck, and keep us posted.
  16. Add Point At End And At Start Of A Curve

    I'm not sure if this is what you'd want, but perhaps using a Sort SOP and set it to reverse the order of the points would help?
  17. Baking Dop Sim To Anim Curves

    There's a good example of that in the DOPs FAQ which you can download off the Houdini Exchange: http://www.sidefx.com/exchange/info.php?fi...p;versionid=327
  18. Can You Animate Variables?

    You know, that is a fantastic question. And I'd like to add a question on top of that: is there a way to run a specified script every time the frame number changes? But here's the cheat/cheap way I found to do it: add a spare parameter to a given node being cooked, and in there use the curly brace expression mode {} , (What is that called by the way? Is there a proper term?)In there type the following: { run("set -g my_var = $F"); return 0; } It sets the value of the channel to be 0 (or whatever you type after "return" and before the semicolon). Then the run() expression runs the hscript command "set -g" which sets a global variable to a given value, in that example the current frame number. So replace the "my_var" with the name of the variable you want to animate it. It's cheap and dirty - but hey, it works. I'll post an example file to go along with this.animated_global.hip
  19. Is there a way to modify a particle/points attribute(s) (while this point is NOT being accessed in say an attribute create SOP / POP? You know, something very similar to the point() or poppoint() expression but a "set_point()" expression. e.g.: { for (float i = 0; i < $NPT; i++) { set_point(i, "myAttribute", 0, i); } } Given this is a trivial example and there's a better way to do this, but the question remains. Thanks in advance.
  20. Explosion From Hit Position

    Check out this link - it'll talk about the same variable mapping issues you're having: http://forums.odforce.net/index.php?showtopic=4695&hl=
  21. Dops Intersection Geometry

    How about using a Cookie SOP to get the intersection of your two spheres? You could then use the geometry produced as the source for the particles.
  22. Altering Particle/point Attributes

    No, I don't think that's going to be what I need/mean. There's actually no current project I'm working on that I need this for, but I have found in past projects I've frequently wanted this feature. For example, in my last project, "tiny" (if you're not familiar with "tiny" you can check it out in the WIP forum). But in there I had spaceships that flew around and blew the crap out of each other. To determine if a laser had hit a ship or not, there was a for loop that looped through all of the ships, and checked if there was a laser beam that was within a certain distance from the ship to the laser. If that threshold was met, the ship's particle would be killed. Simple enough. But let's say, I wanted to kill the laser particle as well - do I have to do another for loop that iterates through every laser to see if it's within the distance of a ship? Doesn't that seem repetitive (and slow)?
  23. "tiny"

    For the past week I've been working on a project I've unofficially titled "Tiny" (a play on Massive). In short, two (or more) teams of 'spaceships' fly around and shoot each other up. All-in-all it's been a study of A.I. and POP-VOPS(I just started playing around in VOP Networks last week - thanks to Johnny of DD). Take a peak: http://studentpages.scad.edu/~bwalte21/tiny01.mov In the end you'll notice a handful of the spaceships go flying off into oblivion. That's because there are still quite a few quirks in the A.I. about target selecting, which I intend to hammer out tomorrow. I plan to release this .hip file for public viewing soon, I just want to clean it up a little bit before-hand. Comments, suggestions, unrelated stories, jokes, and critiques are all welcome. ******************************************************** [EDIT 10-17-06]: Here's the Tiny HDA / OTL: tiny.otl ********************************************************
  24. "tiny"

    [quote name='MIguel P tiny_example.hip tiny.otl
  25. "tiny"

    Err... heh, who is this? And yes, I did do something *similar* to this back at SCAD. It was my first particles project ever (what got me hooked on Houdini!), but it didn't have teams, AI, or *anything* really, it was just randomness. I've been wanting to revisit this project and do it right ever since then. I just haven't know 'how' to do it right until recently. And now I'm back on it! And I have no idea what you mean by missing a project turn in with it? I was an A++++ student! So really, who is this? How doest-thou knowest me!? You've rattled my brains.