今天在学习一个翻越的动画,学到了MatchTarget绑定,非常Cool的解决了翻墙时候的手的位置问题,所以来分享一下MatchTarget的简单用法
至于前面的走路跑步控制的暂时就不贴上来了,直接到MatchTarget函数上。
void Update () {
isValut = false;
//当Speed大于1的时候,这个是控制角色跑起来了才能翻,可以忽略
if (animator.GetFloat(speedId) > 1)
{
RaycastHit hit;
//从角色0.5米高向前方发射一个4.5m的射线
if (Physics.Raycast(transform.position + Vector3.up * 0.5f, transform.forward, out hit, 4.5f))
{
//可以翻越的障碍物的Tag是Obstacle
if (hit.collider.CompareTag("Obstacle"))
{
//如果碰撞点到发射点的距离大于3且角色处于LocalMotion状态下,这个状态暂时可以理解为跑步状态
if (hit.distance > 3 && animator.GetCurrentAnimatorStateInfo(0).IsName("LocalMotion"))
{
//得到碰撞点
Vector3 point = hit.point;