이 글은 유니티 문서를 찾아서 제 나름대로 정리한 글이며(사실상 그냥 번역한거나 다름 없어요..🥲), 개인공부용으로 작성한 거라 반말로 작성되었어도 양해 부탁드립니다 😅
Random.Range는 특정 범위 내에서 난수를 생성한다.
물론, 여기서 말하는 난수는 의사난수(난수인것처럼 보임)이다.
사용된 알고리즘
Xorshift 128 알고리즘을 사용했다고 한다.
난수 생성 형태
실수(float 형태)로 생성된다.
속도
UnityEngine.Random을 사용했을때, System.Random에 비해 20%에서 40%가량 빠른 속도를 낼 수 있다.
주의할 점
Random이라는 같은 이름을 공유하기 때문에, using을 통해 System과 UnityEngine을 같이 가져오면 CS0104
컴파일러 에러를 얻을 수 있으니 주의해야한다. 이는 using Random = UnityEngine.Random;을 하거나, using System을 제거하는 방식 등으로 해결할 수 있다.
사용방법
Random.Range(시작값, 끝값)
Random.Range는 위와 같은 식으로 쓸 수 있다.
여기서 중요한 것은
시작값과 끝값이 정수이면, 끝값은 제외되고,
시작값과 끝값이 실수라면, 끝값도 포함된다는 것이다.
이를 실제로
Debug.Log(Random.Range(0.0f, 9.5f));
와 같이 작성했을 때,
이러한 결과를 얻을 수 있었다.
참고
Unity - Scripting API: Random
This static class provides several easy game-oriented ways of generating pseudorandom numbers. The generator is an Xorshift 128 algorithm, based on the paper Xorshift RNGs by George Marsaglia. It is statically initialized with a high-entropy seed from the
docs.unity3d.com