So I'm making a map with a top-down camera, where you control a character and he faces wherever you point the mouse and shoots when you click, etc..
I have 2 problems.
Custom Walk Animation
I added 3 new walk animations to the model, basically a strafe left/right and walk backwards. The problem is when I play the animations (through triggers) he moves to the initial animation pose, but then just jitters there rather than properly looping through the animation. I initially tried setting the animations to Walk A, B, & C, like the spine crawler, but those only work if he has turnable off and it only plays at game-world angles rather than in relation to where he is currently facing. So I tried changing all the walk anims to "channel" and just purely triggering his walk anims, but it still does the jitter at the first frame or so rather than playing the whole animation.
How can I either A: Properly get SC2 to play the backwards and strafe anims in relation to his facing, or B: retain playing the animations through triggers, but fix the jitter problem.
I tried setting the move speed to 0 and 225 (marine's default) to no luck, as well as in the actor.
TurretZ
I added a turretZ at the model's waist, and when I rotate it in 3ds max it is properly rotating and properly skinned to the mesh. The problem is in-game, he bends over forwards and then rotates in a roll rather than a yaw axis. Any idea what I am doing wrong?
To put it plainly: Why is he bent over? The rotation is actually correct, but he is just bent over forwards.
How I rigged the TurretZ is I added a bone at the same position of one of he "spine" bones that rotates only his upper body and then added a Ref_TurretZ right in between them, and attached them as such.
I have keys for the first and last frames. I made the custom walk animation by copying and modifying the existing marine's animation. It plays perfectly when he is not moving, but when I try to play an animation after giving a move order, it jitters. Even when trying to play the original move animation it jitters.
Working on the turretz...when I turn off "always deform" his arms get reset and do not return to normal after turning always deform back on, so I lose my entire set of upper body animations.
Okay so I've got it to where he is playing the animation, in full, once, but then stopping and jittering again. I am using an animation group to apply them. I hate these bugs -.-.
Edit: BTW I went back and changed it to walk again, and am just using the A, B, & C animation groups.
Attached is a screenshot of the anim group parameters.
edit: Update. The "A" animation, as in the backwards animation, is now playing properly. To make that one all I did was take the original marine's walk animation and reverse it. I wonder what I did wrong with the B & C that it is not playing properly?
Edit again: Oh nevermind. I set him to unturnable, and the game is just playing that because "Walk A" is that direction. It's still playing once and then stopping.
Never tried this method with anim groups. Usually sc2 actors use AnimStop/AnimPlay, maybe it includes smooth transitions between animations? You could try.
What's happening is every time he gets a new move order, which is every .05 seconds, it's causing that jitter! I set the timer to 1.5 and I think it is playing for the full 1.5s now. I just gotta figure out how to keep it from "refreshing" or whatever.
Is there a way, in triggers, to change a unit's "Stats: Facing" angle? If I could simply update that then I could just use the "A B C D E" etc walk variations and it will change automatically (like how the spine crawler does).
IT WORKS! I GOT IT! I just removed the "AnimGroupRemoveAll" because that is what was causing the "refresh"!!!! I AM THE GREATEST MAPPER ALIVE!!!
I WILL upload a video just for you when I finish this whole system!
If you want, I will let you beta test this map when it's ready (in a few months) just because of how awesome you are.
Do you have a steam account? Trello? Want to join my web forum "undeadassault.net" so we can keep in touch?
Damn I'm excited :D! I just gotta update the condition parameters to get it to play at the proper angles (playing wrong one at certain angles) but otherwise it is smooooooooooth.
Just gotta figure out how to fix the bone issue so I can properly update the TurretZ and I got a Source engine-style movement system (like Alien Swarm, if you've ever played that).
about the turretZ: just before you attach turret Z point to a bone, select the bone, and set its orientation to 0, 0, 0, and set attachment's orientation to 0, 0, 0, then align attachment to the bone (pivot to pivot), adn then attach
Well the problem is that the bones it is attaching to are not at 0,0,0. Would just setting TurretZ and my new bone to it's orientation fix this, actually? I'll try it tomorrow. Too much headache for one day - I'll keep this thread posted with my discoveries.
Edit: I just checked it before closing 3ds max. On the original model, there are 2 "spine" bones.
Bone spine1 is at 90,-90,0
Bone spine 2 is at -90,-90,-180
I am attaching turretZ between these 2 bones. Any advice? It should rotate if I attach it to either because both rotate the same mesh. Should I just put turretZ on bone spine 2 and set it's orientation to match 2's?
Make a bone with 0,0,0 orientation, attach it to whatever you want, and then attach turret z to it. But there is a chance that it will be enough to only have attachment's orientation to be 0,0,0. Just experiment, u'll easily find what causes unwanted slopes.
So I'm making a map with a top-down camera, where you control a character and he faces wherever you point the mouse and shoots when you click, etc..
I have 2 problems.
Custom Walk Animation I added 3 new walk animations to the model, basically a strafe left/right and walk backwards. The problem is when I play the animations (through triggers) he moves to the initial animation pose, but then just jitters there rather than properly looping through the animation. I initially tried setting the animations to Walk A, B, & C, like the spine crawler, but those only work if he has turnable off and it only plays at game-world angles rather than in relation to where he is currently facing. So I tried changing all the walk anims to "channel" and just purely triggering his walk anims, but it still does the jitter at the first frame or so rather than playing the whole animation.
How can I either A: Properly get SC2 to play the backwards and strafe anims in relation to his facing, or B: retain playing the animations through triggers, but fix the jitter problem.
I tried setting the move speed to 0 and 225 (marine's default) to no luck, as well as in the actor.
TurretZ I added a turretZ at the model's waist, and when I rotate it in 3ds max it is properly rotating and properly skinned to the mesh. The problem is in-game, he bends over forwards and then rotates in a roll rather than a yaw axis. Any idea what I am doing wrong?
To put it plainly: Why is he bent over? The rotation is actually correct, but he is just bent over forwards.
How I rigged the TurretZ is I added a bone at the same position of one of he "spine" bones that rotates only his upper body and then added a Ref_TurretZ right in between them, and attached them as such.
Picture of turretZ problem:
About the animations: Make sure that you have keys for first and last frames of your animations.
About the TurretZ. Set orientation of both, turret z attachment and the bone you attach it to -> to 0, 0, 0.
I have keys for the first and last frames. I made the custom walk animation by copying and modifying the existing marine's animation. It plays perfectly when he is not moving, but when I try to play an animation after giving a move order, it jitters. Even when trying to play the original move animation it jitters.
Working on the turretz...when I turn off "always deform" his arms get reset and do not return to normal after turning always deform back on, so I lose my entire set of upper body animations.
There are 2 ways to play animation: PlayAnim and StartBracket, do they both make jitter?
Okay so I've got it to where he is playing the animation, in full, once, but then stopping and jittering again. I am using an animation group to apply them. I hate these bugs -.-.
Edit: BTW I went back and changed it to walk again, and am just using the A, B, & C animation groups.
This is my movement updater.
Attached is a screenshot of the anim group parameters.
edit: Update. The "A" animation, as in the backwards animation, is now playing properly. To make that one all I did was take the original marine's walk animation and reverse it. I wonder what I did wrong with the B & C that it is not playing properly?
Edit again: Oh nevermind. I set him to unturnable, and the game is just playing that because "Walk A" is that direction. It's still playing once and then stopping.
Never tried this method with anim groups. Usually sc2 actors use AnimStop/AnimPlay, maybe it includes smooth transitions between animations? You could try.
Okay I found the problem!!!!!!!!!!!!
What's happening is every time he gets a new move order, which is every .05 seconds, it's causing that jitter! I set the timer to 1.5 and I think it is playing for the full 1.5s now. I just gotta figure out how to keep it from "refreshing" or whatever.
Is there a way, in triggers, to change a unit's "Stats: Facing" angle? If I could simply update that then I could just use the "A B C D E" etc walk variations and it will change automatically (like how the spine crawler does).
AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!
IT WORKS! I GOT IT! I just removed the "AnimGroupRemoveAll" because that is what was causing the "refresh"!!!! I AM THE GREATEST MAPPER ALIVE!!!
I WILL upload a video just for you when I finish this whole system!
If you want, I will let you beta test this map when it's ready (in a few months) just because of how awesome you are.
Do you have a steam account? Trello? Want to join my web forum "undeadassault.net" so we can keep in touch?
Damn I'm excited :D! I just gotta update the condition parameters to get it to play at the proper angles (playing wrong one at certain angles) but otherwise it is smooooooooooth.
Just gotta figure out how to fix the bone issue so I can properly update the TurretZ and I got a Source engine-style movement system (like Alien Swarm, if you've ever played that).
yea, would be interesting to see a video of this
about the turretZ: just before you attach turret Z point to a bone, select the bone, and set its orientation to 0, 0, 0, and set attachment's orientation to 0, 0, 0, then align attachment to the bone (pivot to pivot), adn then attach
Well the problem is that the bones it is attaching to are not at 0,0,0. Would just setting TurretZ and my new bone to it's orientation fix this, actually? I'll try it tomorrow. Too much headache for one day - I'll keep this thread posted with my discoveries.
Edit: I just checked it before closing 3ds max. On the original model, there are 2 "spine" bones.
Bone spine1 is at 90,-90,0
Bone spine 2 is at -90,-90,-180
I am attaching turretZ between these 2 bones. Any advice? It should rotate if I attach it to either because both rotate the same mesh. Should I just put turretZ on bone spine 2 and set it's orientation to match 2's?
Make a bone with 0,0,0 orientation, attach it to whatever you want, and then attach turret z to it. But there is a chance that it will be enough to only have attachment's orientation to be 0,0,0. Just experiment, u'll easily find what causes unwanted slopes.
Okay I finally got it all working right. I added 2 bones, both at 0,0,0 rotation, and then turretZ between them.