C#/Unity Random
C#/Unity Random
System.Random VS Unity.Random
System.Random 은 인스턴스를 만들어서 사용해야 하고,
Unity.Random 은 Static 클래스
Unity.Random 이 Static 클래스라 인스턴스화 할 필요 없이 바로 사용할 수도 있고,
.Range, .value, .insideUnitCircle 등의 여러 기능들을 제공해준다는 장점이 있긴 하지만,
한 실행에서 만들어진 한 시드의 랜덤를 모든 곳에서 공유하며 사용하는 것이기에,
어떤 곳에서의 랜덤 코드가 다른 랜덤 코드에 영향을 줄 수 있다.
매 발사마다 총알의 속도에 랜덤한 보정치를 주는 것이,
추후 가챠에서 나올 아이템 등급에 영향을 줄 수 있다는 이야기.
반면 System.Random은 인스턴스화 시킬 수가 있음으로, 독립적인 여러 개의 랜덤을 동시에 사용할 수 있다.
또한 생성 시 임의의 시드를 설정할 수도 있다.
물론 Unity.Random도 InitState함수를 통해 임의로 시드를 설정할 수 있지만,
어쨌거나 인스턴스화 시킬 수는 없다.
적절한 상황에 적절한 랜덤을 사용할 것
게임 확률, 랜덤
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.