← Back to list

Zip Line — Further Fixes

So, first up, let’s fix the jump. I made a post on Reddit, and was basically told that this is not uncommon.

Sean Duggan · 2026-07-23 04:07 · 0 claps · 3.1 min read
#unity #fantacode-studios #ziplines #animation
Open on Medium ↗
Wiki topics: 🎮 · Gaming 🎬 · Film & Television

Zip Line — Further Fixes

So, first up, let’s fix the jump. I made a post on Reddit, and was basically told that this is not uncommon.

matchtarget can be real finicky with root motion, I had similar problem where it snaps at the end like the animation wants to finish its own thing regardless

try setting the animator speed to 0 right at the match target completion frame, that way it cant override your position in the last moment

Their advice wasn’t bad, but I was still getting a jump, so I instead switched to a jump that ended at its peak. Because I already owned it, I grabbed the jump from Quaternius’s Universal Animation Library. Plugging the animation in, adjusting the matchTarget starting frame to match where the actual jump started, and then having the match last to the end of the animation works nicely.

var jumpAction = new CharacterAction
{
    animName = "Jump Up",
    ignoreCollision = true,
    usesRootMotion = true,
    useTwoPhaseMatchTarget = true,
    twoPhaseMatchTargetParams = new TwoPhaseTargetMatchParams
    {
        matchPos = startPosition + _ziplineOffset,
        matchRotation = startRotation,
        matchTargetBone = AvatarTarget.Root,
        startTime = 0.05f,
        matchEndTime = 1f,
        finalMatchEndTime = 0f, // No phase 2 (root catch up) since the player is hanging
        positionWeight = Vector3.one
    }
};

Well… mostly nicely.

Well… mostly nicely.

The animation is very slow for some reason, and it doesn’t look like my rotation is snapping. Which… is probably because the Fantacode Studios stuff doesn’t use a rotation weight parameter.

if (!animator.isMatchingTarget && !animator.IsInTransition(0))
{
    animator.MatchTarget(
        p.matchPos,
        p.matchRotation,
        target,
        new MatchTargetWeightMask(p.positionWeight, 0f),
        startTime,
        endTime);
}

Right, that’s easy enough to add as a parameter, but that’s going to break my compatibility with the base package. I’ve fielded a question to them. As for the animation speed, I can raise it in my Animator.

Much nicer. Now, the next problem I ran into was that I still had a weird off-set on the zip-line animation. I didn’t particularly like the current one, so I grabbed the Floating animation from Mixamo and tweaked the parameters a little bit to create something where the legs were up a bit, and both the arms and legs were windmilling a bit.

The arm holding onto the Zip Line will get set by the IK. To fix the off-set issue, I looked at the root Y displacement in the jump animation, with was a positive 0.6, and adjusted the floating animation to that displacement. It’s crude, but it ought to work. Let’s see the animation in action.

I like it. Probably need to get rid of the zip line tool, though… honestly, I’m thinking of removing the “item” part of it and just making it something inherent to the player. Right, let’s take a look back at the remaining steps I set out for myself.

[embed]Zip Line — Remaining Steps I was at Bingo last night and, not having my phone available (low battery), I started sketching out the current…medium.com

Hmm… there’s still the question of collision, but honestly, I think I might skip out on that for now, let people set up their zip lines according to their needs. I’ve got CharacterAnimation working, and I’ve improved the animation. I still need to make asset store images/video/documentation. And… sound? Technically speaking, none of the Fantacode Studios assets bothered overmuch with this, so I can probably get away without, but I suspect I can also add this in pretty painlessly. Leg Lifting and Line Brakes can also be a later feature. I think I will add the manual brake to the InputSystem and the Mobile UI and then build up my Asset Store entry.


메타데이터
post_id
0fae705ade84
slug
zip-line-further-fixes-0fae705ade84
url
https://medium.com/@sean.duggan/zip-line-further-fixes-0fae705ade84
canonical_url
https://medium.com/@sean.duggan/zip-line-further-fixes-0fae705ade84
author_url
https://medium.com/@sean.duggan
status
ok
fetched_at
2026-08-19 00:11:10