몬스터 소환 기능 넣어보기!
먼저 Hierarchy에서 우클릭후 create Empty를 만든 후
spawnManager라고 이름을 바꾼 빈 오브젝트를 하나 만들어보겠다.
그다음 스크립트를 추가해주면 된다. 소스는 아래에!
public GameObject Enemy; //Prefab을 받을 public 변수 입니다.
void SpawnEnemy()
{
Vector3 playerPosition = GameObject.FindWithTag("Character").transform.position; //플레이어 포지션을 가져오는 부분
float randomX = Random.Range(-0.5f, 0.5f); //적이 나타날 X좌표를 랜덤으로 생성해 줍니다.
float randomZ = Random.Range(-0.5f, 0.5f); // 적이 나타날 Z좌표를 랜덤으로!
GameObject enemy =(GameObject)Instantiate(Enemy, new Vector3(playerPosition.x + randomX, playerPosition.y, playerPosition.z + randomZ), Quaternion.identity); //오브잭트 생성부분
}
void Start () {
InvokeRepeating("SpawnEnemy", 3f, 2f); //3초후 부터, SpawnEnemy함수를 2초마다 반복해서 실행 시킵니다.
}
해당 소스를 설명하자면 시작할때 3초뒤에 2초마다 소환을 하는데
Y축은 캐릭터 위치로.
X 축은 캐릭터 + 랜덤좌표
Y 축 역시 캐릭터 + 랜덤좌표이다
플레이어의 포지션을 가져온 후
캐릭터를 중심으로 소환되게 한 소스이다!
해당 스크립트를 spawnManager에 넣으면 끝!
그후 원하는 오브젝트를 넣어주시면 되겠다!
'IT이야기 > unity,c#' 카테고리의 다른 글
unity 특정 스크립트에서 버튼 이벤트 관리하기! (0) | 2020.11.24 |
---|---|
unity 2019버전 모바일 화면 회전 설정 (0) | 2020.06.15 |
unity] 오브젝트 피격제어 예제! (0) | 2020.04.03 |
unity] 목표물 방향으로 바라보면서 따라가기 followTarget, LootAt Target (0) | 2020.02.07 |
유니티] 오브잭트 랜덤 배치 예제 (0) | 2020.02.06 |