버그 해결을 위한 모든 질문을 던져
+1 vote
298 views

안녕하세요~ 겜코 여러분.

개인프로젝트로 유니티엔진을 만지작 거리고 있는데요.

상황은 아래와 같습니다.

  • 엔진에서 제공하는 랜덤 함수를 사용.
  • 에디터와 릴리즈로 빌드한 프로그램에서 같은 Seed값으로 동일한 랜덤 함수를 이용해 랜덤값들을 추출.

그런데.. 분명 Seed값이 같음에도 불구하고 다른 값들이 나옵니다.


Seed값이 같으면 랜덤한 수열들이 동일하게 나와야하는데.. 어째서 에디터와 릴리즈 프로그램하고 서로 비교할때는

다르게 나오는건가요??

 

p.s. 재밌는건 릴리즈로 빌드한 프로그램만 2개를 띄워놓고 서로 비교하면 같은 Seed값에 같은 랜덤값들이 추출되서.. 정상 동작을 합니다.
 

 

asked (82 point) , 298 views
랜덤 함수를 유니티가 만들엇을거 같진 않고 os종속이거나 mono ,windowsc# 종속일거 같습니다
저도 왜그런지 궁금한데... 전 같은 방법으로 Random 사용하는데 에디터, 폰에서 항상 일치하거든요.

1 답변

+2 votes
우수 답변
기본 제공하는 랜덤 함수를 사용했다면, 그 랜덤함수는 공용이라서 다른 곳에서도 쓰고 있다면 값을 예측하는 건 불가능에 가깝습니다.

릴리즈 두 개에서 같은 값이 나온다고 해도, 다른 PC나 장치에서는 또 다른 값이 나올 수 있습니다.

seed 값에 따라 항상 일정한 랜덤값이 나오길 원하신다면 별도의 랜덤 함수(혹은 클래스)를 만들어서 쓰시는 게 좋을 거 같네요.
answered (282 point)
선택됨
유니티 API에서 제공하는 Random을 그냥 쓰고있었는데 말씀하신대로 별도로 클래스 만들어서 해봐야겠네요.

좋은 답변 감사합니다. :>

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

96 질문
186 answers
194 댓글
211 users