Просто используйте VisualTreeHelper.HitTest
с обратным вызовом.
Если у вас есть Viewport3D
с моделью, вы можете просто передать PointHitTestParameters
с указанием местоположения мыши.
Если вам нужно работать непосредственно с Visual3D
, передайте RayHitTestParameters
, рассчитанное по параметрам вашей камеры и местоположению мыши.
В любом случае ваш обратный вызов будет вызываться с RayTestHitResult
, а если вы попадете в меш, это будет RayMeshGeometry3DHitTestResult
. Это включает в себя свойство Point3D
, сообщающее вам о 3D-точке пространства, которая была поражена, а также о сетке и треугольнике, которые были поражены.
Подробнее см. 3D-тестирование .