Проблема с выбором "gameObject" в ARCore
Теперь я понимаю, что в большинстве случаев выбор объекта в ARCore не имеет ничего общего с самим ARCore с точки зрения Unity, но стандартный подход просто не работает для меня.
RaycastHit hitObject;
Ray ray = FirstPersonCamera.ScreenPointToRay(hit.Pose.position);
if(Physics.Raycast(ray, out hitObject)) {
if(hitObject.collider != null) {
Debug.Log(hitObject.collider.gameObject.name);
Debug.Log(hitObject.collider.gameObject.tag);
if(hitObject.collider.gameObject.tag == TAG_SCHEME_OBJECT) {
movement = false;
}
}
}
Не против hit.Pose.position
Я тестировал очень разные элементы здесь. Теперь проблема заключается в следующем:
Когда я касаюсь экрана, я ставлю объект Энди - отлично
Я блокирую установку следующего с помощью
if (currentNumber < objectsAllowed && placeNext)
- работает отлично. Я могу улучшить лимит (разместить больше Энди), когда я нажимаю на кнопку. Это также работает отличноСамое смешное происходит с моим коллайдером. Итак, мой Энди на экране, и я касаюсь экрана где-то еще. Мой Debug.Log показывает, что я нажал на Энди. И я не имею в виду, что у меня большой палец, я постукиваю на расстоянии 1 метра от него. Где бы я ни нажимал на экран, мой Debug.Log показывает, что я нажал на своего Энди.
Что я делаю не так? Это очень простой код из документации. Почему я всегда получаю информацию о том, что мой луч сталкивается с игровым объектом, если это не так?
ОБНОВЛЕНИЕ:
Проблемы были самыми простыми, как это может быть. Коллайдер был слишком большой.