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

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.

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

Thanks! It now plays the dismount animation, though in the opposite direction (rotates 180 until it is inside the wall :smile:). 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.

6441221--720926--Dismount.PNG

1 Like

[quote=“FrancoisFournel”, post:2, topic: 813149]
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
[/quote]

Mmm, I might be onto something about this " (rotates 180 until it is inside the wall :smile:) ". 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.

6478175–727586–2020-10-31 23-19-08.zip (1010 KB)

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.

1 Like

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!

Awesome, great job !

1 Like