Search Unity

  1. Unity 2020 LTS & Unity 2021.1 have been released.
    Dismiss Notice

Bug Kinematica: Demo "Dismount" and "DropDown" not working

Discussion in 'Animation Previews' started by simonaaitor, Oct 17, 2020.

  1. simonaaitor

    simonaaitor

    Joined:
    Sep 8, 2020
    Posts:
    11
    Hi, I've been playing with the demo project of Kinematica, v0.8 in Unity 2019.4.5f1, I can mount a wall, but then when I press "Alt" (which should activate dismount), nothing happens.

    If I move after pressing "Alt" I automatically climb the ledge. Even though there are many dismount samples in Kinematica's Asset, GetPoseSequence returns 0 sequences. I even added more dismount samples (which were not tagged) and then it triggers the dropDown animation. I don't really get what is happening.

    Thanks for your time.
     
  2. FrancoisFournel

    FrancoisFournel

    Unity Technologies

    Joined:
    Feb 12, 2020
    Posts:
    64
    Hello, thank you very much for informing us of that issue! I just fixed this bug (FYI we should not make collision check in that situation), the fix will therefore be available in next version that should come soon
     
  3. simonaaitor

    simonaaitor

    Joined:
    Sep 8, 2020
    Posts:
    11
    Thanks! It now plays the dismount animation, though in the opposite direction (rotates 180 until it is inside the wall :D). If I untag the played segment (attached below) it does not find any segment in GetPoseSequence as before. I am currently forcing a play (without anchored transition) and works properly. Will surely take a look at the following version.
     

    Attached Files:

    FrancoisFournel likes this.
  4. simonaaitor

    simonaaitor

    Joined:
    Sep 8, 2020
    Posts:
    11
    Mmm, I might be onto something about this " (rotates 180 until it is inside the wall :D) ". I am now playing drop down animations, and it rotates 90 degrees (half of the body inside the wall) only when dropping down on the horizontal axis, when going forward+ or forward- it plays the drop down correctly. Attaching video, any ideas on why this is happening, tip on what to look into? Attaching quick video.
     

    Attached Files:

    Last edited: Nov 1, 2020
  5. FrancoisFournel

    FrancoisFournel

    Unity Technologies

    Joined:
    Feb 12, 2020
    Posts:
    64
    Actually, we didn't properly implement the dropdown contextual action due to lack of time, it was still a work in progress but in code we never enter the state
    State.DropDown
    (the code is disabled). I think the tags & markers aren't properly setup themselves, and code is buggy.

    As a consequence, I would not advise your to lose your time with this unfinished part :).

    I imagine you are manually calling
    ClimbingAbility.RequestDropDownTransition(ref MotionSynthesizer synthesizer, AffineTransform contactTransform)
    to make it work ? Looking at the video, I feel the issue might be
    contactTransform
    parameter that seems to always be oriented in the same world direction. To make it work on any wall, it's necessary to make sure the Z vector of contactTransform is always aligned with the normal of vector of the wall the character is dropping on.
     
    simonaaitor likes this.
  6. simonaaitor

    simonaaitor

    Joined:
    Sep 8, 2020
    Posts:
    11
    Thanks a lot for your attention! Your tip was right on the spot!!!! I have dropDown working on all 4 sides of the wall.

    Solution below.
    AffineTransform contactTransform = ledgeGeometry.GetTransformGivenNormal(ledgeAnchor, wallGeometry.GetNormalWorldSpace());

    Thanks!
     
  7. FrancoisFournel

    FrancoisFournel

    Unity Technologies

    Joined:
    Feb 12, 2020
    Posts:
    64
    Awesome, great job !
     
    simonaaitor likes this.
unityunity