Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Gorrod last won the day on July 30 2017

Gorrod had the most liked content!

Community Reputation

33 Excellent

1 Follower

About Gorrod

  • Rank

Personal Information

  • Name
  • Location

Recent Profile Visitors

1,295 profile views
  1. I guess i found a way to make it work by extracting the translation and then applying it to the matrix again. Doesn't change the fact that I have no clue why it doesn't work in the first place though. invertMatrixTransform_v02.hipnc
  2. Hi, I want to transform a volume by multiplying it's transform primintrinsic with a matrix. Works just fine until I try it with an inverted matrix. At seemingly random translation values the transform primintrinsic gets set to the identitiy matrix. I also noticed that at the same translation values the inverted matrix has some weird floats where it should just be 0. Am I missing something here on how to apply the inverted matrix properly, or what's going on with the invert()? invertMatrixTransform.hipnc
  3. You have not plugged in your @P attribute into the pcopen. Fix that and you're good to go. The VOPSOP might bind the position automatically if not done manually.
  4. I don't know if this is all you are asking for but just multiply your displacement with some values you get from attributes or geometry? Here's a file of what im thinking of: mask shader with geo.hip
  5. You can also use the "op:" expression (e.g. op:`opfullpath("../../yourVolume/OUT")` ) in the filename to direct to a sop, so you don't have to save your volumes/vdbs to disk first.
  6. distance fading in pyro

    Transform the surface position you read with the global variables vop to world space or use the rest pos vop and it works. multiply distance in shader.hipnc
  7. You're always just looking for the point with the point number 0 in your expression point("../pointwrangle1", 0, "y_pos",0) if you replace the 0 with a reference to the iteration of the for loop via the foreach_begin1_metadata1 node you can change it to this point("../pointwrangle1", detail("../foreach_begin1_metadata1/", "iteration", 1), "y_pos", 0) or with the spare input point(-1, detail("../foreach_begin1_metadata1/", "iteration", 1), "y_pos", 0) or, what i would do, since you're already only having one point when iterating through them in the for loop, is just not accessing the pointwrangle1, where you have 10 points, but rather the creep SOP inside the loop itself, where you only have the point 0 anyway. point(0, 0, "y_pos",0) creep_point_attrs.hipnc
  8. Vex Expression Question

    Alternativly, if you want to continue the "boolean" multiplication approach, you could also write something like this: force *= @id < (@Frame-50)*1000 || @id < @Frame*50; @Nache Boolean expressions in Houdini return 0 for false and 1 for true, just what you did in the if statement. So the force just gets multiplied by the result of the expression.
  9. I don't exactly know what geometry you're dealing with, but I tried some different ones and also restricted the scaling to only x and z here: scale_circle_2.hipnc
  10. maybe try this out scale_circle.hipnc
  11. Combining two Primitives

    Very cool, and it works well in 2D space. Something like the dissolve- together with the join-SOP is actually what I was looking for to output a single primitive. Thank you!
  12. I was wondering if there is a way of combining two primitives e.g. two 2D circles that get into a certain range of each other like in the gif below. I was taking a shot at it myself but so far it's too dependent on point numbers and orders. combining_circles.hipnc
  13. @P = @oldpos -> not working

    in the second wrangle, write @P = v@oldpos; You have to tell it that oldpos is a vector and not a float attribute.
  14. Particles along surface

    Here's a Video with a few techniques of sticking Particles to surfaces, the file included should be helpful I think. At around 2:35 is what you're looking for with a quick usage of xyzdist and primuv. sticking_particles.hipnc
  15. Opus Pattern Grid

    As far as just deleting the primitives that are too small you could just measure their length/height in the foreach loop (see attached) For the rest there's definitly a way better (and cleaner) way to do this but I'm too lazy to rewrite the nodes right now . divide_grid3.hipnc