티스토리 뷰
아이템 별로 확률을 다르게 해서 뽑게 하기.
완전 쉽게 만들어봄.
일단 실수 없이 정수로만 하는 것으로 만듬.
실수 포함하면 계산도 복잡하지만 내가 표현하기도 힘들어서..
최대한 곱셈을 통하여 만분율, 십만분율 등 만들고 부담없이 랜덤 나오게 만들었다.
뭐 사실 이건 개발자들보다는 기획자의 몫이 더 큰 부분이라... 많은 부분을 만들 필요도 없다고 생각했음.
public class MyRandom
{
public RandomData[] datas;
public int totalCount;
public int GetRandom()
{
for(int i =0;i < datas.Length; i++)
{
datas[i].minInclusive = this.totalCount;
this.totalCount += datas[i].rate;
datas[i].maxExclusive = this.totalCount;
}
int value = UnityEngine.Random.Range(0, totalCount);
for(int i =0;i< datas.Length; i++)
{
if(value >= datas[i].minInclusive && value < datas[i].maxExclusive)
{
return i;
}
}
return datas.Length - 0;
}
}
public class RandomData
{
public int rate;
public int minInclusive;
public int maxExclusive;
}
이렇게 하면 뭐 별 문제 없겠지.
테이블을 잘 만드는 게 중요하겠지.
'개발일기 > 유니티3D' 카테고리의 다른 글
유니티 프로파일러 끄적끄적. (0) | 2022.01.13 |
---|---|
두 지점의 포물선 중간점 만들기 기록 (0) | 2021.06.30 |
유니티용 머지정렬 만듬 (0) | 2021.04.08 |
유니티 multidex 설정이 안되길래 확인해보니... (0) | 2020.09.14 |
유니티에서 해당 안드로이드 단말기의 국가정보를 알고 싶을 때.. (0) | 2019.06.20 |
댓글