Deleted points in CHOP revert to their initial value

   1909   10   2
User Avatar
Member
271 posts
Joined: March 2012
Offline
Hi all,
I have some motion data that I'm trying to smooth out by using a filter in a CHOP network. Generally this seems to work ok, except that many of the points on the geometry will be deleted at some point in the animation, yet their channel data continues - and not a continuation of the last value that channel had before it was deleted (if anything, it looks like it reverts to the start value for some reason).

So, how do I get the channel to just hold the value it had when it was deleted?
Currently, using a trim is the only way to get it to hold the correct value, but I don't know how to do this procedurally, but I'm convinced that I'm missing something really obvious here.

Attachments:
chop.png (36.6 KB)

User Avatar
Member
271 posts
Joined: March 2012
Offline
I'm seriously stuck on this…I cannot find any information about this at all.
Does anyone know why animation channel data continues in data imported into CHOP after the point no longer exists?

I don't know if the last image was clear enough so I've uploaded a new one.

Attachments:
chopwtf.png (10.6 KB)

User Avatar
Member
271 posts
Joined: March 2012
Offline
I really need help with this. I can't see any other way around it.
Does anyone here use CHOP to affect geometry? Anyone at all?
User Avatar
Staff
4694 posts
Joined: July 2005
Offline
All channels within the same CHOP need to be the same length, so you can't trim some channels and not others (ie, if particles die at different times). Perhaps you can also import an attribute that indicates if the particle is alive or not, and then zero out the channel data when it's dead.

Still, it seems odd that the geometry CHOP wouldn't just hold the last value, or zero it. Using the first sample seems like an odd choice.
User Avatar
Member
271 posts
Joined: March 2012
Offline
twod
Still, it seems odd that the geometry CHOP wouldn't just hold the last value, or zero it. Using the first sample seems like an odd choice.

This is exactly why I feel like I'm going crazy here (and thank you for replying) - I don't know why this behaviour is the default or why there seems to be no way to change it.

All channels within the same CHOP need to be the same length, so you can't trim some channels and not others (ie, if particles die at different times). Perhaps you can also import an attribute that indicates if the particle is alive or not, and then zero out the channel data when it's dead.

I would do something like that, but doesn't that also suffers from the same issue? When the point is deleted, any attributes it carries are also screwed.
User Avatar
Member
271 posts
Joined: March 2012
Offline
Another thing I noticed, is that they revert to their start value after death when you have Organize by Attribute checked on. Without this on they seem to go to zero (or some other equally useless value.

So…is this considered a bug? In any case, how would people go about getting a channel to maintain it's value after it's deleted?
User Avatar
Member
514 posts
Joined: Dec. 2005
Offline
here ya go!

Attachments:
chops_hold_by_pid.hipnc (71.1 KB)

User Avatar
Member
271 posts
Joined: March 2012
Offline
Thank you Andrew! That works splendidly. Unfortunately I don't understand the expressions, mainly because I've not yet gotten to grips with CHOPs themselves.
I really need to do a course (or something) in CHOPs. They seem so powerful, but resources out there are slim.

Also, I did actually log this as a bug as I think the default behavior is very unintuitive.
User Avatar
Member
271 posts
Joined: March 2012
Offline
…however, there is a slight issue.
It seems that this setup completely deletes constant channels…at least it looks that way so far.

(The solution seems to be to use a delete CHOP to separate out the constant values and merge them back in afterwards)
User Avatar
Member
271 posts
Joined: March 2012
Offline
And now, another problem. If I try to split the channels out to constant and non-constant, I get an error trying to use the Channel SOP attempting to read them back in again (it's complaining that it cannot find a certain channel).
Any ideas?
User Avatar
Member
4 posts
Joined: Jan. 2015
Offline
Hi,
I've recently ran into what I think is the same issue as you've described. I've made a small chops HDA to try to deal with it. Haven't tested it thoroughly beyond what I needed for my project but if it is of any use to you, feel free to check it out. Any questions/problems/improvements are most welcome.

/Yaniv
Edited by YanivG - July 15, 2017 03:14:41

Attachments:
yg_anim_utils_h16_v3.rar (10.8 KB)

  • Quick Links