본문 바로가기
유니티 Unity/유니티 기능 구현

유니티 C# : 일정시간마다 랜덤한 좌표에 오브젝트를 생성하기

by TODAYCODE 2021. 6. 17.
반응형
// 시간을 담당할 변수를 하나 만들어준다.
float currTime;

// 반복되는 작업이므로 업데이트 함수 안에서 코드를 입력한다.
void Update(){
  // 시간이 흐르게 만들어준다.
  currTime += Time.deltatime;

  // 오브젝트를 몇초마다 생성할 것인지 조건문으로 만든다. 여기서는 10초로 했다.
  if (currTime > 10)
          {
              // x,y,z 좌표값을 각각 다른 범위에서 랜덤하게 정해지도록 만들었다.
              float newX = Random.Range(-10f, 10f), newY = Random.Range(-50f, 50f), newZ = Random.Range(-100f, 100f);

              // 생성할 오브젝트를 불러온다.
              GameObject monster = Instantiate(Monster);

              // 불러온 오브젝트를 랜덤하게 생성한 좌표값으로 위치를 옮긴다.
              moster.transform.position = new Vector3(newX, newY, newZ);

              // 시간을 0으로 되돌려주면, 10초마다 반복된다.
              currTime = 0;
          }    
}

10초마다

X좌표 : -10 ~ 10 / Y좌표 : -50 ~ 50 / Z좌표 : -100 ~ 100 까지 랜덤한 좌표를 설정하고

Monster를 그 좌표에 생성한다.

 

 

시간값과 좌표값을 수정하여 사용하면 됨

반응형

댓글