Unity/학습

유니티의 Random과 C# Random의 차이

wh011202 2025. 1. 2. 18:15
namespace 키워드는 관련 개체 집합을 포함하는 범위를 선언하는 데 사용됩니다.
네임스페이스를 사용하여 코드 요소를 구성하고 전역적으로 고유한 형식을 만들 수 있습니다.

 

위는 네임스페이스에 대한 ms사의 설명이다.

 

그리고 이 네임스페이스에 대한 설명을 왜 가져왔냐 하면 이 차이점에 대해 말하려면 대충이라도 알고 넘어가야 했기 때문이다.

 

두 랜덤의 차이점이 각각 유니티와 시스템의 네임스페이스 소속이기 때문이다.

 

그렇기에 이름만 같을뿐 다른 객체 인것이다.

 

그래서 그런지 난수 생성방식도 다르다.

 

  • 유니티 Random: Random.value를 사용하여 0과 1 사이의 float 값, Random.Range(min, max)를 사용하여 특정 범위 내의 int 또는 float 값을 생성한다.
  • C# Random: Next(), Next(int maxValue), Next(int minValue, int maxValue) 등을 사용하여 난수를 생성한다.

이렇게 명령어도 다르고 쓰는 방식도 조금 다르다.

 

그리고 이렇게 다른이유는 아마 플랫폼의 특성차이이지 않을까 싶다.

 

유니티의 경우엔 게임개발에 주로 쓰이고, c#은 일반적인 애플리케이션 개발에 쓰이기 때문이다.

 

일단 아래 두 줄이 두 방식의 시드 설정법이다.

 

  • 유니티 Random: Random.InitState(seed)를 사용하여 시드를 설정합니다.
  • C# Random: Random 클래스의 생성자에 시드를 전달하여 설정합니다. 예: new Random(seed).

시드라는 단어가 갑자기 나와서 당황했을 수도있는데, 시드는 특정 랜덤테이블값의 주소를 뜻한다.

 

이러한 차이점이 있다.