아래에 확률로 써있는 단어를 비중으로 교체합니다.
용어상 비중이란 말이 더 맞아요.
---
예를들어 상대 수치 비율로
저글링은 100 비중으로
마린은 50 비중으로
질럿은 25 비중으로 뽑히게 하고 싶다.
할 경우 입니다.
다시말해 저글링이 100마리 나올동안 질럿은 25마리만 나오게 하고싶다고 할 경우입니다.
이걸 최대 공약수로 나누어 바꾸면
4:2:1 입니다.
근데 아래 예제는 그냥 유닛 만드는것 없이 디버그 메세지로만 대체함
----
일단 비중률갑을 만들어 줍시다.
만약 유닛뽑기를 만들려면 "유닛 유형" 배열도 만드시고 유닛 유형까지 같이 설정하셔야 됩니다.
설명을 하자면 위 초기화 완료후 아래 표처럼 됩니다.
배열 번호 |
비중 |
비중 누적 |
|
0 |
10 |
10 |
|
1 |
20 |
30 |
|
2 |
30 |
60 |
|
3 |
40 |
100 |
|
4 |
50 |
150 |
|
비중 합계값은 150으로 들어가구요.
---
실제로 봅기 과정의 트리거 입니다.
실제 작동시 예제를 들자면
뽑기값 : 55일 경우
지역변수 | 배열 번호 | 비중 | 비중 누적 | 비교 결과 |
0 | 0 | 10 | 10 | false, 55<10 |
1 | 1 | 20 | 30 | false, 55<30 |
2 | 2 | 30 | 60 | true, 55<60 뽑기 작동 ,반복 정지 |
3 | 40 | 100 |
| |
4 | 50 | 150 |
|
배열 번호 2번이 뽑혔습니다.
---
그리고 뽑힌 갯수 누적을 해보면
얼추 맞는군요.
----
최적화 하기
비중 50인것과 비중 10인것중 어느게 뽑히는 횟수가 많을까요?
50인게 많겠죠.
그러니 뽑힐 비중이 높은걸 배열번호 앞부분에 놓는게 좋습니다.
배열 번호 | 비중 | 비중 누적 |
|
0 | 50 | 50 |
|
1 | 40 | 90 |
|
2 | 30 | 120 |
|
3 | 20 | 140 |
|
4 | 10 | 150 |
|
뭐 성능 차이가 별로 안나겠지만..
트리거 구성에 따라 역순 배열 해야할수도 있어요.
'게임 이야기 > 스타크래프트2' 카테고리의 다른 글
심심해서 만들어본 - 안개 효과 , 대화 상자 (0) | 2018.10.08 |
---|---|
xml 형식이 잘못되었습니다. (0) | 2018.10.08 |
효과 있는지 모르는 최적화 가이드 - 필드의 자원 변경, 유닛 속성 설정 문제 (0) | 2018.10.06 |
효과 있는지 모르는 최적화 가이드 - 시간 증폭, 동작, 카탈로그 (0) | 2018.10.06 |
효과 있는지 모르는 최적화 가이드 - 보급품 제한 증가, 변수 관리, 게임 특성 (0) | 2018.10.06 |