KraGenDeveloper
@KraGenDeveloper
Unity developer

Получение расстояния между точками, как реализовать?

Есть пины которым игрок может тянуть и есть цели на которые нужно поставить эти пины, как можно сделать данный код лучше что бы если стоит идеально на позиции то будет не 0,0 в растсоянии а 1
for (int i = 0; i < perfectPinPoint.Count; i++)
        {
            distance[i] = Mathf.Infinity;
            Vector3 position = perfectPinPoint[i].position;
            foreach (GameObject go in pins)
            {
                Vector3 diff = (go.transform.position - position);
                float currDistance = diff.sqrMagnitude;
                if (currDistance < distance[i])
                 {
                     if (currDistance > maxPinPointLenght)
                     {
                         distance[i] = 100;
                     }
                     else
                     {
                         distance[i] = currDistance;
                     }
                 }
            }
        }
        for (int i = 0; i < distance.Count; i++)
        {
            avarageDist += distance[i];
        }
        avarageDist /= distance.Count;
        procent = Convert.ToInt32(Math.Clamp(100 / avarageDist, 0, 100));
        Debug.Log($"Accuracy Procent {procent}$");
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
"Как из 0 сделать 1" но тип если 0,1 то соответственно 0.9

return 1 - input;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы