Буду рад узнать как это делается. Можно пример?
|
в 3д в юнити:
// Init
const float outOfLevelDist = 10;
const float tooCloseDist = 2;
float outOfLevelSqrDist = outOfLevelDist * outOfLevelDist;
float tooCloseSqrDist = tooCloseDist * tooCloseDist;
-----
// Update
float sqrDist = (birdPos - circlePos).sqrMagnitude;
if (sqrDist > outOfLevelSqrDist) улетели за пределы
if (sqrDist < tooCloseSqrDist) заехали в круг
Если круг находится в нуле, и считаем в 2д, то можно упростить до:
float sqrDist = birdPos.x*birdPos.x + birdPos.y*birdPos.y;
-----
разве простой триггер грузит больше постоянного вычисления дистанции?
|
по-твоему триггер будет работать быстрее 2х умножений и одного сложения в кадр?