Попадания и координаты
Контроллер передаёт физическую точку на полотне. SDK помогает преобразовать её в координаты вашей сцены.
Физическое начало координат VORIVOX — левый нижний угол.
Поля VorivoxHit
| Поле | Описание |
|---|---|
ShotId | Уникальный идентификатор выстрела в рамках сеанса. |
XMm, YMm | Координаты в миллиметрах. |
NormalizedX, NormalizedY | Значение 0…1, начало снизу слева. |
Source | controller, mock или диагностический источник. |
Canvas UI
private void OnHit(VorivoxHit hit)
{
Vector2 localPoint = hit.ToCanvasLocal(playfield);
impactMarker.anchoredPosition = localPoint;
}
3D-сцена
Для рельсового шутера используйте нормализованную координату как viewport point камеры:
Vector3 viewport = new(hit.NormalizedX, hit.NormalizedY, 0f);
Ray ray = gameplayCamera.ViewportPointToRay(viewport);
if (Physics.Raycast(ray, out RaycastHit info, 200f, hitMask))
{
info.collider.GetComponent()?.ApplyHit(info.point);
}
Letterbox и активная область
Если проектор показывает игру с полями, координаты нужно сопоставлять с реальной активной областью. Не рассчитывайте координату по Screen.width вручную — используйте RectTransform игровой зоны или функцию SDK.