Closed leeyunjeong010422 closed 1 month ago
코드 작성하는 거에 있어 굉장히... 헷갈렸던 부분임!! ViewportToWorldPoint를 사용했음
private IEnumerator SpawnParticles()
{
while (true)
{
int randomCount = Random.Range(1, 3);
for (int j = 0; j < randomCount; j++)
{
//카메라 뷰포트에서 오른쪽 끝 부분의 월드 좌표(뷰포트 좌표 (1, y, z))
//카메라 이해: https://ansohxxn.github.io/unitydocs/camera/
// : https://m.blog.naver.com/corncho456/221727952827
Vector2 spawnPosition = mainCamera.ViewportToWorldPoint(new Vector2(1, Random.Range(0.2f, 0.8f)));
spawnPosition.y += Random.Range(-spawnArea.y, spawnArea.y); //Y축 범위에서 랜덤하게 위치 설정
// 파티클 생성
ParticleSystem newParticle = Instantiate(particle, spawnPosition, Quaternion.identity);
newParticle.Play();
activeParticles.Enqueue((newParticle, Time.time)); //생성된 파티클과 생성 시간 추가
}
yield return waitForSpawnInterval;
}
}
카메라가 보여지는 부분 오른쪽 랜덤 위치에서 로켓이 생성되어 플레이어가 있는 왼쪽으로 이동하도록 구현