在我的项目中,我使用的是从Unity的标准资产中导入的ThirdPersonController。我也有Ethan图的ThirdPersonAnimatorController。我在场景中设置了一个NavMesh,并使用Animator和NavMeshAgent创建了一个Ethan GameObject。到目前为止,NavMeshAgent工作正常,但我希望机芯与动画同步。
我对混合树知之甚少,但我知道你可以在脚本中设置参数来控制动画。在这种情况下,ThirdPersonAnimatorController有两个参数,转向和向前(两个参数都是从0到1的浮点数,表示转弯角度和移动速度)。因此,混合树是2D自由形式笛卡尔。
我唯一的问题是从NavMeshAgent获取值(例如转弯速度和移动速度),这样我就可以将它传递到混合树中。
答案 0 :(得分:0)
您可以使用NavMeshAgent的velocity.magnitude
:
float speed = GetComponent<NavMeshAgent>().velocity.magnitude;
然后,您可以使用Debug.Log
语句尝试将其除以某个值,以便获得某个范围内的数字,或者只使用普通幅度并更改Animator Controller值。