Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by j00ey

  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. HDA - Rope Maker

    In case it's useful to anyone, here's an asset I made a little while ago and finally got round to documenting. It takes one or m ore curves and generates 3 levels of braided curves - first level coiled around the input, second coiled around the first and the third around the second. Additionally it can make a final level of 'hairs'. It supports animated inputs, and will transfer velocity onto the output but in many cases it's probably better to use a timeshift to generate the rope on 1 frame and use a point deform or similar. This also avoids texture jumping problems if using the supplied 'pattern' colour method. There's a fairly comprehensive help card with it and below is a demo video. If anyone finds bugs or problems, please let me know and I'll try and fix them when I have time... I'd be very interested to see anything anyone makes with it... TB__RopeMaker_1_0.hda
  8. This will do it points_from_vector_array.hiplc
  9. 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.
  10. 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
  11. *Oops sorry, double post, mods - please delete
  12. 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.
  13. Rotation per point.

    like this? copy_normalOrient_edit.hipnc
  14. 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
  15. 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
  16. 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
  17. New Year / New Showreel

    ...like I just got my hands on MS paint 3D! I'm re-rendering one of the clips atm, maybe I'll tone down the flickering a bit on the next version
  18. New Year / New Showreel

    I wanted to share my new reel - mainly Houdini but there's are also a couple of older Maya clips on there too. Any feedback very welcome...
  19. New Year / New Showreel

    @acey195 I took your advice and changed the beginning - probably more 80s looking than 90s now in fact but hopefully a bit more engaging. Thanks for the input, much appreciated.
  20. New Year / New Showreel

    Thanks for the comments - I did wonder about those bars actually, perhaps I should at least fade the video in under them a bit sooner. I'll have a think, don't want people to not watch it because of that...
  21. Distance from center in shops

    Does this do it? I got rid of the fit inside the shader so it's just outputting directly the distance from the centroid. I added a couple of image planes so you can check the result against an attribute calculated in SOPs. ShaderExample_edit.hip
  22. I've put a couple of examples of how to do this in the attached file. First way is using a solver SOP - that way is literally appending values to an array every n frames. The other method isn't technically appending values, it's just generating an array that gets longer every n frames. The advantage of doing it like that is that you can scrub the time line without having to cook the whole frame range. optical_with_circles_edit.hipnc
  23. HDA - Rope Maker

    Let me know if there's anything that doesn't work as it should..
  24. Some DOPs RnD

    Here's another experiment from a while ago, never got round to putting it up at the time. It never quite worked as I hoped it would - maybe I'll revisit it some time and somethihg better will come of it. It's quite a simple idea - run a flip sim of whatever sort and sample the velocity of a 2D slice onto a grid of points. Then in COPs, starting with an image consisting of 0 to 1 horizontal & vertical gradients in the red and green channels [representing u and v], look up the velocities and advect the uv. On the next frame, read in the advected image and repeat. This image sequence is then read back onto a grid and used as its uv. I started with an image of some pebbles, I wanted to smear them around with the velocity of the FLIP sim but the shapes were already quite blobby and amorphous so the effect was too subtle. Had I run the sim for many more frames they it might have worked btter but I decided to switch to some more geometric shapes. As I said it never really went anywhere but in case anyone's interested in the technique I thought I'd put it up...
  25. Some DOPs RnD

    I thought I'd make a topic here to share some RnD I've been doing in spare time in case it's helpful to anyone, as I've been able to learn so much useful knowledge from others on here. I have a couple of other scenes underway that I'll put up once they're ready. They're not for any particular shot, more just the result of one thing leading to another... The first one is essentially a simple cloth sim a driven by an RBD sim, where some balls are attracted to a wandering point. I used a technique similar to generating a wet map to transfer some colour between the balls while they're touching which sort-of worked but ended up producing a lot more blue than anything else. Also for each point on the surface I calculate the difference between the average distance to neighbouring points during the animation and at the beginning, a sort of compression or stretch attribute and I'm using that to displace the surface first in SOPs, then also in the shader.