I fetch all animation from an object contained of many animated sops,
I have some problems reexporting them back after some changes done in chops. I tried different paths in last chop in the network, and attaching export chop with * in channels and in path.
I tried many different settings with paths without success.
Is it possible in the way I'm trying or should I export everything separately?
Peter
CHOP exporting question
8378 12 4- peliosis
- Member
- 175 posts
- Joined: July 2005
- Offline
- old_school
- Staff
- 2540 posts
- Joined: July 2005
- Offline
The paths have to be properly resolved to export your channels back.
This means either a rename chop, modifying the prefix path in the Common Tab of any modifier CHOP (any CHOP that takes an input) or go the one-by-one route and use an export CHOP for each channel..
The latter seems to be more common. It defaults to /obj. You want to change that to something like /obj/model/mySop then if the channel names are the same between CHOP and target parameter, you have a match.
If you want to drive the channel to a completely different target, then you have to rename the channel to match the new target's channel name then properly resolve the path again.
The help for the Rename CHOP has the syntax to rename a whole lot of channels using special characters. This special syntax works throughout CHOPs.
More info is needed. Are you mapping a bunch of SOPs to another bunch of SOPs? This is doable but can be tricky.
This means either a rename chop, modifying the prefix path in the Common Tab of any modifier CHOP (any CHOP that takes an input) or go the one-by-one route and use an export CHOP for each channel..
The latter seems to be more common. It defaults to /obj. You want to change that to something like /obj/model/mySop then if the channel names are the same between CHOP and target parameter, you have a match.
If you want to drive the channel to a completely different target, then you have to rename the channel to match the new target's channel name then properly resolve the path again.
The help for the Rename CHOP has the syntax to rename a whole lot of channels using special characters. This special syntax works throughout CHOPs.
More info is needed. Are you mapping a bunch of SOPs to another bunch of SOPs? This is doable but can be tricky.
There's at least one school like the old school!
- old_school
- Staff
- 2540 posts
- Joined: July 2005
- Offline
The paths have to be properly resolved to export your channels back.
This means either a rename chop, modifying the prefix path in the Common Tab of any modifier CHOP (any CHOP that takes an input) or go the one-by-one route and use an export CHOP for each channel..
The latter seems to be more common. It defaults to /obj. You want to change that to something like /obj/model/mySop then if the channel names are the same between CHOP and target parameter, you have a match.
If you want to drive the channel to a completely different target, then you have to rename the channel to match the new target's channel name then properly resolve the path again.
The help for the Rename CHOP has the syntax to rename a whole lot of channels using special characters. This special syntax works throughout CHOPs.
More info is needed. Are you mapping a bunch of SOPs to another bunch of SOPs? This is doable but can be tricky.
This means either a rename chop, modifying the prefix path in the Common Tab of any modifier CHOP (any CHOP that takes an input) or go the one-by-one route and use an export CHOP for each channel..
The latter seems to be more common. It defaults to /obj. You want to change that to something like /obj/model/mySop then if the channel names are the same between CHOP and target parameter, you have a match.
If you want to drive the channel to a completely different target, then you have to rename the channel to match the new target's channel name then properly resolve the path again.
The help for the Rename CHOP has the syntax to rename a whole lot of channels using special characters. This special syntax works throughout CHOPs.
More info is needed. Are you mapping a bunch of SOPs to another bunch of SOPs? This is doable but can be tricky.
There's at least one school like the old school!
- peliosis
- Member
- 175 posts
- Joined: July 2005
- Offline
I'd like to export it to the very same object:
fetch channels, massage, export back.
I thought houdini should do it automatically, but somehow it doesn't?
The object is build of many many sops plenty of them are animated.
I want to change them alltogether (stretch, scale, trim… anything) using chops, that's all.
Do I really have to treat them all separately? Sounds unbelievably.
fetch channels, massage, export back.
I thought houdini should do it automatically, but somehow it doesn't?
The object is build of many many sops plenty of them are animated.
I want to change them alltogether (stretch, scale, trim… anything) using chops, that's all.
Do I really have to treat them all separately? Sounds unbelievably.
- Simon
- Member
- 2199 posts
- Joined: July 2005
- Online
- old_school
- Staff
- 2540 posts
- Joined: July 2005
- Offline
Are you trying to export the channels to the exact same SOPs that you fetched the data from?
This is called a feed-back loop and CHOPs won't allow this, unless you lock the fetch CHOPs.
A more explicit example is needed as I am still confused as to what you are trying to do. Remember there are quite a few scenarios that I am mulling over that you cold possibly be doing.
This is called a feed-back loop and CHOPs won't allow this, unless you lock the fetch CHOPs.
A more explicit example is needed as I am still confused as to what you are trying to do. Remember there are quite a few scenarios that I am mulling over that you cold possibly be doing.
There's at least one school like the old school!
- Simon
- Member
- 2199 posts
- Joined: July 2005
- Online
Jeff that's not 100% true, fetching from some places allows you to do this without complaint, other times it claims it's a feedback loop. It would be nice if you could get chops to optionally fetch channel data rather than already exported data that way there would never be a feedback loop.
Either way if you fetch with op names and lock or save the channels then mess around with them and finally hitting the export flag on the last op it will send them back from whence they came without having to do any renaming.
Either way if you fetch with op names and lock or save the channels then mess around with them and finally hitting the export flag on the last op it will send them back from whence they came without having to do any renaming.
The trick is finding just the right hammer for every screw
- peliosis
- Member
- 175 posts
- Joined: July 2005
- Offline
Hurrah,
Thanks guys! It works now and I have a few comments:
The channels had proper names (the OP names was set by default)
Yes, Jeff that's the case, I animated sops in the object and just wanted to stretch or warp the animation.
I created a fetch chop and connected a stretch chop, to keep things easy for testing.
I heven't locked any of them since I didn't know it was needed, I thought chops overrides keaframe animation without creating a loop.
If I wrote correct export prefix in stretch chop ( /obj/myobj ) houdini hangs immediately.
I solved it by attaching a null chop at the end and typing the same prefix!
Then I read Jeffs notice and found that after freezing fetch, exporting from stretch chop works just fine (without any null)
So finally after a long time of testing and restarting crashed houdini I'm home.
Thank you very much!
Peter
Thanks guys! It works now and I have a few comments:
The channels had proper names (the OP names was set by default)
Yes, Jeff that's the case, I animated sops in the object and just wanted to stretch or warp the animation.
I created a fetch chop and connected a stretch chop, to keep things easy for testing.
I heven't locked any of them since I didn't know it was needed, I thought chops overrides keaframe animation without creating a loop.
If I wrote correct export prefix in stretch chop ( /obj/myobj ) houdini hangs immediately.
I solved it by attaching a null chop at the end and typing the same prefix!
Then I read Jeffs notice and found that after freezing fetch, exporting from stretch chop works just fine (without any null)
So finally after a long time of testing and restarting crashed houdini I'm home.
Thank you very much!
Peter
- old_school
- Staff
- 2540 posts
- Joined: July 2005
- Offline
Yeah, I lied. Iit is confusing to describe what works and what doesn't.
It is something that is not reliable so I don't normally recommend it.
I agree that CHOPs should have a way of allowing this kind of feedback everywhere. It does get confusing some times.
It is something that is not reliable so I don't normally recommend it.
I agree that CHOPs should have a way of allowing this kind of feedback everywhere. It does get confusing some times.
There's at least one school like the old school!
- old_school
- Staff
- 2540 posts
- Joined: July 2005
- Offline
- davidmarcus
- Member
- 153 posts
- Joined: July 2005
- Offline
What scenerio could be used to accomplish the following:
I have a huge amount of geometry in hierarchy, some of the geometry is animated with its transforms, scales, uniform scale as well as curves that are animated along u and v.
Each geometry in total is complex and is contained individual assets…a number of different assets.
I need to control the overall timing of each geometry as it animates, by using the stretch and shift CHOPs, remember parts of each geometry have already been key animated, some need to take longer and some need be shorter or less evolved. I have not promoted any paramters, in the asset it is just being housed for now…that later.
I have fetched each channel groupings, t?, scale, domain*, etc., sometimes using wildcards in the path, and have been having some problems, geometry dropping out, and what seems to be mismatched channels. I had to narrow and narrow my wildcards to the point of grabbing individual channels. I am at a point now that things seems to be stable, but if the entire philosphy is wrong, I better find out now.
I need to do this on the fly, so having the artist turn off and on Export Chops might not work, if I can't do it quickly … is this scenerios possible through CHOPs?
Also, offhand, is there a way to remove a channel from an export chop?
Something like:
../../BBB_100*:scale (but not) ../../BBB_100_200:scale?
Thanks,
Davo
I have a huge amount of geometry in hierarchy, some of the geometry is animated with its transforms, scales, uniform scale as well as curves that are animated along u and v.
Each geometry in total is complex and is contained individual assets…a number of different assets.
I need to control the overall timing of each geometry as it animates, by using the stretch and shift CHOPs, remember parts of each geometry have already been key animated, some need to take longer and some need be shorter or less evolved. I have not promoted any paramters, in the asset it is just being housed for now…that later.
I have fetched each channel groupings, t?, scale, domain*, etc., sometimes using wildcards in the path, and have been having some problems, geometry dropping out, and what seems to be mismatched channels. I had to narrow and narrow my wildcards to the point of grabbing individual channels. I am at a point now that things seems to be stable, but if the entire philosphy is wrong, I better find out now.
I need to do this on the fly, so having the artist turn off and on Export Chops might not work, if I can't do it quickly … is this scenerios possible through CHOPs?
Also, offhand, is there a way to remove a channel from an export chop?
Something like:
../../BBB_100*:scale (but not) ../../BBB_100_200:scale?
Thanks,
Davo
- Simon
- Member
- 2199 posts
- Joined: July 2005
- Online
That sounds very weird. I've fetched “a lot” of channels before like a whole animation and pumped them back to where they came from having timewarped them and not hit problems. The only time I did was when I converted a hip file from H7 to H8 and H8 was more testy about the export order. I can't remember the exact details but it was something like this: in the export chop I had export r? t? to bob/r? bob/t? (or whatever) and the channels themselves were in a different order coming into the sop, for some reason it would only work when I matched the input order to the output order,
ie t? r? rather than r? t?
Other than that I've always found it to be quite reliable. Using the opname and channel means you don't have to do any path munging at all, what comes in goes back out to where it started.
As to only exporting certain channels I think I would just use a delete chop to remove the ones you don't want to send back.
Just had a quick look at an old file - i had 2054 channels coming in and going back out with no problems. The only slight difference was I pumped them out to a file after messing with them then read them back in before exporting. But it seems to work even without that step. They are all object level channels though no sop stuff.
ie t? r? rather than r? t?
Other than that I've always found it to be quite reliable. Using the opname and channel means you don't have to do any path munging at all, what comes in goes back out to where it started.
As to only exporting certain channels I think I would just use a delete chop to remove the ones you don't want to send back.
Just had a quick look at an old file - i had 2054 channels coming in and going back out with no problems. The only slight difference was I pumped them out to a file after messing with them then read them back in before exporting. But it seems to work even without that step. They are all object level channels though no sop stuff.
The trick is finding just the right hammer for every screw
- davidmarcus
- Member
- 153 posts
- Joined: July 2005
- Offline
I'm not sure what the h (houdini) is going on then!
I think Jeff's theory on feedback has some relevance here,
by why the difference for OBJ and SOP?
I had tried using the delete the CHOP, although it deleted the channels, when I exported that network, it gave me the dialog asking me to unexport the channels from the other network export which I had setup to export a few channels that were giving me problems. I then used the wild card to fetch the rest of the channels on that network, then delete the ones that I had previously exported. Houdini still asked to unexport those particular channels.
Thanks for your input.
Everything that I wanted to do in CHOPs though can be done through the DOPE sheet so I will be okay.
Thanks Again!
I think Jeff's theory on feedback has some relevance here,
by why the difference for OBJ and SOP?
I had tried using the delete the CHOP, although it deleted the channels, when I exported that network, it gave me the dialog asking me to unexport the channels from the other network export which I had setup to export a few channels that were giving me problems. I then used the wild card to fetch the rest of the channels on that network, then delete the ones that I had previously exported. Houdini still asked to unexport those particular channels.
Thanks for your input.
Everything that I wanted to do in CHOPs though can be done through the DOPE sheet so I will be okay.
Thanks Again!
-
- Quick Links