PDA

View Full Version : deleting history but keeping lattice


MoonMonkey
06-13-2002, 03:53 PM
Hi

I was wondering and hoping...does anybody know a workaround for deleting an object's history which has been modified after applying a lattice to it ??

svenip
06-13-2002, 04:04 PM
we've had this discussion a while ago here. you cannot delete only parts of history without deleting their effect two. means if you have several deformers and the last one is your lattice and now you wanna delete the history on the object without deleting the lattice !? no way.

MoonMonkey
06-13-2002, 04:22 PM
okydokie

Thanks 4 the reply svenip. Oh well, It was a slim hope :hmm:

bigfatMELon
06-13-2002, 05:31 PM
well... that's not always true. It is true that you cannot delete parts from history without removing their affects on the object or baking them in. But that doesn't mean that you can delete partial histories while preserving a deformer.

Search for collapseHistory at highend3D. It lets you do just that.

-jl

svenip
06-13-2002, 05:46 PM
svenip : you cannot delete only parts of history without deleting their effect too.

bfm : that's not always true. It is true that you cannot delete parts from history without removing their affects on the object or baking them in.

what do you mean it's not alway true ??? deleting history means deleting the deformer but not it's effect. that's what i wrote. didn't I ???

bigfatMELon
06-13-2002, 06:35 PM
Deleting History would delete the deformer. Collapsing it wouldn't necessarily do that depending on which node was selected for the collapse operation and where the the deformer was positioned within the history. Hense, it is possible to delete all history except for the deformer as suggested.

-jl

svenip
06-13-2002, 06:52 PM
so i searched around and only found the two scripts freezeDeform which actually really bakes in the deformation of the deformer to the cv's and the xyHistoryTools, but it can only delet the history node (actually the deformer).

so, please show it to me

you can set the node behavior of the deformer to "waiting, has no effect". this freezes the effect, but you can't delete the deformer then the deformation itself goes away too.

bigfatMELon
06-13-2002, 07:35 PM
The script is collapseHistory. It allows selective partial history deletion. So you could keep a deformer hooked up and delete the rest of the history given that the order was managed well.

A derivative of this is fixWeight which does a similar thing by maintaining skinCluster history while deleting everything else.

Both on highend.

-jl

svenip
06-13-2002, 07:50 PM
it's a nice script but has some problems. but anyway thnx for showing the script, but could we please make a compromise that we're both right ? i am not here to fight, i'm here to help. and as i will leave the board in a couple of weeks because of a job this is definitly something that i don't want.

the script actually is nice and can help in some ways, but for me it has only produced weired things. i guess because of the def order. also it's only for poly.

so let's smoke a calumet (hope it's the right word)

bigfatMELon
06-13-2002, 08:06 PM
but could we please make a compromise that we're both right ? i am not here to fight, i'm here to help. and as i will leave the board in a couple of weeks because of a job this is definitly something that i don't want.


We were fighting??? LOL

I had no idea. Well... I wasn't fighting. Just stating the facts on what is possible for the benefit of everyone's knowledge (my usual MO). No other motives were intended. Hope I didn't ruffle any feathers. :beer:

-jl

svenip
06-13-2002, 08:10 PM
ok, if i ever come to seattle (actually one of the cities of the world i ever wanted to visit) we drink a beer and laugh, and if you ever come to good old germany i'll pay a beer for you.

cheers :beer:

bigfatMELon
06-13-2002, 08:16 PM
Ok. I'll go there. Your beer is better. :)

-jl

MoonMonkey
06-14-2002, 07:58 AM
Well it certainly seems like there is no way to get rid of the history which has been created after the deformer has been applied. ( without producing strange results )
I did have an idea of a workaround, which was to duplicate the lattice and then delete the objects history. Then using the help of a script I hoped to be able to reapply that duplicated lattice's influence to the object, so retaining the changes made to the lattice's shape and ending up with a lovely clean history free mesh. But the only script I found was a "connectLattice.mel", but unfortunatley it was written in '96 and dose'nt appear to work with Maya4. If anybody knows of a more upto date script which would perform this function it would be very much appreciated.

bigfatMELon
06-14-2002, 08:26 AM
did you give collapseHistory a shot?

-jl

MoonMonkey
06-14-2002, 09:06 AM
I did run the collapse history script, but it seems that all the history is still present in the original shape. It appears to just produce another shape which has no history. Excuse my ignorance but I'm not entirely understanding what it is supposed to be doing, as all the changes made to the object are still being remembered.

bigfatMELon
06-14-2002, 06:37 PM
It allows you (tho not in all cases) to select a point (node) in the history where all previous nodes will be deleted and all other nodes will remain. It's a partial historical delete. When you ran it, did you select a node in the Channel Box Inputs section?

-jl

MoonMonkey
06-17-2002, 12:04 PM
Hi
Thanks for the suggestions. But I did finally find a workaround whereby I duplicate the deformed object without history and then reattatch it to the lattice through the edit membership option. :)

-wT-
06-17-2002, 02:46 PM
I'm not sure if I understood you perfectly, but is it possible to "bake in" a part of the history, no matter what nodes there are, or is it only possible with lattice nodes and such?
It's just that, I'd be very delighted if there was a way to bake in some polysplit nodes on top of the hierarchy of the history of the specific mesh.

svenip
06-17-2002, 05:18 PM
not really. the only thing you can do is switching the node state to "waiting, has no effect" or "....,blocking". that actually bakes the deformer in the surface. the only thing you can't do is delete the deformer, then the deformation will be gone too.

bigfatMELon
06-17-2002, 06:31 PM
Yes, in fact, you can delete previous history while keeping a deformer like a lattice or skin cluster input intact. I've seen the collapseHistory and fixWeight scripts used to this effect hundreds of times in polygonal modeling production.

Another route you can choose is to perform the operation manually, by temporarily disconnecting the deformer's input, then deleting history and then reconnecting it that deformer (that's how those scripts work). I've done that on the very few occasions where collapseHistory has failed.

BTW, there was a huge thread on this subject (that originally lead to the creation of these scripts) way back when on highend3D. It might be worth searching their archives for the complete history on the subject.

-jl

-wT-
06-17-2002, 07:04 PM
I think you missed my point. In short: Can I "bake in" the effect of i.e. a couple polysplit- and merge verticle nodes on top of each other, while still preserving the old history beneath them?

bigfatMELon
06-17-2002, 10:53 PM
It's just that, I'd be very delighted if there was a way to bake in some polysplit nodes on top of the hierarchy of the history of the specific mesh.


Now, in terms of deleting history (baking in) nodes above and below, we must be clear about what you mean. As history is built, older nodes appear downward. So an object with 10 splits, the very first split will appear at the bottom of the list. If you than add a deformer to this, the deformer will appear at the top. By selecting ffd node in the channel box and running collapseHistory, all nodes below that (prior split nodes) will be deleted and their effect baked in. So, it's very easy to remove unwanted nodes that were created before the deformer was added. So, there's an approach to node that are below the deformer.

Delete nodes that appear above the deformer is also possible but there isn't currently a script to make that a one-button operation unless the deformer in question is a skinCluster, which is easily handled by the fixWeight script. However, disconnecting the ffd from the mesh (connectLattice is nice), deleting history and reconnecting can work.

-jl

-wT-
06-18-2002, 02:52 PM
Heheh, maybe I've been too unclear, and I must apologize that I'm asking a bit offtopic stuff here...
But yet again, you slightly missed my point. I don't need to deal with any deformers, the only thing is that I want to know if it's possible (And if it is, how?) to bake in some nodes on top of some others. Like delete history but with only the first two nodes for just as an example.

Here's another example... an example history of some example mesh:

1.polysplit node
2.polysplit node
3.merge verticles node
4.Some misc. node
5.Some misc. node
6.Some misc. node
7.Some misc. node
8.Some misc. node

So, how could I bake in the first three nodes, while preserving the other six below them? Just like a delete history but only with the first three.


Sorry again, and thanks anyways for your time :thumbsup:

wrend
06-18-2002, 09:29 PM
greetings ppl, nice to have been reading your stuff.

never been a problem baking upstream histories, all you needed to do was capture the geometry at the pnt in the pipe where you wanted history to accumulate from. but baking intermediate or downstream history is just something that maya isnt built to handle as far as i can see - their dependency network is indeed dependent on what has come before ... it hands over whole geometries from node to node, if it was just handling pnt data it might be a bit different (im not sure tho: how should info be architected to allow for arbitrary op baking?).

given that a deformer picks up geomtry from the upstream history, and hands it to the working shape after its deformations, ...im not sure how your going about baking downstream operations into a deformer's input geometry bfMELon? or any node for that matter - it would be great if you could elaborate! just cant quite see how you overcome this...

cheers.

-wT-
06-19-2002, 08:32 AM
So it's possible wrend? Could you tell me more about baking in history on top of each other, like in my example. Oh and I'm still not too good at MEL , though I think I'm getting a hang of it.

wrend
06-21-2002, 10:31 AM
wT, like ppl have mentioned above, its possible to bake upstream history, but baking intermediate or downstream history seems like quite a tricky task (if near impossible for cases) - i was hoping bigfatMELon was going to explicate on how one might go about this ...

w regards to upstream history: use the scripts ppl have mentioned above, or, manually and quite simply, fro a geomesk ops, create a node of the geom type your using, pipe the 'output' from the op you want to bake from into the new nodes input geom (create, in mesh), and pipe this geom out (worldspace/local) into the downstream node. delete upstreams. thats it. fairly recently a script was released on highedn3d thats doses just this, xyHistoryTools i think...plug 'history' in to a search and pick up the other scripts too (including those fixWeights and freezeDef for particulars).

bigfatMELon, itd be great if you could share the methodologies you use to overcome this dependency problem.

much obliged.

-wT-
06-21-2002, 01:04 PM
Thanks wrend. I did try the collapseHistory, but it wasn't for upstream baking, and the fixWeights didn't sound like a script for my task anyways. Were there other scripts mentioned?

Didn't really understand your explanation 100% perfectly, but I'll give the xyHistoryTools a shot, thanks!

wrend
06-23-2002, 11:42 PM
yeah, those scripts are for particular cases, not for general history management as some of the others are. just search through the scripts you get for a search 'history' search of highend3d's scripts. not too many.

i dont know how one would go about baking those recent operations in your example whilst retaining the others, if it is at all possible. its dependent on the type of history your dealing w (deformers are easier to deal w). have a look at the intermediateObject script, you might find a way to integrate it into yout future workflows, xyHistTools too.

-wT-
06-25-2002, 02:01 PM
Yeah I'll check those out. been a bit busy lately so haven't had time to look at the alot, but I'll see if I can copy&paste something usefull out of those.

And the type of the history would be exactly like in my example, mostly polysplit's, and maybe (not sure) some merge vert's. And everything below it would be something that gathers when you do your basic polygon modeling :)

CGTalk Moderation
01-13-2006, 08:00 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.