У меня в основном есть скрипт, который заполняет область в игре. Вы можете добавить несколько объектов, чтобы заполнить область, и все они имеют значение появления нерестится от 0.00 - 1.00.Преобразование нескольких процентов для вставки в 100%
Я пытаюсь преобразовать эти шансы появления, чтобы вписаться в 100%, так что 3 объекта с 1.00 преобразуются в 0.33% или 3 объекта с 50% также преобразуются в 0.33%. Или, наконец, 3 объекта с: 0,4, 0,4, 0,2 - будут конвертировать в: 40, 40, 20 (надеюсь, это правильно).
Я пытаюсь, вероятно, в неправильном направлении, это на данный момент:
void GetRanges()
{
for (int i = 0; i < clutterObjects.Length; i++)
{
temp += clutterObjects[i].spawnChance;
}
if (temp > 1.0)
{
temp = temp - 1.0f;
for (int i = 0; i < clutterObjects.Length; i++)
{
clutterObjects[i].spawnChance -=
clutterObjects[i].spawnChance * temp;
}
}
else
{
temp = Mathf.Abs(temp - 1.0f);
for (int i = 0; i < clutterObjects.Length; i++)
{
clutterObjects[i].spawnChance +=
clutterObjects[i].spawnChance * temp;
}
}
Spawn();
}
Каждый знает, как идти об этом, или то, что может быть лучшим решением.
Почему 3 объектов с 100% конвертировать в одно и то же, как 3-х объектов с 50% ? – nhgrif
Потому что они должны конвертировать так, чтобы все, что было добавлено вместе, равны 100% (возможно, я думаю об этом неправильно) –
Итак, «Шанс стоимости» - это вес? Объект с 0,5 должен появляться вдвое чаще, чем объект с 0,25? Но независимо от того, какая сумма весов, сумма процентов всегда должна составлять 100%. – nhgrif