Jump to content

smookie

Former Developer
  • Content Count

    500
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by smookie

  1. Having received a lot of PMs regarding setting up animations, I decided to start up this thread to try and explain all the magic stuff behind it. I will try to keep this post updated with all the variables and examples but I would prefer being asked questions here in public so that i can explain each of them. This is something I do in my spare time so please bear with me if I dont reply instantly, thank you :) For starters: 1. Configuring animation Lets say we have an animation that begins in Default Weapon Raised Standing position (the one you enter game when placing soldier in editor). Its an anim of holding rifle with one hand with the other hanging on the side. You are able to shoot in this position. It lasts for 5 seconds and returns to default pose. config.cpp . class CfgMovesBasic; // Reference CfgMovesBasic. This class is used by ArmA3 to store Actionsets, which will be covered at later time class CfgMovesMaleSdr: CfgMovesBasic // Override CfgMovesMaleSdr class in which all animation states and gestures are stored. You can also make your own class but you need to make sure your unit will be using it. . Usually leave as is. { skeletonName="OFP2_ManSkeleton"; // Skeleton indication. If you are doing animations for a T-rex, you will obviously use your custom skeleton for all moves. . Usually leave as is. gestures="CfgGesturesMale"; // Gestures class. Again, if you are using custom class, change it. Usually leave as is. class States { class AmovPercMstpSrasWrflDnon; class MyAnimation : AmovPercMstpSrasWrflDnon { looped = 0; // if set to 1, engine will copy first keyframe to last keyframe, resulting in more "looped" motion. for non looping movement, ALWAYS DISABLE speed = -5; // if speed is entered as positive number, it will mean it will last for 1/speed seconds (if 0.25, it will last for 4s). You can use negative number to indicate how many seconds should it last, in this example -5 will make it last 5 seconds file = "\myAddons\myAnimation"; // path to animation file. may or may not end with ".rtm", there is no difference canBlendStep = 0; // sliding effect on/off, we set it to off because we do not want character to move/slide in this move minPlayTime= 0.95; // the ratio of animation that is required to play, in this example: 95% of animation must be played before it can be interrupted // Interpolation - smooth blending to another state. We use it usually when we know that last keyframe is different to first keyframe of the target animation. If they are the same, use ConnectTo[] instead. InterpolateTo[] = { "AmovPercMstpSrasWrflDnon", 0.5 // First string is the class name of target animation, in this example this is default rifle standing pose. The number that follows is animation cost -> the engine will always look for the next target animation with smallest cost if there is more than one chain leading towards called action [again, actions will be explained later] // You can ignore the number (enter any float you want from 0 to 1) if: /// there is only one way leading to target action /// there is no animation chain involved }; } } } Variables file [values: any | string] - path to animation file. may or may not end with ".rtm", there is no difference looped [values: 0,1 | integer] - if set to 1, engine will copy first keyframe to last keyframe, resulting in more "looped" motion. for non looping movement, ALWAYS DISABLE speed [values: (-inf, inf) | float] - if speed is entered as positive number, it will mean it will last for 1/speed seconds (if 0.25, it will last for 4s). You can use negative number to indicate how many seconds should it last, in this example -5 will make it last 5 seconds canBlendStep [values: 0,1 | integer] - sliding effect on/off minPlayTime [values: <0,1> | float] - the ratio of animation that is required to play before it can be interrupted Arrays InterpolateTo[] [values: alternating "String", float+] - smooth blending to another state. First string is the class name of target animation, in this example this is default rifle standing pose. The number that follows is animation cost -> the engine will always look for the next target animation with smallest cost if there is more than one chain leading towards called action. You can ignore it unless you are working towards improving connection between states that are links away in the chain Please post your questions below. I will try to explain all the variables, arrays and problems as soon as possible. Good luck :)
  2. As promised we are releasing yet another version of the animation mod (we feels weird;), but Reezo has done an awesome job putting scripts together and doing tons of tests on the pack as well as gave pack of interesting ideas that he well deserves the credit not less than I do for the whole work). Due to lack of time however, this is a Release Candidate version as it will contain some new bugs, hopefully fixing the old ones. It does NOT contain new calibration missions so please scrim through controls in the readme or on the wiki page @dev-heaven to get an idea of what and when to press (For instance climbing over obstacle will trigger only when close to a climbable fence and back to wall will work with most of chernarussian/takistani buildings and fences however it might fail to work at custom islands). Refer to Reezos highlights video for more information vklOq6KFQy4 Here is an extract from readme DOWNLOAD v0.25 RC1 @dev-heaven pass: red HOTFIX: CBA is REQUIRED to run this mod. PS There are some more hidden and small stuff to be discovered in the mod, including new animations for jogging with weapon down or improved climbing stuff ;)
  3. It's resolved. In future, please rather stick to our feedback tracker for such bug reports. If you feel like there is something really urgent (game breaking), hit me through twitter or skype with FT link so it is resolved faster :)
  4. smookie

    Is this normal ??

    Nothing is tedious, everything is a mess!
  5. You have just shown the previous state (You could try rolling back to earlier update to see it if you don't remember). The issue with what we had there was that the engine was unable to properly handle optics when weapon was tilted (misaligning of 3d optics). Thus the reason to introduce poses with weapon held vertically (restoring proper optics work), even if the poses do not seem to be comfortable or plausible (well aware). Should more engine possibilties arise, we may possibly go back to previous state.
  6. Pistols do not have seperate bone (like rifle or launcher), the meshes are plugged into right hand socket. Unfortunately, a mesh cannot be dynamically replugged into another socket during gameplay (needs to be faked with another holstered variant of pistol model). While the issue seems trivial, it will require a lot of work with only visual benefit.
  7. smookie

    Arma 3 - Marksmen DLC First Look Livestream

    All animations ever done for ArmA 3 were done in Motionbuilder :)
  8. Send your model and animation to me and i will take a look
  9. It's exactly the position of the head relative to proxy position. Your best bet is to place head bone at 0,y,0 point of the animation and ensure the proxy is centered in the aircraft.
  10. I am in the process of creating a tutorial for Motionbuilder on simple animation creation and importing into the engine. Perhaps, if i get motivated enough:P, there will be one for 3DS as well.
  11. smookie

    Development Blog & Reveals

    That would be cool, yes, but it is probably the same issue:
  12. smookie

    Development Blog & Reveals

    Most likely I will end up creating several animation sets for turn out FFV positions so you might be able to fit them to existing vehicles with more ease. Adjusting positions in FFV is currently not very well doable but it's something i am personally interested to have (in more fluid manner) in future (far rather than near though). And worry not young padawan, implementing is straight-forward! :)
  13. BTW if you need quicker reply, just add me on skype. It will be much easier
  14. smookie

    silvador special price for modders?

    My reply does not come from the fact i am BI Dev (remember silvador is sold by BISim, not BIS - different company) but from the fact I (my vbs stuff company) was interested in buying it myself and received this answer from first-hand source.
  15. All of the above is correct. I am currently full-time character animator for ArmA3 and the only character animator for Ground Branch. I will not be porting this mod to ArmA3 but my personal wishlist for ArmA3 has been updated with some of features from this mod not yet implemented in A3.
  16. Sorry for lack of response, reinforcing Team Mike got me carried away :) @sebj @Emperias : Unfortunately, you need to use scripting for that but it should be rather light and not very intrusive. You can define your own new gesture (simiairly to new State, just remember you could use a new action) and have it defined for two cases: Normal and Context. Additionally, you have to make a prone based full body animation. You can link those two gestures and one state with one custom action (can be called whatever you like). You add actions in specific actionsets. For non-prone stuff, its enough if you place it in low ready rifle actionset. For prone, place it in RifleProneActions. Action that is linked to gesture needs to be an array (actioname[] = {"gesturestate","Gesture"}), while in case of state, its just a variable actionname = statename. Your best bet is to copy and rename one of reload animations. Just clone the entries in all the places they exist. THEN you just need to add fired event handler, do some simple checking for ammo and PlayMoveNow actionname. It will work at any stance if you have done the linking correctly. IF you guys are interested,i can do a streamiing session and walk through this process. It probably would be beneficial to others so I would also record it and post in online. @Kydoimos: Head movement is irritaiting and you cannot disable it. I will be placing an internal request to fix this problem but I dont have ETA's for fixing.
  17. smookie

    silvador special price for modders?

    It is not being sold seperately.
  18. smookie

    New gameplay features ?

    Or better looking :)
  19. smookie

    2000+ Hours

    You still have the other 3k to go to beat me : ))))
  20. I actually dont know but that very well may be as these are seperate facial animations. Your best bet is to ignore those or put fake unweighted bones into your skeletons.
  21. This is a very late reply but in case anyone still needs it: You need to adjust headBobMode and headBobStrength. HeadBobMode should be set to 4 or 5 and headBobStrength should be close to -1.
  22. smookie

    Weapon inertia or Vsync lag

    Check if mouse smoothing is turned off in Controls.
×