Пример: рельсовый 3D-шутер
Камера движется по заранее заданному маршруту, а попадания преобразуются в Raycast. Это позволяет получить красивую 3D-игру без сложности полноценного FPS.
Основные компоненты
- Cinemachine Dolly Track или Timeline;
- главная камера;
- слой поражаемых объектов;
- анимационный контроллер персонажей;
- миссионный сценарий;
- VORIVOX SDK.
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
Оптимизация
- запекайте освещение там, где сцена статична;
- используйте LOD Group;
- ограничьте количество прозрачных частиц;
- предзагружайте ключевые материалы до
ReadyAsync(); - не создавайте Addressables-загрузку из интернета.