var rand = Random.Range(0.0f, 100.0f);
if (100.0f - percent <= rand)
{
dropList.Add(queryName);
}
1. 0 ~ 100 ๊น์ง ์ค์ random ๋๋ฆฐ ๊ฒ์ rand ๋ผ๋ ๋ณ์๋ก ์ ์ฅ
2.100์์ percent๋งํผ ๋บ ๊ฐ์ด rand ๋ณด๋ค ์์ผ๋ฉด ํ๋ฅ ๋ด์ ๋ ๊ฒ์ด๋ผ ์์ดํ ๋๋
์์
1. rand = 25.0f
2. percent = 5.0f
3. 100.0f - 5.0f < 25.0fย
4. 95f < 25f ์ด๋ฏ๋ก ํ๋ฅ ๋ด์ ๋ชป๋ค์ด์ ์์ดํ ๋๋ X
์ง๋ฌธ
1. ์ด๋ ๊ฒํ๊ณ ์๋๋ฐ ์ด๋ฐ ๋ก์ง์ดย ย ์ผ๋ฐ์ ์ธย ๋ก์ง์ด ๋ง์?
2. ๊ทธ๋ฆฌ๊ณ c# System.Random์ ์๊ฐ ๊ธฐ์ค ๋๋ค์ด๋ผ ๊ฑฐ์ ๋์ผํ ์๊ฐ์๋ ๊ฐ์ ๊ฐ์ด ๋์จ๋ค๊ณ ํ๊ณ , ์ค์ ๋ก๋ ๊ทธ๋ ๋๋ฐย UnityEngine.Random์ ๊ฒฝ์ฐ๋ ๊ทธ๋ฌํ๊ฐ?
๋ง๋ค์ด์ ์๋๋๋ก ๋์๊ฐ๋ค๋ฉด ๋ญ ํ๋ ์ง ๋ง๋ ๋ฐฉ๋ฒ์
2 -> ์ ๋ํฐ๋ ์์คํ ์ด๋ ๋๋ค์ ๋ค ์์ฌ๋์ ( ์ค์ ๋ก ๋๋ค์ ์๋๊ณ ๋๋ค ๊ฐ์๋ณด์ด๊ฒ ๋ง๋๋ ํ๋ก๊ทธ๋จ ) ์ด๋ผ์ ์๊ฐ๊ธฐ์ค์ผ๋ก ์๋ ๋ฐ์์ ์๋๋ฅผ ๋ฐ๊พธ๋ ์์ผ๋ก ๋๋ค์ ์ผ๋ก ๋ณด์ด๊ฒ ํ๋๊ฑฐ๋ ๋ง์ ๊ฑฐ์ ์ ํํ๋ ๊ฐ์ ์๋์ด๋ฉด ๊ทธ๋ฅ ๊ฐ์ ์์๋ก ๊ฐ์ด ๋์ด ์๊ฐ๊ธฐ์ค์ผ๋ก ์๋๋ฅผ ์ ๋ ฅํ๋ฉด ์๊ฐ์ ๊ณ์ ๋ณํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์๋ ๊ฐ์ผ๋ก ์คํ๋๊ณ , ๋งค ์คํ์๋ง๋ค ๋ค๋ฅธ ์๋๋ฅผ ์ ๋ ฅ๋ฐ์์ ๋ง์น ๋์์ฒ๋ผ ๋ณด์ด๋๊ฑฐ์
๋ง์.
๋์ผํ ์๊ฐ์ด ์๋ง 0.001์ด ๋จ์๋ผ ๊ทธ๊ฑธ ๋ ธ๋ฆฌ๊ณ ํดํน์ ํด์ ์๊ฐ ๊ฐ์ ์์๋ก ์ ๋ ฅํ๋ ๋ฐฉ์์ด ์๋๋ฉด ์ค์ ๋ก ๊ฐ์ ๋๋ค๊ฐ ๋ณด๊ธฐ ํ๋ค ๊ฑธ
๊ณ ๋ง์ ์๋ค์. 122.38๋ ์์ธํ ๋ต๋ณ ๊ณ ๋ง์!
์ข ๋ค๋ฅธ ์๊ธฐ์ง๋ง ๊ตณ์ด 100์์ percent ๋นผ๋ ์ด์ ๊ฐ ์์ด! percent >= rand ๋ ๋๊ฐ์๊ฑฐ ์๋?
https://rito15.github.io/posts/unity-toy-weighted-random-picker/
์ถ์ฒ