Как узнать положение отслеживаемой картинки при обнаружении в Unity с основанием AR? - PullRequest
0 голосов
/ 01 октября 2019

Я использую отслеживание изображений для единой основы AR. Когда на экране появляется отслеживаемое изображение, как узнать его положение или относительное расстояние до камеры?

1 Ответ

0 голосов
/ 01 октября 2019

ну, вам понадобится положение этого другого объекта, чтобы проверить расстояние. Это можно сделать, используя Vector3.Distance.

Сначала, однако вам нужен Transform другого объекта. Вы можете сделать это, сделав Raycast, в этом случае я использую Raycast с середины экрана. Затем я назначу Transform любого объекта, попавшего в переменную hitTransform. После этого я могу использовать Vector3.Distance для сравнения 2 позиций и вычисления расстояния.


Transform hitTransform;
private float distance;

void Update()
{
    Ray ray = cam.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
    RaycastHit hit

    if (Physics.Raycast(ray, out hit))
    {
        hitTransform = hit.transform;
    }

    distance = Vector3.Distance(hitTransform.position, transform.position);
}

Короче говоря, если вы посмотрите на объект, который находится в середине экрана, расстояние между этим объектоми камера будет находиться в переменной distance, вы также можете использовать raycast, когда нажимаете или нажимаете кнопку, но для простоты я использовал для этого середину экрана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...