При использования скрипта PlayerInteraction телепортирует к объекту на котором есть спец. скрипт который позволяет что то ему делать, но это происходит в первый раз но потом все норм.
Скрипт PlayerInteraction:
using UnityEngine;
using TMPro;
public class PlayerInteraction : MonoBehaviour
{
public Camera mainCam;
public float interactionDistance = 10f;
public GameObject interactionUI;
public TMP_Text interactionText;
void Update()
{
InteractionRay();
}
void InteractionRay()
{
Ray ray = mainCam.ViewportPointToRay(Vector3.one / 2f);
RaycastHit hit;
bool hitSomething = false;
if(Physics.Raycast(ray, out hit, interactionDistance))
{
IInteractable interactable = hit.collider.GetComponent<IInteractable>();
if(interactable != null)
{
hitSomething = true;
interactionText.text = interactable.GetDescription();
if (Input.GetKeyDown(KeyCode.E))
{
interactable.Interact();
}
}
}
interactionUI.SetActive(hitSomething);
}
}
И скрипт IInteractable:
using UnityEngine;
public interface IInteractable
{
void Interact();
string GetDescription();
}
Комментарии
0Гости не могут отвечать на вопросы. Войдите на Сайт или Зарегистрируйтесь

