Keyframe Posted May 27, 2004 Share Posted May 27, 2004 Heya odforce crowd, I've been lurking for a bit, and finally got up enough gusto to try and put something in writing. More specifically, i've been trying to figure out a way to manipulate wirecapture weights - post capturing. The easiest example I can provide is as follows: Create a nurbs grid - and an arbitrary nurbs curve. capture the grid geo using the nurbs curve as the capture geometry. At this point, certain wirecapt point attributes are created. I've figured out that I can maniplate those rather easily (post-capture) using an attribcreate sop and an approporiate expression - by creating a "wireCapt" attribute - and modifying it to my heart's content. Up until this point, i'm one happy cat. However, in the real world, I have a chain of 10 wirecapture sops. Each of them appending dimensions (?) to this "array" (for lack of better term) of attributes. Hypothetically speaking, I need to tweak the weighting of the seventh wirecapture sop - but I can only reference an array (?) or three elements deep using the attribcreate sop - but in this case, I need to manipulate the array at wireCapt[14]. How would I go about this?! (Other then the obvious and painfull spreadsheet editing). Is there a way to possibly combine multiple capture attributes sop, from two different branches of the SOP tree? Cheers, Gene Quote Link to comment Share on other sites More sharing options...
edward Posted May 28, 2004 Share Posted May 28, 2004 First of all, I'm assuming that you already know enough how to capture using the WireCapture SOP from the User Guide tutorial and milking it for all its worth. Note that you also have 3 different methods for how to deform using those weights. Ok, so let's say you really need to do it post-capturing. Yeah, there's no easy way in SOPs to edit attributes of arbitrary length. VEX would be a good way to do it but I don't think it supports arbitrary length attributes. If you've got your wire capture fixed (and non-animated), then that means you know exactly the size of the wireCapt attribute. The size of this will be the maximum number of primitives captured by any single point multiplied by 2. Well, you can just middle-click on the wirecapture sop to figure that out. Anyhow, now you can use the Geometry CHOP/Channel SOP combination to manipulate the data. Put "wireCapt" in the Attribute Scope and use "w[0-N]" in the Rename Scope parameter where N is the size of the wireCapt attribute. Now you can manipulate the weights of the wires by affecting the even numbered tracks. The odd numbered tracks are the wire primitive numbers. Quote Link to comment Share on other sites More sharing options...
Keyframe Posted May 28, 2004 Author Share Posted May 28, 2004 now you can use the Geometry CHOP/Channel SOP combination to manipulate the data. Put "wireCapt" in the Attribute Scope and use "w[0-N]" in the Rename Scope parameter where N is the size of the wireCapt attribute.Now you can manipulate the weights of the wires by affecting the even numbered tracks. The odd numbered tracks are the wire primitive numbers. That's Brilliant. Precisely what I was looking for. Today will be a good houdini day I imagine. Cheers, Gene Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.