Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Synchronize two character's animations while colliding with objects

Discussion in 'Animation' started by JacobDzwinel, Nov 5, 2019.

  1. JacobDzwinel

    JacobDzwinel

    Joined:
    Dec 19, 2013
    Posts:
    26
    Hi everyone!

    I'm working on the fighting game where you as a player can perform a grapple/counter/finisher attacks on enemies. Something similar to Batman, Mad Max, Sleeping Dogs games. I'm using root motion and rigidbody capsule to drive my all characters on the scene.

    You can see some of the effects on my twitter profile:
    https://twitter.com/jacobdzwinel

    What I'm doing right now is I set characters in proper positions, rotations and I start animations for attacker and victim at the same time. That's easy. Everything works great until one of my character during motion is pushed by other collider on the scene (like wall for example) and translate a little in other direction causing my character positions to desynchronize while still in animations.

    I can disable rigidbodies detection or set them to kinematic but then my characters will move through any colliders on the scene that may cause some bugs.

    I'm asking if anyone has any experience in this kind of situation? I have some ideas but maybe some of you can help me figure out how to do this proper way.

    Thanks in advance!
     
    Last edited: Nov 5, 2019
  2. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,555
    Disabling physics during the interaction is pretty common as a simple solution. That's what Dark Souls 3 does.

    A more complex solution might use IK to ensure contact between key points and interrupt the animations if the characters get too far apart.