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

Пример: рельсовый 3D-шутер

Камера движется по заранее заданному маршруту, а попадания преобразуются в Raycast. Это позволяет получить красивую 3D-игру без сложности полноценного FPS.

Основные компоненты

Raycast по попаданию

private void OnHit(VorivoxHit hit)
{
    Ray ray = gameplayCamera.ViewportPointToRay(
        new Vector3(hit.NormalizedX, hit.NormalizedY, 0f));

    if (!Physics.Raycast(ray, out RaycastHit rayHit, 250f, targetMask))
    {
        RegisterMiss();
        return;
    }

    if (rayHit.collider.TryGetComponent(out ShootableTarget target))
    {
        int points = target.ApplyShot(rayHit.point);
        AddScore(points);
        SpawnImpact(rayHit);
    }
}

Сценарий миссии

Briefing → Warehouse yard → Corridor → Hostage room → Result
             20 sec            35 sec         25 sec

Оптимизация