Это то, что я наконец ожидаю.

Красные линии — это усеченная пирамида камеры.
Синие линии соединяют точки пересечения. (они не визуализированы, я просто нарисовал их вручную).
Зеленым цветом обозначена сетка на земле Plane(Vector3(0f, 1f, 0f), Vector3.Zero)
Я использую следующий код, чтобы получить точку перехвата (например, лево/верх/земля и право/верх/земля).
Код: Выделить всё
val p1 = Vector3().apply {
Intersector.intersectPlanes(
ground,
camera.frustum.planes[2],
camera.frustum.planes[4],
this
)
}
val p2 = Vector3().apply {
Intersector.intersectPlanes(
ground,
camera.frustum.planes[3],
camera.frustum.planes[4],
this
)
}
Код: Выделить всё
p1 = (-8.2670743E-7, -0.0, 2.1598353E-7)
Код: Выделить всё
p2 = (-2.382607E-7, 0.0, 2.1598355E-7)
Как с этим справиться? Пытался использовать camera.unproject() для точек, но получил что-то странное.
Подробнее здесь: https://stackoverflow.com/questions/786 ... ith-ground