Aiming Firing Animation Character

Blitz3D Forums/Blitz3D Programming/Aiming Firing Animation Character

virtualjesus(Posted 2013) [#1]
Hello, I need to make an animation of a character aiming a shotgun, holding it with both hands (Third Person Game).
If I run the animation shooting horizontally, so good, but if I point 45 ° and shot, then there is error, no hands holding the gun, bad animation.
I need the character can shoot at any angle and the animation run correctly, holding the gun with your hands while the gun gives the recoil on that inclination.

Thanks in advance


RemiD(Posted 2013) [#2]
You can probably use the Fragmotion demo to improve your animation sequence.
or
CharacterFx (free)
or
Pacemaker (free)


virtualjesus(Posted 2013) [#3]
Thanks for your answer, if I'm using pacemaker and milkshape3D.

I think I have to apply IK animation (Maybe a physical library to joints) in real time in the game, only for the arms of the character, so that when shooting motion looks convincing, and that does not conflict the aim animation and shoot animation.

Do you think?


RemiD(Posted 2013) [#4]
I think i would rather capture 2 videos (one of the front, one of the side) of me doing the motion with a fake shotgun and then extract the interesting frames so that i can animate my character more realisticly.
But i would not use a physics library.


Kryzon(Posted 2013) [#5]
If you rotate bone entities in Blitz3D the bone animation will take that offset and work from there. You can transform bones while they're animating and they'll just adapt to their new settings.

You can animate your character shooting straight to the front, then find out which bones you need to rotate programmatically to make him face other directions.

These bones will probably be:
- His lowest lumbar.
- His 'arm control' bone. This is a special bone you need to place in his chest that rotate his arms around their shoulders.
- His upper cervical bone (to make his head look in the same direction).

The more time you spend on this, the more natural the final result will be.
Some of these, like the lower lumbar, you may want to rotate by a fraction of the rotation you're impressing on others. If you rotate the lower lumbar as much as you're rotating the other bones it'll look weird, the character will bend backwards etc.
All bones are children of the mesh they animate, so you grab the handles for each of the bones you need, and proceed to rotate them:
;Since bones are under a hierarchy chain, you need to traverse this chain
;(i.e. get the child of the child of the child) until you find the node you want.
armControl = GetChild( GetChild(character,"rootBone"), "armControl")

RotateEntity armControl, aimPitch, EntityYaw(armControl), EntityRoll(armControl), False

The best reference you can use for this is to hold an object in your arms just like your character and see for yourself what you rotate in order to aim different directions - starting from a frontal aim.


virtualjesus(Posted 2013) [#6]
Thanks friends for their support were very helpful, I had spent many days working on this problem. Solve the problem by placing three bones in the back (vertebras) and only one bone in the chest as a parent for the arms and from there I can point up and down by bending your back bones, without having to alter the shoot animation arms.
I am developing a Zombie Apocalypse Survival RPG Online, I hope to finish it soon, I hope you enjoy.
Thousand Thanks Friends