Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


j00ey last won the day on July 26 2018

j00ey had the most liked content!

Community Reputation

31 Excellent

1 Follower

About j00ey

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location

Recent Profile Visitors

3,579 profile views
  1. Yes that's right. From the docs : 'Calculates the area under a channel’s graph, which is the same as calculating the integral of a channel, or integrating the channel.' The slope CHOP does the reverse, they're both very useful.
  2. I would fetch the revolutions per second channel in CHOPs and use an area CHOP to accumulate the animation. Then you can export that to the z rotation parameter [or look it up with an expression]
  3. I'm perhaps misunderstanding the question but if you lookup the point number of a point in another geometry using @ptnum, it's always just going to give you the same value back, no? You're basically saying 'what is the point number of the point numbered @ptnum' *edit* Besides, I don't think you can look up point number. You could give the geo in input 1 an id attribute to mirror the point number and look that up, but still if you say 'what's the id of the point with number 3' it's just going to return 3.
  4. Can someone tell me what I'm doing wrong in this scene? It's a dummy scene with the same problem I ran in to and can't fix. I have a load of geometries which are pretty heavy and I want to instance them onto some moving and spinning points as packed disk prims. I'm setting the rotation just by picking a random axis and an angle based on the frame number and setting orient. I'm using the same vector and floats to set 'w' in order that I can get correct motion blur but it's not correct - it seems that the geo is rotating around the wrong pivot. [In this scene it's not actually hugely obvious that it's wrong because the scale is small but my actual scene is in the thousands of units and it's very obvious]. If I copy and pack with a copy SOP it appears to be correct but not instancing. I suspect I need to edit some primintrinsics, eg pivot, but everything I've tried so far doesn't work and I can't spot any difference in the intrinsics for either method. Any ideas welcome... Thanks for reading angular_velocity.hiplc
  5. TB Geo Locator HDA

    I recently worked on a job where I had to export scenes with hundereds of objects that all had to have their own animated transforms and no vertex animation. I couldn't use any of the usual copy to points workflows but positioning so many nulls at object level by hand wasn't practical. I made an asset to do some of the donkey work - it basically reads attributes from points and uses them for transforms. Rotation is calculated from a vector attrib [by default N], translation and scale are just looked up from the points. It defaults to using the digits in the operator string so you can just copy and paste it over and over and it will keep looking up the next point. In case it's of use to anyone, here it is. It's pretty straightforward but there is a help card and a quick demo video... TB__geo_locator.hdalc
  6. HDA - Rope Maker

    No problem - I hope it's useful
  7. This will do it points_from_vector_array.hiplc
  8. a sharing system in Houdini??

    I had a quick look at your scene, looks like it's more or less there. In terms of adding the energy transfer itself I'd do it as a post process - eg in the SOP solver you could group the points that are emitting and store the frame number when the transfer begins as an attribute, eg 'emit_start', then after the solver, for each point in the group add a point every frame for say 5 frames after emit_start and lerp the position between P and your tarpos attribute. over another 5 frames. That's probably a bit garbled. Basically I think it's easier not to add the points inside the solver, do it afterwards.
  9. If you specifically want to do it inside a for each, this will work (metadata must be plugged into second input): setpointgroup(0, sprintf("group_%i", int(detail(1, "iteration", 0))), @ptnum, 1, "set"); *edit : presuming you're using class as your piece attribute
  10. *Oops sorry, double post, mods - please delete
  11. Rotation per point.

    Ah, no you have to compute them. You can also do that with the PolyFrame SOP, I'm just in the habit of using a wrangle.
  12. Rotation per point.

    like this? copy_normalOrient_edit.hipnc
  13. Rotation per point.

    Here's one way - the switch toggles between using a normal pointing up and using the tangent of the path. Press play and you'll see they rotate around the normal. The offset parameter is just there to give you a way of rotating them differently along the length of the path. The curveu attribute that it's using for the offset is output by the second resample SOP. orient.hiplc
  14. Ps from what I can gather, chsetattr sets metadata attributes - I don't know what that means in depth but it's clearly not the same as normal channel data. In the attached file I write the channel data to an attribute called 'testval', then read it back. Perhaps there might be a way of storing all the sample data as a clip level attribute as an array, then manipulating it in a second wrangle..? From what I gather if you run a wrangle over channels or samples and input 0 only has 1 channel and 1 sample, that would be like running a SOP level wrangle in detail mode. I'm just thinking aloud, I'll give it a go when I get chance set_get_attrib.hiplc
  15. Do you specifically want to do this with a wrangle or do you just want to do it? Attached is a file that does what you're after but it's not done in a wrangle. I did try but they're still a bit of a dark art to me too, I will have another try when I get chance peaks and troughs.hiplc peaks and troughs.hiplc <-- updated