View Full Version : Problem combining morphs & skeletal animation
Henrik
11-19-2009, 04:26 AM
I have created a character that is rigged with a custom skeleton. The bone names are not the same as the default UT3 characters. I have a custom animation for it, which I have confirmed to play fine.
Using matinee, I can use a regular skeletalmesh actor to animate this fellow with no problem. However, with a regular skeletalmesh it won't let me do morphs. What I want is to be able to play both the morphs and skeletal anim simultaneously - so it's my understanding that to do this I need to use the anim tree, and a skeletalmeshMAT actor.
I successfully set up a morph in the anim tree, and animated it on a morph track in matinee. However when I add an animation to the anim control track, it does nothing - if anything it just stays frozen on one frame of the sequence. If there is something I must set up in the anim tree I am lost as to what the exact steps are, as documentation for this type of thing seems a bit unclear.
Denny
11-19-2009, 06:50 AM
Is the following correct?
* The mesh in the scene is a SkeletalMeshActor, not a SkeletalMeshActorMat. I just checked and I can't get it to work with the Mat actor.
* Added an AnimSet to the Group AnimSet Array in Matinee
** AnimSet on the mesh (just to be sure)
* Added an AnimNodeSlot in the AnimTree (which you need to play the animation on)
** If you haven't, add it in the AnimTree and then add the AnimNodeSlot name in the animation track setting in Matinée. If it doesn't work, remove and re-add the Animation Track and select the Slot when prompted.
Henrik
11-19-2009, 06:58 AM
Hi Denny, thanks for the reply.
The problem is according to the documentation you cannot play a morph simultaneously with skeletal anim on a regular skeletalmeshactor (or at all). I have tested this and what I saw seems to confirm what they have written. If you have a solution that proves otherwise, that would solve everything.
I have made progress with skeletalmeshactorMAT in that I can see the desired result in game (sort of) but it won't show me any animation on the char in the editor viewport as it would with a regular skeletalmeshactor.. obviously this is rather undesirable for creating complex sequences as I would be unable to really see how everything is timed without a lot of back and forth between editor and game.
Denny
11-19-2009, 07:14 AM
If the part of the character that needs to morph, doesn't need a skeletal animation, you could make it a separate object and attach it instead.
Btw, are you a Max or Maya user? If you are a Maya user you should try use the Morph Animation tracks.
Henrik
11-19-2009, 07:28 AM
I would really prefer a non-hack solution, especially since for example it's part of the head that needs to morph, then there would be a visible seam. Nevertheless that's one option I guess.
I do use maya, but could you elaborate further on Morph Animation tracks.
I'm not sure how one would use those to do what I'm after.
I'm using another program to do the morphs, then bring them into maya where I then create a PSK. I import that morph to a morph set in unreal and then use the anim tree to blend between morphs, this is controlled by a morph weight track in matinee. But this only works with a skeletalmeshactorMAT.
I've tried getting slots to work on a regular SMA as well for the animations as you described - it doesn't want to take, even if I remove and re-add it. it works on the MAT version, but again it won't display the animation, it just freezes on one frame. Ugh
Denny
11-19-2009, 07:36 AM
Hmm, it's weird that you can't get the slot to work because I get it to work perfectly over here. Regarding the morph animation tracks, check the second video in my thread here. (http://forums.epicgames.com/showthread.php?t=706367) It shows how to setup the morph targets in Maya for previewing the animation and so ActorX picks it up on export and also how to make it visible in Unreal.
Btw, I tried adding you on messenger but you don't seem to be online? :)
Henrik
11-19-2009, 07:43 AM
Ok, I'll check that out.
I am online, give me yours and I'll see if it works.
hello
could you solve your problems?
I'm also having the same problems.
thanks
Henrik
05-21-2010, 06:13 AM
I did, it was a bit of a pain in the arse though. I believe the final solution was using a skeletalmeshactorMAT, don't quote me on that though, my memory is a bit fuzzy. Also some stuff has probably changed between now and the version of UDK I used originally.
Main thing that probably did it for me was painstaking care into making sure everything is connected and labelled the right way in the anim tree, as well as in the matinee, and in the actor's properties. I was on the verge of giving up, and then eventually and seemingly at random it just started to work. Very odd. TBH the process could really use some simplification and streamlining.
Thanks for your reply.
So after that can you see the morphing and animation together in Matinee?
I could also morph the character from script.
But the thing is I've other objects morphing from the matinee also.
So these things are not morph in sync.
So I want to put that morphing and animation everything inside the Matinee.
Thanks
Henrik
05-21-2010, 06:39 AM
Yes I was able to see morphing and animation play together on a single character in the end (including when I scrubbed through the matinee timeline). As I said one minute it didn't work, and the next it did. So either I had something very simple wrong or it was just buggy.
Good to hear that.
My skeletalmeshMAT 's animtree has both animation and morph.
For animation I have this AdditiveBlendNode connected.
What kind of track did you use to control this node?
I was also asking in a new thread before you replied.
http://forums.epicgames.com/showthread.php?p=27329759
Thanks.
Am really stuck at that point.
Henrik
05-21-2010, 07:13 AM
Aha, I see your problem then. I thought it was the morph you couldn't get working.
You must have an Anim Control track inside the same group as your Morph Weight track.
And in the properties of this group, the animset for your character must be specified under "Group Anim Sets". For example: Animset'Character1.NewAnimSet'.
Next you must make sure there is a Slot name that corresponds to an animnodeslot in the AnimTree, for example my animnodeslot is named Slot1 in "Node Name". so the Slot Name for my Animation control track must contain "Slot1".
After this is done, when you add a key in the specified Anim Control track, the anim sequence you want to put should appear in a list dropdown, and then you can add more slots on other tracks and blend them together.
Hi Henrik,
I set up everything as you set.
And I can add that anim sequence from the dropdown.
But the strange thing is it just stop at the first frame like your original problem.
Are you using skeletalmeshasctorMAT or just skeletalmeshactor?
Thanks
Henrik
05-24-2010, 04:11 AM
It's a skeletalmeshactorMAT definitely.. just double checked.
Show me your animtree chain if possible, that might be the key to figuring it out.
here's anim tree.
http://img185.imageshack.us/i/stananimtree.jpg/
and here's matinee.
http://img256.imageshack.us/i/stanmatinee.jpg/
you can see that i could add the sequence to anim track already.
but it just stop there at the first frame.
thanks for your time.
Henrik
05-24-2010, 04:55 AM
Well I can see one difference, where the track says "Anim".. in mine it says Anim:Slot1 - That shows that the track is hooked up correctly to the slot in the AnimTree.
I see now, after trying something here. It is not enough that the names match for the slots, You have to create the AnimControl track after the slot already exists and is named in AnimTree. Then a pop up menu will appear with your slot names as choices, once you choose one it should appear as mine does above. Animation should work after that (let's hope)
So add another AnimControl track to the same group where your morphs exist.
hi
i redo this from scratch again and i got what u meant. check this image.
http://img339.imageshack.us/i/stanmatinee2.jpg/
but that animation still frozen. but the position it freezes is different.
it froze somewhere between that sequence. (previously it froze at the start position.)
really appreciate your time for my problem.
Henrik
05-24-2010, 06:50 AM
I know, it's tricky like I said. But I think you're very close to getting it. Unfortunately I'm out of ideas, at this point which is probably about the same place I got stuck, I just experimented with settings and double checking all the info in the panels..
Also, there is always the possibility that the build you are working on has broken something or now requires a different actor class. I haven't used any of the newer builds (waiting for this next one) so perhaps someone else will chime in here with their own experience...
Henrik
05-24-2010, 06:56 AM
One thing you may want to try is reformulating your animtree so you have an "AnimNodeBlend" as the first item from AnimTree, and then 2 different slots, each as a child from the AnimNodeBlend. Then assign a different anim to each slot, and add the slots as animcontrol tracks one below the other in your group, and try blending them together.. see if that gives you movement..
Lambent Veteran
05-24-2010, 09:41 PM
udk doesnt even work on my computer, so i cant help u
You mean like this?
New animtree:
http://img42.imageshack.us/i/stananimtree2.jpg/
New matinee:
http://img35.imageshack.us/i/stanmatinee3.jpg/
Unfortunately it still doesn't give any movement yet. :(
Today I'm gonna double check everything again.
[edit] I need to use additive blending for this animation.
Henrik
05-25-2010, 04:23 AM
Yeah that's pretty much what I meant. I just wanted to see if it would work if you had it set up similar to mine. Difference is I have my animations hooked up to the channels not to the source. Also for now it might be best to offset one of the animations in the timeline so you can visualize better how each is behaving on their own as well as a bit of where they're blending together.
Sorry I can't be of further help right now, I've not been working in that area for half a year so I need to get reacquainted with it myself.
I've got my animation working.
The missing thing is I need to use the graph editor to set the value as described here: http://www.3dbuzz.com/vbforum/showthread.php?165182-reset-looping-animation&p=1501113.
But it only works with the normal animation sequence.
My animtree looks like this now. http://img175.imageshack.us/i/stananimtree3.jpg/
the ADD_Stan_Idle_Cute is the additive anim data the animblendnode uses to additive blend two animations.
But when I hook into Slot_Idle and play the sequence there's no such additive blending.
Stuck here again.
Any help would be greatly appreciated.
Thanks
Henrik
06-01-2010, 07:41 AM
What happens if you add Stan Idle Cute on an AnimControl track below that one (and if necessary also give it full weight)... I think that's when it would do the additive blend.
I got it working. I just used the animation from channel 1 in my matinee and it does the trick. phew...
problem solved.
thank you guys for your valuable replies. really appreciate it.
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.