混合树
1.添加混合树
2.选择Blend Type 1D/2D
将动画拖入Motion
取消勾选Automate Thresholds 设置Threshol参数
2D混合树设置两个参数
动画层
1.创建骨骼遮罩Avatar Mask
2.添加新的动画层
3.对骨骼进行固定
4.将创建的骨骼遮罩拖入,调整动画的权重
自动寻路
1.对地图进行烘焙
2.给玩家添加Nav Mesh Agent组件,调整角速度Angular Speed改变玩家旋转速度
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
/*
*创建者:
*创建时间:
*描述:
*版本:
*/
public class Girl : MonoBehaviour
{
NavMeshAgent nma;//获取组件
GameObject cube;
Animator an;
// Start is called before the first frame update
void Start()
{
cube = GameObject.Find("Cube");
nma= GetComponent<NavMeshAgent>();
an= GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray,out hit))
{
//nma.destination = hit.point;//自动寻路至(经过烘焙过的)地图的某个地方
nma.SetDestination(hit.point);
}
}
if (nma.remainingDistance<0.5f)//人物与目标地点剩余距离
{
an.SetFloat("Run",0);
}
else
{
an.SetFloat("Run", 1);
}
}
}