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).
시드라는 단어가 갑자기 나와서 당황했을 수도있는데, 시드는 특정 랜덤테이블값의 주소를 뜻한다.
이러한 차이점이 있다.