https://youtu.be/8Ms2ws6iRy4
📌 몬스터가 랜덤한 spawnPoint에 5초마다 생성되며 z축의 - 방향으로 speed값만큼 움직이게 하기

📌 몬스터 스크립트 전체보기
using System.Collections;
using System.Collections.Generic;
using System.Xml.Serialization;
using UnityEngine;
public class Monster : MonoBehaviour
{
public float speed;
private void FixedUpdate()
{
transform.position -= new Vector3(speed, 0, 0);
}
}
- 몬스터의 스피드 값을 정하고 transform.position으로 위치 계속 변경
- 몬스터 오브젝트에 스크립트 넣어주기
* 빈게임 오브젝트로 spawnPoint 위치 설정

📌 MonsterSpawner 스크립트 전체보기

- MonsterSpawner 게임오브젝트에 스크립트 넣어주기
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MonsterSpawner : MonoBehaviour
{
public Transform[] spawnPoints;
public GameObject Monster;
private void Start()
{
InvokeRepeating("SpawnMonster", 2, 5);
}
void SpawnMonster()
{
int ran = Random.Range(0, spawnPoints.Length);
GameObject myMonster =
Instantiate(Monster, spawnPoints[ran].position, Quaternion.identity);
}
}
🔒 MonsterSpawner 스크립트 자세히보기
- 스폰위치를 담을 배열 선언
- 동적으로 생성시킬 게임오브젝트(Monster) 선언
public class MonsterSpawner : MonoBehaviour
{
public Transform[] spawnPoints;
public GameObject Monster;
- Random.Range()를 사용하여 랜덤 범위를 0 ~ spawnPoints배열의 길이로 지정
- Monster를 지정위치에 생성 (Quaternion.identity -> 회전값x)
void SpawnMonster()
{
int ran = Random.Range(0, spawnPoints.Length);
GameObject myMonster =
Instantiate(Monster, spawnPoints[ran].position, Quaternion.identity);
}
- InvokeRepeating: ("string", 몇초 후에 실행, 몇초 마다 실행)
private void Start()
{
InvokeRepeating("SpawnMonster", 2, 5);
}