본문 바로가기
유니티 공부/Unity

Unity - Random.Range를 사용했는데 같은 패턴의 값들만 생성되는 경우(Random.Seed)

by 코딩하는 돼징 2024. 1. 8.
반응형

Random.Range를 사용해서 GameObject의 위치를 랜덤값으로 변경하는 코드를 사용하였는데 게임 오브젝트들이 Random으로 이동하기는 한느데 계속 같은 곳으로 움직이는 문제가 발생했다.

 

해결할 방법이 없을까 하다가 구글링을 통해 Random.Seed라는 것을 알게되었다.

seed값을 초기화하지 않고 Random함수를 사용하면 사용하면 같은 Random패턴이기때문에 같은 값이 출력된다. 


Random.Seed

Random함수의 사작점을 설정하는 seed값 설정 이 seed값에 따라 난수가 생성된다.

public static void InitState(int seed);

 

 

아래와 같이 코드를 작성하니까 GameObject들이 각자 Random으로 잘 움직였다!

float randomSeed = Random.Range(0f, 100f);
Random.InitState((int)randomSeed);
반응형

댓글