Jump to content

Editing wirecapture weights


Recommended Posts

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...