Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


  • Content count

  • Joined

  • Last visited

  • Days Won


Community Reputation

89 Excellent

About acey195

  • Rank
  • Birthday 01/10/1991

Contact Methods

  • Website URL http://www.twandegraaf.nl/

Personal Information

  • Name Twan
  • Location France

Recent Profile Visitors

5,644 profile views
  1. with H16 what you can do is just rename your "perm" attribute to "segment_length" (or "num_segments" alternatively) and enable overriding attributes (should be enabled by default I think)
  2. there is a connectivity SOP :P, you can use the attribute that that creates to assign a color. alternatively you can color the points in your "point wrangle" and transfer the color in the "copytopoints1" node.
  3. For creating static values, attribute create is still the faster way, but if you want to have different point values based on certain conditions, wrangles are much faster than the old H-script code.
  4. In old versions (earlier versions of H13, I think) it happened with mantra nodes, removing those and then recreating them got the file size back to normal, for a time at least :P.
  5. Glad you figured it out, no problem at all
  6. so like a "slalom"? using a solver?
  7. I'm pretty sure this can actually be done in vex. are you talking about rotating points around a certain position, or rotating a vector itself (for instance a N value of a point)? for the first one, I would think you would need to go 3 steps: -save original position, and temporarily move the point to a position so it is relative to {0, 0, 0} as the rotation axis. -rotate the point around the origin. -add the original position back. for rotating normals, if you want to make them rotate around a single axis, that should be simple enough with matrices, or even atan2 + cos + sin maths. If you want to expand that for multiple angles, I guess you just have do a rotation over the perpendicular axis, and use that as the axis for the primary rotation. Then finally you could "randomize" the rotation speed by layering a couple of sine functions on top of each other for instance.
  8. int nearbyPts[], pt, connectingPrim; nearbyPts = nearpoints(0, v@P, chf("range")); foreach(pt; nearbyPts) { if(pt <= @ptnum) continue; connectingPrim = addprim(0, "polyline"); addvertex(0, connectingPrim, @ptnum); addvertex(0, connectingPrim, pt); } Did that from the top of my head, but I think that should work for you. copy paste it into an attribute wrangle running over points.
  9. Could it be they changed it to reflect that they are attributes, rather than intrinsic geometry values, like ptnum? If that is the case, it actually does make sense in the way, that you should approach most things in Houdini as attributes, and that it doesn't matter at all what they are called,except for the stuff that is "hardcoded" to be used for instancing matrices and rendering: P, N, up, scale, pscale, orient, etc.
  10. I wanted to also say that, but I checked, actually nisachar is right, it does create descriptive names for all the other inputs, but not for Cd P and N.
  11. I'm pretty sure that feature has been in there for a long while now H16 does make the snippets and netboxes much better though the automatic expansion of the windows if you move nodes and the snapping is much improved.
  12. You can already collapse them if you put them in a netbox (the most left icon in the group of 4, that contains the subnet, at the top of the network view), next to the sticky icon
  13. The best solution depends on what you need in terms of self-intersection-detection. If you do not care about self intersection you have options: -the Sweep SOP -the Polywire SOP -using your curves as profiles for a polyExtrude If you do care about self-intersection you may need to clean up the curves a bit, using the "Intersection Stitch" SOP for instance (talking about H16 here) -after that you could still use the Polywire SOP with maybe a better result -you may be able to use the PolyExpand2D (but to do that you will have to flatten your curves to P.y = 0; and raise them again after the operation) -finally (a guy I know :P) made this: https://www.orbolt.com/asset/Twan_de_Graaf::TdG_2D_Polywire its bascially an older-less-fancy implementation of something in between PolyExpand2D and Polywire, likely more stable though.
  14. I generally do like what they did with the group nodes though, making it more consistent with normal attributes. And you gain a bit of performance if you need to do less than 4 operations on a single old group node. If you create an empty group by pattern, extend a group by edge, remove some points with the help of other groups in the combine tab, and remove another group in the delete tab at the same time... Then the old group node is faster (than having them as 4 separate, of the new nodes) I can imagine the same goes for the copy sops. Also "duplicate" and "copy and transform" are now both in the tab menu, but create the same node type. I guess for legacy..
  15. Or you know, use the chi() function instead of the ch() there is a whole category of functions also including: chf(): if you are really sure its a float chs(): if you want to read it directly as a string. chv(): for vectors chramp(): for ramps.