Search Unity

Mecanim Motions and 3rd Person Control By Zodiac Alliance Digital Entertainment

Discussion in 'Assets and Asset Store' started by Levantez, Sep 30, 2013.

?

Of the following Planned Features, which one do you want 1st

  1. Platforming Motions

    23.9%
  2. Rifle Motions

    25.4%
  3. Sword Motions

    38.8%
  4. Setup Editor

    19.4%
  5. Other Motion Related Stuffs

    14.9%
  6. Other Code Related Stuffs

    11.9%
Multiple votes are allowed.
  1. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    We are doing a research at the moment.
    Would anyone know on how to blend from Mecanim to Ragdoll and vice versa ?
     
  2. Moonlight

    Moonlight

    Joined:
    Jun 7, 2010
    Posts:
    41
    I was doing research on how to ragdoll in and out, and I think I know how I am going to implement it at least.
    First, you can create a rag doll right from a mecanim character. You have pretty much already done this with the default character that comes with the package, just without any rigidbodys. I also noticed that the body and head mesh are separate, is there a reason for this?
    What you would do with your new rag doll is, in the start of a script, turn all the rigid bodys off, or turn them into kinematics.
    After that, I am pretty sure to activate the ragdoll mode all you have to do is disable your Animator component, and then activate the rigidbodys (turn kinematic off).

    Going the other way is slightly harder. First do the above in reverse, then you should have 2 animations for getting up, one for lying on your back, and one for front. Then, my plan is to use IK to force the bones to match the position of the rigidbodys bones, and quickly fade the IK weight to zero during the start of the get up animation. Mecanim IK is a bit limited, so I was going to use Final IK with a full body IK rig. The flow would go like this:
    turn off rigid bodys;
    cache the position of all bones (or all bones that the IK will use);
    turn on animator;
    Change mecanim state to my get up anim (front or back depending on how my character is lying, this would be found out through script);
    Set IK weight to 1 and position to cached data;
    Fade IK weight to zero over 1/2 a sec;
    Let mecanim fade out of getup animation.

    Like I said mecanim IK is limited to only the limbs, where FinalIK lets you control the whole body. It's also how I am going to control aiming, and getting hit reactions.

    You could probably still do it with just mecanim, but there will probably be a "jump" from going from ragdoll to animation.
     
  3. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    It's for customization purpose.
    We found need to fix the model now and then,
    by making them separate we don't have to fix the entire character.
    Also, If we choose to do face morphing later, it is much more effective to separate out the head.

    We have a check on FinalIK too.
    Unfortunately, unless they agreed, we cannot include other people's' stuff in our Asset as its against the EULA.

    I've seen a video of that happened, trying to find alternatives to fix it.
     
  4. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    We've theorized a new method that we are going to test later.

    1. Make an empty ragdoll model that have no Mesh nor Animation in it.
    2. While Normal, Match Target Ragdoll to Character
    3. When Player got hit, Depening on which part got hit, MatchTarget off + Ragdoll on specific parts.
    4. MatchTarget Character to Ragdoll

    According to this, MatchTarget can take care of Heads and Body as well, so it should work better than using reachIK
    https://docs.unity3d.com/Documentation/ScriptReference/AvatarTarget.html

    FIX***
    Match Target Body while using ReachIK for Limbs
     
  5. Moonlight

    Moonlight

    Joined:
    Jun 7, 2010
    Posts:
    41
    Technically it should work, I don't see why not. I think for my personal use I will probably re-write the system to use final IK. I am using FinalIK for a lot of AI stuff as well, so it would be nice to keep everything uniform. :)
     
  6. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    Here's the New Motions, unless we have to add something new, this will be it for this release.

    $MotionLists.jpg
     
  7. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    We would like to make an apology to some of you who've been looking forward for the Melee Combat System.

    After Production Review, we have decided that we will scale down the planned melee combat features,
    Up until when 1st version of our Game got released.

    The Combo Editor will be there as promised, but there wont be enough motions nor contents to make a melee combat-orientated Action Game.
    To make it sound easier,
    You can make Metal Gear Solid, but not Assassin Creed.

    More Platforming Actions will be updated as planned.
     
  8. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    $Untitled-1.jpg

    An update today, we are done experimenting with ScriptableObject.
    Weapon Data will be refactor outside, and you can edit them with Editor that we will make later.

    The Merit of doing this,
    Beside making it easier to edit,
    As Data got Created as Asset beforehand, thus no Data created, thus making the Game Load Faster on Initialization.
    ..... At least that is what we assumed will happen, please correct us if we are wrong on this.
     
  9. Moonlight

    Moonlight

    Joined:
    Jun 7, 2010
    Posts:
    41
    I think you have the right idea with that. The only thing though is that if you are instantiating the weapon at run-time, when you swap to it, this is "technically" bad. Ideally, this would be done using object pooling, but because there are so many object pooling solutions available, I wouldn't recommend adding object pooling to your own package. It would be incredibly simple to change your script to use an object pool.

    Realistically, the way you are doing this is fine. Object pools really only matter for mass amounts of objects.

    Now that the package is further along, any idea on a release?
     
  10. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    If nothing went wrong, it should be completed within March.
    However, now that we planned to scale down melee combat, we might consider going through with it as well before release.
    Should this be the case, the next release should be sometime around May.

    Also, here is today Update.
    We have broken down The Attacking Damage calculation into 3 major factors.
    Character_ATK + Weapon_ATK + Auxiliary_ATK

    an example of Auxiliary would be,
    Pistol + Physical Bullet, or Pistol + Explosion Shell

    or, in a case of Melee Weapon
    Sword + AttackMotion1, Sword+AttackMotion2

    //EDIT, More Information

    Elements were also added.
    If Aux's Element is anything other than NONE, it will override Weapon's Element
     
    Last edited: Feb 12, 2014
  11. Moonlight

    Moonlight

    Joined:
    Jun 7, 2010
    Posts:
    41
    ooh, um, I might just have to use the current version and add all the stuff I want to it myself then. I didn't think it would be that long. Is there any way you could release a working version with all of the stuff you already have? Kinda like a beta update, and I can add extra stuff that I need for my particular project? I could use it and report back any sort of bugs or enhancements that could be made, if you wanted?
     
  12. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    Our apology to keep you waiting.
    Code-wise we wont be able to submit anything soon.
    However, we can submit all of the new motions for you, but you will have to set them up yourself.
    Would this be alright for you?
     
  13. Moonlight

    Moonlight

    Joined:
    Jun 7, 2010
    Posts:
    41
    Yeah, I think it should be simple enough. Chances are I would have to redo a bit of the code for my project anyway, so that would be great, thank you.
     
  14. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    We have submitted the update, it should be available within a week.
     
  15. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
  16. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
  17. RagingJacob

    RagingJacob

    Joined:
    Jun 19, 2013
    Posts:
    72
    OMG! :eek:

    This asset looks just like what I needed to make in order for my game project to become something worthwhile.
    I'm on the verge of buying this asset, the price is a big factor for a working student like me :/
    I just have a couple of question about it, are the source files included?
    None of that dll BS please :(

    I want to be able to learn from the assets I buy. And I gotta say this one looks legendary ! :cool:
    Is the code commented in such a fashion where someone could look at it and get an understanding of the systems at play?

    I am sooooooo getting this when I get a positive reply :D
    Here's looking forward to updates to the asset ;)
     
  18. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    KillerKahuna, Thank you for having an interest in our Asset.

    As for the questions,
    There is no DLL, source codes are included, you can modify them however you like after purchase.

    For the comments, We use built-in function naming practice, meaning that the name for each function should be self-explanatory.
    As of now, we still have not receive any feedback that they are hard to understand.
    And what we made light in the Comment, we gave detailed Documentation on each Module.
    -----

    HOWEVER, there is a few things that you should take note of.

    1. Vertical Aiming require Unity Pro.
    2. If your School teach Unity, by EULA with Unity, they must have Unity Pro.
    3. We will increase the price in later Update. So, it will be cheaper if you buy now than later.
     
  19. RagingJacob

    RagingJacob

    Joined:
    Jun 19, 2013
    Posts:
    72
    Thank you for the swift reply, I am very pleased to hear the code is open to learn from :D
    The package does not require Unity Pro though right ?
    As in, I can disable the features that use Unity Pro if I so desire.
    I am currently saving up for Unity Pro however, so it'll be perfect in the future.

    Well I am buying ZADE now either way actually, since I can already see the price skyrocketing.
    I mean you already have a lot of features for a character controller that is still a WIP :O
    Plus this is perfect for a stealth game!

    What version will have the new animations plugged into the controller btw?
    Thanks again :D
     
  20. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    It is stated in the description that it require Unity Pro.
    From what we understand, if there is any Pro-specific Codes, there should be no error, only they won't get compiled.

    With the current release, there are some other Pro-features as well, but they have inferior alternatives provided.
    Most of these alternatives will get polish and replace the Pro features.

    The New Animations will be fully utilize with the next release.
    Which, if nothing went wrong should be either this March or May, depending on circumstances.
     
  21. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    An Update Today, we have completed the new FrameWork for WeaponData

    $Untitled-1.jpg

    WeaponData will be create through Menu function.
    We decided to go for a file per Data approach instead of List<>, since it is more adaptable this way and you don't have to load things that you won't need.

    There are 2ways to Equip your Character,
    1. By Dragging the Data to WeaponManager
    2. Load WeaponData via Script
    In the case that both were done, 2 will override 1.

    We also made some Fail-safe coding in case anything didn't get setup properly.
     
  22. hamyshank

    hamyshank

    Joined:
    Jan 31, 2013
    Posts:
    88
  23. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    Thank you hamyshank.

    --------------------------------------

    An Update Today, we have made a TeamManager

    $Untitled-1.jpg

    Basically this determine what the Unit can deal damage to.

    For example, you could put Civilian on Team3,
    they cannot attack anyone,
    you cannot attack them,
    but enemies Bandits on Team2 can.

    Or, you could instantiate Bullets and Explosion as a different Team, and they can hit anything.

    If you want to change the team size, all you have to do is edit the enum, and everything will be update accordingly.
     
  24. Moonlight

    Moonlight

    Joined:
    Jun 7, 2010
    Posts:
    41
  25. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    2.3 Pre Release is available in the Asset Store now.
    Basically, all of the new FBX got added. But none got setup.
     
  26. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    We are not going to implement this, just asked out of curiosity.

    From what we understand, Rifle Stock act as Stabilizer against Recoil.
    However, the trade off is that the Weight increase.

    While Shooting, what is the downside of having Weight increase beside making it more tired to carry around?
     
  27. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    At the moment
    For FireArm Control, we have Power, FireRate, Accurary, Recoil.
    For Bullet, they are part of AuxWeapon and have Clip, Speed, LifeSpan, and Recoil Force.
    You can switch between using Player's MP, Rechargeable Battery, and Clip Inventory............

    And the Problem is we still haven't coded an inventory system yet.
     
  28. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    An Update Today, AuxWeapon Switch System for FireArm is completed.
    You can Change Bullet Type simply by Dragging Bullet Data there.

    Also, if you press the WeaponSwitch, and they happened to be the same Weapon,
    The Unit will do reload Motion instead of Drawing Weapon.
    This also apply if it's the same weapon, but different Bullet.

    $Untitled-1.jpg
     
  29. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    An update today,
    We have completed Script for Multiple Barrel FireArms,
    currently, the only thing it will do is shoot concurrently at the moment,
    we will add in the option to have them fire in interval.

    We have also made a fail safe check script to see if the AuxData is compatible with the selected weapon.
    If it is not, Default Aux will be load instead.

    $Untitled-1.jpg
     
  30. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    A few Update Today,

    1. We have made a ScriptableObject that is use for Motion Timing Reference.
    Timer Curve in all Action and Melee Scripts will be replace with this.

    2. We have re-coded Shooting Script.
    While Shooting, The Motion will remain at Aim if Aux's PowerType is Rapid,
    If Normal, Blend to Normal. If Power, Blend to Power.
    Next Shooting cannot be made until the motion is complete and blended back to Aiming.
    FireRate also got implemented. The Higher it is, the Faster Bullet will get spawn.

    3. With RagDoll Physics, we have mailed to to ask permission from Prof. Perttu Hämäläinen, the Creator of the Algorithm.
    We will integrate it into our Asset if he is going to allow it.

    $Untitled-1.jpg
     
  31. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    If anyone can help us with this, we would be pretty much appreciated.

    We are trying to get the Weapon Layer Control down to a single Layer, and we still got this problem.

    When the Anim Motion File directly got masked, Nothing will be apply if everything were masked out.
    But when, a body part got masked, instead of overriding only that Part, everything got overrided instead.

    $Untitled-1.jpg
     
  32. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    An Update today,

    Since we couldn't find solution to solve the Masking issue, We still have to stick with 3Layers Override.

    Algorithm to Draw Weapon In/Out is completed. Although we still haven't implemented the timer that make Weapon Appear/Disappear at the right time.

    What's left until the scheduled next release.

    Getting the Ammo to consume either MP, bullet from Inventory, or internal Battery.

    Implement Crawling + Shooting Motions that it go with.

    When the above two are done, Duplicate all Workflow for the rest of Weapons.

    $Untitled-1.jpg
     
  33. EclipseGamesLLC

    EclipseGamesLLC

    Joined:
    Jun 18, 2011
    Posts:
    27
    hey have a question, I've bought this and I have to say, best third person mecanim kit. One thing I would like to know and get a tip on is climbing a wall. I am looking at some of the functions like moveup and vaulting, I was wondering, can i use that moveup script as a wall climb if I modifiy it alittle? if so how can I exactly?
     
  34. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    Vampire, Thank you for purchasing our Asset.
    Yes, you can modify MoveUp script for that purpose.
    1. Duplicate MoveUp script and named it to something else.
    2. Put that Script into Action Manager
    3. Inside the Script, fix the following,
    3.1 change MatchTargeting to either Left or Right Hand depending on the motion you are going to use.
    3.2 I am not in front of my PC at the moment, so I'm not 100% on this,
    there should be a line that write anim.SetInt("Action", num ); where num is either an enum or a number,
    change that to a number that is not already used by an Action transition.
    4. Inside Animation Editor, add a Climb Wall motion there, and link it in the same way as other Action Motion, but with the number you set in 3.2
    5. Inside Inspector for the Script, there should be a parameter that set the range of Height for the platform that the character can reach.

    As for the motion, there is a climb up wall jump motion in a free Unity Tech Demo.
    Unfortunately, after confirming with Asset Store, they told us that we cannot include that in our package.
     
  35. EclipseGamesLLC

    EclipseGamesLLC

    Joined:
    Jun 18, 2011
    Posts:
    27
    awesome, thanks greatly appreciate it, and it helps, and I think yea because the animation came from mixamo if im not mistaken (they both look the same).


    Edit: Only problem im having atm is that my animation automaticly plays during the start. is it possibly animation setting problem or script problem
     
    Last edited: Feb 26, 2014
  36. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
  37. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    How would you guys feel if we are going to relay this forum to Facebook fanpage instead?
     
  38. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    Could you describe the problem in more detail?

    Specifically, what is it that you would like to achieve?
     
  39. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
  40. AgathaCrup

    AgathaCrup

    Joined:
    Jun 20, 2013
    Posts:
    27
    Hey guys this looks like a really cool project, I am new to Unity can you tell me if it would be easy to change a character from your model to another humanoid biped? I have a character imported from Daz in FBX format no animations and learning how to rig it and saw your system. Also would it be easy to swap or add animations? If that's possible I wanted to buy your full project tho' I don't have Unity Pro.
     
  41. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    Hi AgathaCrup, thank you for having an interest in our Package.

    We don't do update on this forum anymore, and we continue feeding our updates on the Facebook page instead.
    https://www.facebook.com/pages/Zodiac-Alliance-Digital-Entertainment/292323454120984

    As for your questions,

    This System will work as long as the Character got setup as Humanoid. All you have to do is Plugged in your Character to the Editor and push the buttons.
    However, it seems that there seems to be a bug with it, we will upload a fix later.
    If there is something that do not work, and you can't figure out how to solve it, Message us on the Facebook page and we will guide you through it.

    If you don't have Pro, then there would be problem with Editing Motions.
    Our System use Layer Syncing in Motion Controller, and it is a Pro only feature.
    If you don't have Unity Pro, As far as we know, our Controller will work right out of the Package.
    But if you wanted to edit it, you will have to go through the manual tweaking on every layer.

    Also, since we use IK, and it's also a Pro only feature, you cannot do the following.
    Having Character Aim up and down.
    However, Bullet trajectory calculation is independent of it.
     
  42. LeftyTwoGuns

    LeftyTwoGuns

    Joined:
    Jan 3, 2013
    Posts:
    260
    I have a quick question about your FullBody Collider Editor asset

    I am currently using the Unity ragdoll wizard to add colliders to the bones of my Mecanim characters. The problem is, there seems to be an issue with the Mecanim Animator Controller and parented colliders. They simply don't match up in the physics engine. So depending on the animation, a Physics.raycast can go right through the colliders (Legacy characters don't have this problem), because in the actual physics engine, the collider is not following the animation accurately

    Does your FullBody Collider asset do anything to fix this issue?
     
  43. Levantez

    Levantez

    Joined:
    May 24, 2012
    Posts:
    103
    Although we would be really appreciated if you purchase our package, You dont need our package specifically for that, here is how you can fix it.

    Collider is a part of Transform, meaning that it will follow Transform instantly.

    Physics Calculation is done in fixed interval regardless of framerate.

    By default, Mecanim Animator will move Transform in LateUpdate().

    Meaning, Physic Calculation was made before the character animated to the supposed position.

    In Animator component, change animation mode to Physics.
    This will tell Animator to animate the Character in Physic cycle instead.