В своём небольшом пет-проекте я вдохновился идеей реализовать свою систему паркура. Что такое паркур? Паркур – скоростное перемещение и преодоление препятствий с использованием прыжковых элементов. Главная проблема, которую надо решить: персонаж должен уметь не только прыгать и бегать, но и взаимодействовать с препятствиями. Лучшим примером паркура…
Комментарий недоступен
Их 8.
Видимо мне надо было написать "я мог бы сделать это циклом, но мне не кажется такой код более читаемым, особенно в рамках статьи". Вы бы сами почитали и посчитали сначала. 20 строк тут не будет, потому что перебирается только 8 чисел. т.к. у параллелепипеда 8 углов. Если бы их было 20 то это было бы совсем другая ситуация. И да. Вот так код будет выглядеть, если его написать циклом:
for (int i = 0; i < 8; i++)
{
int coefX = (i & (1 << 0)) == 0 ? 1 : -1;
int coefY = (i & (1 << 1)) == 0 ? 1 : -1;
int coefZ = (i & (1 << 2)) == 0 ? 1 : -1;
points[0] = gameObject.transform.TransformPoint(new Vector3(center.x + xSize / 2 * coefX, center.y + ySize / 2 * coefY, center.z + zSize / 2 * coefZ));
}
Да выбор в пользу 8-ми строк был сделан осознанно.