Split up single animation channel

Is it possible to split up a single animation channel into 2 more? Assuming you have a model from blender that only has 1 animation channel with all the animations. For example set the lower bones to this animation channel and upper bones to this one.



I only ask this because I purchased a model, and it would take me quite awhile to figure out how to do it in blender. (If its even possible in blender).



Thank you for your help ahead of time. You guy’s are doing a great job.

You can, have a look at TestWalkingChar, it splits up the model into a shootingChannel (ln:314) that only effects a few bones.

1 Like

I gave that a shot, but my model just kind of locks up into the default position. I think it just sticks at frame 0 and doesn’t animate anymore when I try to play 2.



[java]

if(attack){

if (!“Fight1”.equals(animChannel.getAnimationName())) {

animChannel.setAnim(“Fight1”);

animChannel.setSpeed(2.2f);

animChannel.setLoopMode(LoopMode.DontLoop);

}

}



if (((!left) && (!right) && (!up) && (!down) && (!jump) && (!attack))) {

if (!“Idle3”.equals(animChannel.getAnimationName())) {

animChannel.setAnim(“Idle3”);

}

}



if (left) {

walkDirection.addLocal(camLeft);

if (!“StrafeLeft”.equals(lowerHalf.getAnimationName())) {

lowerHalf.setAnim(“StrafeLeft”);

lowerHalf.setSpeed(2.2f);

lowerHalf.setLoopMode(LoopMode.Loop);

}

}



if (right) {

walkDirection.addLocal(camLeft.negate());

if (!“StrafeRight”.equals(lowerHalf.getAnimationName())) {

lowerHalf.setAnim(“StrafeRight”);

lowerHalf.setSpeed(2.2f);

lowerHalf.setLoopMode(LoopMode.Loop);

}

}

if (up) {

walkDirection.addLocal(camDir);

if (!“Walk1”.equals(lowerHalf.getAnimationName())) {

lowerHalf.setAnim(“Walk1”);

lowerHalf.setSpeed(2.2f);

lowerHalf.setLoopMode(LoopMode.Loop);

}

}



if (down) {

walkDirection.addLocal(camDir.negate());

if (!“Walk1”.equals(lowerHalf.getAnimationName())) {

lowerHalf.setAnim(“Walk1”);

lowerHalf.setSpeed(-2.2f);

lowerHalf.setLoopMode(LoopMode.Loop);

}

}



if ((jump && up) || (jump && down) || (jump && left) || (jump && right) || (jump)) {

if (!“Jump”.equals(lowerHalf.getAnimationName())) {

lowerHalf.setAnim(“Jump”);

lowerHalf.setLoopMode(LoopMode.Loop);

}

}

[/java]