Unity Game SDKv0.5.1Скачать SDK
RUEN

Пример: спортивная мишень

Серия из 10 выстрелов, кольца 1–10, один видимый маркер последнего попадания и общий результат из 100.

Структура сцены

Canvas ├── TargetPlayfield │ ├── Rings │ └── LastHitMarker ├── ScorePanel ├── ShotCounter └── ResultPanel VORIVOX SDK GameController

Логика попадания

private void OnHit(VorivoxHit hit)
{
    if (!roundActive || shotCount >= 10)
        return;

    Vector2 point = hit.ToCanvasLocal(playfield);
    float radius = point.magnitude / targetRadius;
    int ring = CalculateRing(radius);

    shotCount++;
    totalScore += ring;
    ShowOnlyLastMarker(point, ring);
    RefreshHud();

    if (shotCount == 10)
        FinishRound();
}

Расчёт кольца

private static int CalculateRing(float normalizedRadius)
{
    if (normalizedRadius > 1f) return 0;
    return Mathf.Clamp(10 - Mathf.FloorToInt(normalizedRadius * 10f), 1, 10);
}
Для реального спортивного шаблона радиусы колец следует хранить в конфигурации, а не предполагать одинаковую ширину каждого кольца.