Аниматор заставляет объект вращаться, поэтому скрипт, который я использую с raycast, не работает. Только если я отключу аниматор, тогда, когда raycast попадет в элемент, голова персонажа будет вращаться и смотреть на элемент. аниматор все еще работает?
Предмет обнаружен, но голова игрока не вращается, глядя на предмет
Скрипт, который прикрепляется к проигрывателю:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Interactable : MonoBehaviour
{
public Transform objToRotateLookAT;
private bool raycastSucceed;
// Start is called before the first frame update
void Start()
{
}
void FixedUpdate()
{
int layerMask = 1 << 8;
RaycastHit hit;
// Does the ray intersect any objects excluding the player layer
if (Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), out hit, Mathf.Infinity, layerMask))
{
if (!raycastSucceed)
Debug.Log("Did Hit");
raycastSucceed = true;
Debug.DrawRay(transform.position, transform.TransformDirection(Vector3.forward) * hit.distance, Color.red);
Vector3 relativePos = hit.transform.position - objToRotateLookAT.position;
// the second argument, upwards, defaults to Vector3.up
Quaternion rotation = Quaternion.LookRotation(relativePos, Vector3.up);
objToRotateLookAT.rotation = rotation;
}
else
{
if (raycastSucceed)
Debug.Log("Did not Hit");
raycastSucceed = false;
Debug.DrawRay(transform.position, transform.TransformDirection(Vector3.forward) * 1000, Color.yellow);
}
}
}
- Голова игрока поворачивается лицом к обнаруженному элементу, только если аниматор отключен. Есть ли способ сохранить активный аниматор, а также повернуть голову лицом к обнаруженному объекту?