언어/C#

랜덤값 출력(Random 클래스)

SharpSteamedBread 2026. 1. 2. 15:06

유니티와 C# 각각 랜덤값 호출 작성법이 다르다. 자세히 말하자면 using System;의 Random 클래스와 using UnityEngine;의 Random 클래스 작동 방식이 다르다. 물론 유니티에서도 System.Random을 사용할 수 있으므로 구현 방법이 하나 더 추가되었다고 하는 게 맞을 듯하다. 

+ 유니티에서 System.Random을 사용한다면 이런 오류가 뜬다. 해당 Random이 System인지 UnityEngine인지 판단할 수 없다는 뜻이다. 

해당 오류는 네임스페이스를 앞에 지정해주면 해결된다.

Random random = new Random();
//이렇게 사용하면 System.Random과 UnityEngine.Random이 충돌하여 오류가 발생한다.

System.Random random = new System.Random();
//이렇게 사용하자!

 


 

// C#
Random random = new Random();
int num = random.Next();
int numRange = random.Next(1, 7);	//int 범위값은 동일하게 최소 이상, 최대 미만이다.

 

UnityEngine.Random은 시드가 동일하기 때문에, 시드를 바꾸지 않는 한 실제 사용 시 동일 패턴이 반복되어 출력될 수 있다.

// Unity C#

int num = Random.Range(1, 7);