본문 바로가기

IT이야기/unity,c#

몬스터 소환 기능 넣어보기!

 

먼저 Hierarchy에서 우클릭후 create Empty를 만든 후

spawnManager라고 이름을 바꾼 빈 오브젝트를 하나 만들어보겠다.

 

그다음 스크립트를 추가해주면 된다. 소스는 아래에!

 

 

 

 

public GameObject Enemy//Prefab을 받을 public 변수 입니다.

    void SpawnEnemy()

    {

        Vector3 playerPosition = GameObject.FindWithTag("Character").transform.position; //플레이어 포지션을 가져오는 부분

        float randomX = Random.Range(-0.5f0.5f); //적이 나타날 X좌표를 랜덤으로 생성해 줍니다.

        float randomZ = Random.Range(-0.5f0.5f); // 적이 나타날 Z좌표를 랜덤으로!

         GameObject enemy =(GameObject)Instantiate(Enemynew Vector3(playerPosition.x + randomXplayerPosition.yplayerPosition.z + randomZ), Quaternion.identity); //오브잭트 생성부분

    

        }

    void Start () {

        InvokeRepeating("SpawnEnemy"3f2f); //3초후 부터, SpawnEnemy함수를 2초마다 반복해서 실행 시킵니다.

    }

 

해당 소스를 설명하자면  시작할때 3초뒤에 2초마다 소환을 하는데

Y축은 캐릭터 위치로. 

X 축은 캐릭터 + 랜덤좌표

Y 축 역시 캐릭터 + 랜덤좌표이다

플레이어의 포지션을 가져온 후

캐릭터를 중심으로 소환되게 한 소스이다!

해당 스크립트를 spawnManager에 넣으면 끝!

그후 원하는 오브젝트를 넣어주시면 되겠다!