Как сделать триггер правильно?
Я не знаю как сделать так что бы когда перс стоял на триггере то тогда клавиша работала а когда не стоит не работала вот скрипт
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class TpGGhaus : MonoBehaviour
{
public int levelToLoad;
public Vector3 position;
public VectorValue playerStorage;
if (Input.GetKeyUp("e"))
{
playerStorage.initialValue = position;
SceneManager.LoadScene(levelToLoad);
}
}
Просто у меня клавиша работает в любой точке карты
Ответы (1 шт):
Автор решения: Andrew_STOP_RU_AGRESSION_IN_UA
→ Ссылка
Bool IsInTriger = false;
private void OnTriggerEnter(Collider other)
{
IsInTriger = true;
}
void OnTriggerExit(Collider other)
{
IsInTriger = false;
}
void Update()
{
if (IsInTriger && Input.GetKeyUp("e") ) {
playerStorage.initialValue = position;
SceneManager.LoadScene(levelToLoad);
}
}
https://docs.unity3d.com/ScriptReference/Collider.html
PS:
OnTriggerStay is called almost all the frames for every Collider other that is touching the trigger.The function is on the physics timer so IT WON'T NECESSARILY RUN EVERY FRAME. - поэтому не подходит