• Unity-Animator深入系列---目标匹配Target Matching


    回到 Animator深入系列总目录

    一开始会理所当然的觉得,匹配是这样的:

    但结果却是这样的(右边的Cube是匹配目标):

    感觉这个接口应该是专门为攀爬之类的动画准备的,属于被动匹配位置,移动整个对象去匹配

    所以像游戏中的斜面双脚的IK匹配,就和这个接口没关系了:

     

    OK,下面附上测试代码:

    using UnityEngine;
    
    public class MatchTargetExample : MonoBehaviour
    {
        public Animator animator;
        public GameObject testTarget;
    
    
        [ContextMenu("Start Match")]
        void StartMatch()
        {
            animator.MatchTarget(testTarget.transform.position, testTarget.transform.rotation, AvatarTarget.LeftHand, new MatchTargetWeightMask(Vector3.one, 1f), 0f);
        }
    
        [ContextMenu("Interrupt Match Target")]
        void InterruptMatchTarget()
        {
            animator.InterruptMatchTarget();
        }
    }
    MatchTargetExample

    使用方式:

    1.TargetMatching只能工作在base layer

    2.InterruptMatchTarget中的completeMatch设为True的话,会立即结束插值自动跳到目标匹配位置。

    3.MatchTargetWeightMask是和原有动画之间的权重,如果为1就是完全控制。

    4.isMatchingTarget字段确定当前是否在匹配状态

    5.startNormalizedTime和targetNormalizedTime是相对于当前动画的匹配开始,结束时间。

  • 相关阅读:
    javaweb一
    javaweb三、JDBC访问数据库
    Java学习笔记十
    socket qt基础版本
    QT+VS+添加console 解决方案
    QT创建TCP Socket通信
    左值引用与右值引用
    STL 中 map和set的区别
    C++中STL哈希表介绍
    虚函数总结
  • 原文地址:https://www.cnblogs.com/hont/p/5095895.html
Copyright © 2020-2023  润新知