Post by Yeah YANG on May 23, 2012 6:27:41 GMT -5
Many friends are asking about the transition problem and cannot get nice transition result. Let me explain some details here.
Action types
1. Cycle action
Cycle action means "walk", "stand", "run" they can cycle them self, for making cycle action perfect, you need build an action cycle match the start and end.
2. Transition action
Means actions between "walk" "stand", like "walk_to_stand" or "stand_to_walk"
Cycle Filter, Trans In, Trans Out
They are percentage attribute
1. Cycle filter:
Only can work when enable "Is Cycle" flag, this attribute only deal with action self-cycle, when action transition between each other, this attribute is useless, for example, an action is 29 frames and 10% self-cycle, 29 * 10% = 2.9(cut float point, the result is 2) means 2 frame of end of action will blend with 2 frames of start of action, make self-transit smoothly.
This will shrink down the action length, for example the above 29 frame will be 27 frame finally, so
Please do not make the cycle filter too high, otherwise, your action will slip a bit in each loop.
2.trans in:
when other transition transit in, use a range to smooth transit. for example, 28 frame total, and
20%, there are 28 * 20% = 5.6 (acutally 5 frame) means 5 frame will smooth transit from previous
action.
3.trans out:
Action playback after this range, it can transit to others actions
if A transit to B, A is 40 frames and trans out of A is 80%, (40 * 80% = 32) only after 32 frames playback finished, A can transit to B and there are at most 8 frame to transit
Important example:
stand -> walk example:
Some people ask, the stand action is quite long, is that wait too long to transit from stand to walk, Actually, here we can make the Trans in 10% and transit out 15%, means once agent transit to stand, it can be transit to others action immediately.
Important Tricks:
Many people suffer this:
When fine-tune A >> B, it's perfect transit, very happy, but A transit to C is very bad!! Then if we fix A->C, the A->B is bad again!! So finally it's very unhappy and frustrated.
The principle is: the transition graph naturally have cycle dependency characteristic, so we have to make some node no change forever, then break the cycle.
Let me introduce the required pipeline can 100% avoid this happen:
Standard Pipeline:
1. Make perfect cycle action firstly!! Save you scene and do not adjust cycle action any more as much as possible.
2. Based on cycle actions, then make transition actions, if you find transition is not OK, please only adjust transition action and leave the cycle action no change
3. Then if you find you always cannot adjust your transit OK, please consider modify some of your animation from original rig, maybe add or cut some frame can solve your problem.
Action Make Tips:
Make the action a little bit “longer” than original, for example, walk >> walkToStand >> stand
Trouble shooting:
If you find your action pop forward little bit, for example from “standToWalk” to “Walk”, the pose hold and entirely moving forward little bit, this means, the “standToWalk” should be shorten, the trans out should be decrease, try to 80% down to 70%.
If you find your action slip little bit, for example from “standToWalk” to “Walk”, the foot slip backward, that mean the action “standToWalk” end too earlier than predict and this time you need prolong the trans out of “standToWalk” try to 80% to 90%.
Sometime the situation will happend on transition Map trans in, for example from "stand" to "standToWalk" at this time you need trim your action, because no matter how you adjust, the action will not play correctly.
summury of above troubles:
1. transition happened too eailer: pop forward
2. transition happened to late: slip (or fast change)
Notice:
Does not use fix transform to solve transition problem, it will not help fix transform will only work with people "stand_to_sit" like
Action types
1. Cycle action
Cycle action means "walk", "stand", "run" they can cycle them self, for making cycle action perfect, you need build an action cycle match the start and end.
2. Transition action
Means actions between "walk" "stand", like "walk_to_stand" or "stand_to_walk"
Cycle Filter, Trans In, Trans Out
They are percentage attribute
1. Cycle filter:
Only can work when enable "Is Cycle" flag, this attribute only deal with action self-cycle, when action transition between each other, this attribute is useless, for example, an action is 29 frames and 10% self-cycle, 29 * 10% = 2.9(cut float point, the result is 2) means 2 frame of end of action will blend with 2 frames of start of action, make self-transit smoothly.
This will shrink down the action length, for example the above 29 frame will be 27 frame finally, so
Please do not make the cycle filter too high, otherwise, your action will slip a bit in each loop.
2.trans in:
when other transition transit in, use a range to smooth transit. for example, 28 frame total, and
20%, there are 28 * 20% = 5.6 (acutally 5 frame) means 5 frame will smooth transit from previous
action.
3.trans out:
Action playback after this range, it can transit to others actions
if A transit to B, A is 40 frames and trans out of A is 80%, (40 * 80% = 32) only after 32 frames playback finished, A can transit to B and there are at most 8 frame to transit
Important example:
stand -> walk example:
Some people ask, the stand action is quite long, is that wait too long to transit from stand to walk, Actually, here we can make the Trans in 10% and transit out 15%, means once agent transit to stand, it can be transit to others action immediately.
Important Tricks:
Many people suffer this:
When fine-tune A >> B, it's perfect transit, very happy, but A transit to C is very bad!! Then if we fix A->C, the A->B is bad again!! So finally it's very unhappy and frustrated.
The principle is: the transition graph naturally have cycle dependency characteristic, so we have to make some node no change forever, then break the cycle.
Let me introduce the required pipeline can 100% avoid this happen:
Standard Pipeline:
1. Make perfect cycle action firstly!! Save you scene and do not adjust cycle action any more as much as possible.
2. Based on cycle actions, then make transition actions, if you find transition is not OK, please only adjust transition action and leave the cycle action no change
3. Then if you find you always cannot adjust your transit OK, please consider modify some of your animation from original rig, maybe add or cut some frame can solve your problem.
Action Make Tips:
Make the action a little bit “longer” than original, for example, walk >> walkToStand >> stand
Trouble shooting:
If you find your action pop forward little bit, for example from “standToWalk” to “Walk”, the pose hold and entirely moving forward little bit, this means, the “standToWalk” should be shorten, the trans out should be decrease, try to 80% down to 70%.
If you find your action slip little bit, for example from “standToWalk” to “Walk”, the foot slip backward, that mean the action “standToWalk” end too earlier than predict and this time you need prolong the trans out of “standToWalk” try to 80% to 90%.
Sometime the situation will happend on transition Map trans in, for example from "stand" to "standToWalk" at this time you need trim your action, because no matter how you adjust, the action will not play correctly.
summury of above troubles:
1. transition happened too eailer: pop forward
2. transition happened to late: slip (or fast change)
Notice:
Does not use fix transform to solve transition problem, it will not help fix transform will only work with people "stand_to_sit" like