매 x 밀리 초마다 반복되는 특정 위치에서 동일한 속도로 움직이는 적을 스폰하고 싶습니다.Unity : 시간이지나면서 정확한 위치에있는 요소를 생성하십시오.
Unity에서 update() 함수의 문제는 비 결정적 시간에 발생하므로 정확한 위치에 스폰 할 수 없으며 요소의 지연 및 부정확 한 위치를 얻습니다. 어떻게 해결할 수 있습니까?
매 x 밀리 초마다 반복되는 특정 위치에서 동일한 속도로 움직이는 적을 스폰하고 싶습니다.Unity : 시간이지나면서 정확한 위치에있는 요소를 생성하십시오.
Unity에서 update() 함수의 문제는 비 결정적 시간에 발생하므로 정확한 위치에 스폰 할 수 없으며 요소의 지연 및 부정확 한 위치를 얻습니다. 어떻게 해결할 수 있습니까?
코 루틴은 메소드를 주기적으로 트리거하는 데 정말로 유용합니다.
this Unity forum post을 확인하여 작동 방식을 확인할 수 있습니다.
IEnumerator SpawnDelay()
{
Spawn(); //your spawn method
yield return new WaitForSeconds(5);
StartCoroutine("SpawnDelay"); //Restarting the coroutine after the 5 sec delay
}
필요하다면, 예를 들어 정확하게 0.5 초마다 생성 - Coroutine이 처리 할 수 있습니까? 또는이 경우 오프셋이있을 수 있습니까? – Yuvals
코 루틴은 위에서 사용 된 코드에서 지정된 지연 후에 자체를 다시 시작하므로 0.5 초마다 항목을 생성 할 수 있어야합니다. 그러나 위치에 대해 스폰 위치가 변경되지 않으면 모두 동일한 위치에 스폰되어야합니다. 하지만, 충돌은 그것들과 처리됩니까? 이전에 생성 된 항목이 아직 진행 중이면 오프셋의 원인 일 수 있습니다. 그렇지 않은 경우 위치가 올바르지 않은 이유를 알지 못합니다. – YumeYume
예 : coroutines [link] (https://docs.unity3d.com/Manual/Coroutines.html)를 사용할 수 있습니다. 'WaitForSeconds()'클래스를 사용하면 시간 지연을 달성 할 수 있습니다. –
또는 'InvokeRepeating'을 사용하십시오. –
정확한 프레임이어야하는 경우 FixedUpdate()를 대신 사용할 수 있습니다. –