Game SDK

↓ Скачать SDK 1.8.1

Внутренняя разработка VORIVOX. Пакет candidate: оставшиеся проверки обозначены в разделе совместимости.

Попадания и координаты

Контроллер передаёт физическую точку на полотне. SDK помогает преобразовать её в координаты вашей сцены.

Координаты
Физическое начало координат VORIVOX — левый нижний угол.

Поля VorivoxHit

ПолеОписание
ShotIdУникальный идентификатор выстрела в рамках сеанса.
XMm, YMmКоординаты в миллиметрах.
NormalizedX, NormalizedYЗначение 0…1, начало снизу слева.
Sourcecontroller, 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.

Уточнение преобразований 1.8

Старый ToScreenPixels возвращает пиксели с началом сверху слева. Для ясности добавлен ToTopLeftPixels; для Unity Screen используется ToUnityScreenPixels без инверсии Y. Для камеры предпочтителен ViewportPointToRay. Letterbox сначала требует нормализации относительно физической активной области; один RectTransform не решает эту задачу автоматически.