У меня есть анимированный стол и ящик, но я сталкиваюсь с дилеммой, как и в названии: моя анимация воспроизводится при старте.Я не понимаю почему, потому что у меня на сцене один и тот же сценарий, и я не сталкивался с проблемой ранее.После первоначальной записи сценарий все еще отлично работает с открытием и закрытием ящика.
Есть мысли?
![enter image description here](https://i.stack.imgur.com/Du6No.jpg)
public class DoorScript: MonoBehaviour
{
public GameObject OpenPanel = null;
private bool _isInsideTrigger = false;
public Animator _animator;
public string OpenText = "Press 'E' to open";
public string CloseText = "Press 'E' to close";
private bool _isOpen = false;
private void Start()
{
OpenPanel.SetActive(false);
}
void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
_isInsideTrigger = true;
OpenPanel.SetActive(true);
UpdatePanelText();
}
}
private void UpdatePanelText()
{
Text panelText = OpenPanel.transform.Find("Text").GetComponent<Text>();
if (panelText != null)
{
panelText.text = _isOpen ? CloseText: OpenText;
}
}
void OnTriggerExit(Collider other)
{
if (other.tag == "Player")
{
_isInsideTrigger = false;
OpenPanel.SetActive(false);
}
}
private bool IsOpenPanelActive
{
get
{
return OpenPanel.activeInHierarchy;
}
}
// Update is called once per frame
void Update()
{
if (IsOpenPanelActive && _isInsideTrigger)
{
if (Input.GetKeyDown(KeyCode.E))
{
_isOpen = !_isOpen;
Invoke("UpdatePanelText", 1.0f);
_animator.SetBool("open", _isOpen);
}
}
}
} // Кредитный канал Jayanam Youtube для сценария