У меня проблема, о которой говорит названиеУ меня есть некоторые игровые объекты двери, к которым я прикрепил следующий скрипт, чтобы открыть и закрыть их с помощью raycast:
void Update()
{
if (Input.GetMouseButtonDown(0))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit, 1000))
{
if (!EventSystem.current.IsPointerOverGameObject())
{
if (hit.collider.gameObject.tag == "door")
{
if (hit.collider.gameObject.GetComponent<Animator>().GetBool("ApritiSesamo") == true)
{
hit.collider.gameObject.GetComponent<Animator>().SetBool("ApritiSesamo", false);
}
else if (hit.collider.gameObject.GetComponent<Animator>().GetBool("ApritiSesamo") == false)
{
hit.collider.gameObject.GetComponent<Animator>().SetBool("ApritiSesamo", true);
}
}
}
}
}
}
У объекта есть тег "дверь", и в аниматоре у меня естьпереход от Entry-->New state(an empty one)--->my door animation
.В аниматоре стрелки перехода соответственно должны bool ApritiSesamo
стать true
для выполнения "анимации при открытой двери" ... и false
, чтобы вернуться в пустое состояние.
Проблема заключается в том, чтоэто все работает, пока я не закрою единство или не изменим сцену (и не вернусь в эту сцену, чтобы попробовать еще раз). Также я заметил, что если я скопирую и вставлю эту дверьЕдинство или изменение сцены ecc.
Надеюсь, я все объяснил ясно и надеюсь получить некоторую помощь.Заранее спасибо.