본문 바로가기
언리얼 최고/언리얼 구현

언리얼엔진(UE5) -- 확률성 시스템 만들어 보기

by Lee_story_.. 2022. 11. 21.
728x90

거의 모든 게임을 하면 확률성 시스템을 겪게 되는데 

 

 

이것에 대해서 깊게 생각하지는 않았던것 같습니다 .

막상 구현 하려니 어떤식으로 구현을 해야하는지 감이 잡히지 않았습니다;;

 

 

 

그래서 생각한 2가지 방법이 있었습니다. 

1. 100칸의 배열에 하나씩 넣어 주고 랜덤으로 뽑아주기 

2. 로또마냥 번호를 하나뽑아서 속한 구간의 조건 실행해주기

 

 

 

 

이렇게 두 개 생각하고 있었습니다.

이걸 그림으로 그려보면

 

 

 

둘다 1차원 배열에 숫자를 선택해서 이게 어떤것인지 판별하네요...

 구조는 똑같은 것 같습니다 .

 

 

그럼 둘중에 구현하기 쉬운것.... 당연히 2번째 방법이네요

 

대충 1~100 까지라고 하면 

1~30은 A

31~80은 B

81~100은 C

 

확률은 A 30 , B 50, C 20 으로 맞출수 있겠네요!

 

위의 방법은 구간 확률구현법 이지만 

 

 

확률의 구현법

게임에서 확률 시스템을 구현하는 방법론에 대해 그 동안 배워온 노하우를 공유하는 문서

www.slideshare.net

이 방법 외에도 낙차확률 , 보정확률 등등이 있네요;;

 

 

일단 구간확률을 구현하기로 한 이상  한번 해보겠습니다. 

 

근데 솔직히 여기까지만 아셔도 직접 코딩 하는 것은 어렵지 않습니다..

 

 

단순 if 문으로도 충분히 구현 가능하기 때문에

 

쉽네요...

 

 

그래도 확률이라는 부분이 게임에서 절대 빠질수 없는 만큼 한 번  알아가는 것이 의미가 있을것 같습니다. 

(강화, 드랍, 크리티컬 등등에 사용될듯 하네요)

 

 

 

 

 

 

틀린점이 있다면 댓 달아주세요!

댓글