Я программирую игру на Unity VR, используя ресурс Starter Assets — ThirdPerson и анимацию от Mixamo.
Переход аниматора Unity
Я пытаюсь гарантировать, что когда игрок со слоем «Игрок» входит в сферический коллайдер, он будет отслеживаться с использованием анимации с настройками IsRunning, но это не так. работающий правильно.
Код: Выделить всё
using UnityEngine;
public class EnemyController : MonoBehaviour
{
public float moveSpeed = 3f;
public LayerMask playerLayer;
private Transform player;
private Animator _animator;
private bool isChasing = false;
private void Start()
{
_animator = transform.parent.GetComponent();
}
private void Update()
{
if (isChasing)
{
Vector3 direction = (player.position - transform.position).normalized;
transform.position += direction * moveSpeed * Time.deltaTime;
_animator.SetBool("IsRunning", true);
}
else
{
_animator.SetBool("IsRunning", false);
}
}
private void OnTriggerEnter(Collider other)
{
if ((playerLayer.value & (1 0)
{
isChasing = true;
player = other.transform;
Debug.Log("Player entered the detection zone");
}
}
private void OnTriggerExit(Collider other)
{
if ((playerLayer.value & (1 0)
{
isChasing = false;
Debug.Log("Player exited the detection zone");
}
}
}
Я работаю над Meta Quest Pro 3 в системе Oculus. Буду признателен, если вы мне поможете.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -animation