Hello, I’m trying to make a script that is enabling a image in canvas (doorTrigger object) when im looking at doors using raycast. It works, except one problem. When I look away from door it wont disappear. I don’t know how to fix it.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class InteractionSystem : MonoBehaviour
{
public GameObject doorTrigger;
public Transform rayTarget;
Transform lastHittedObject;
GameObject controlsManager;
Controls controls;
private void Start()
{
controlsManager = GameObject.FindGameObjectWithTag("Controls");
controls = controlsManager.GetComponent<Controls>();
doorTrigger.SetActive(false);
}
private void Update()
{
Ray ray = new Ray(rayTarget.transform.position, rayTarget.transform.forward * 1);
RaycastHit hit;
Debug.DrawRay(rayTarget.transform.position, rayTarget.transform.forward * 1, Color.blue);
if (Physics.Raycast(ray, out hit, 1))
{
if(hit.transform.tag == "Door")
{
//Debug.Log("door");
doorTrigger.SetActive(true);
Animator anim = hit.transform.GetComponentInChildren<Animator>();
if (Input.GetKeyDown(controls.interactionButton))
{
anim.SetTrigger("OpenClose");
doorTrigger.SetActive(false);
}
}
else if(hit.transform.tag != "Door")
{
doorTrigger.SetActive(false);
}
}
}
}