cameraКамера и постобработка

Камера

У каждого игрока есть камера, которая следует за ним при движении. Чтобы изменить масштаб или переместить камеру в другие места, мы предоставляем набор API.

В CSL камера представлена структурой на игрока в Игрок:

  • camera.follow_player: bool: когда true, движок продолжает удерживать камеру, следующую за игроком.

  • camera.position: v2: центр камеры в пространстве мира (используется когда follow_player = false).

  • camera.size: float: величина зума. Больше = более отдалённый зум (вы видите большую часть мира).

Поскольку изменения камеры носят чисто косметическийхарактер, применяйте их только на локальном клиенте:

import "core:ao"

MyPlayer :: class : Player_Base {
    ao_late_update :: method(dt: float) {
        if is_local() {
            // Простой зум «установил и забыл»
            camera.size = 7.0;
        }
    }
}

Пользовательское слежение (смещение + сглаживание)

Если вы хотите смещения камеры, кинематографические сцены или пользовательское сглаживание, выключите follow_player и управляйте camera.position сами:

Постобработка

Постобработка позволяет применять к вашей камере визуальные эффекты, такие как искажение, цветокоррекция и другие эффекты, чтобы ваша игра выглядела ярче!

CSL не в настоящее время не предоставляет пользовательские API для постобработки (например, регистрацию обратного вызова рантайм-процессора постобработки). У вас есть два варианта:

  • Настроить в редакторе: настройте стандартный стек постобработки через Редактировать → Конфигурация игры → Постобработка. Это применяется при использовании стандартного поведения камеры.

  • Настроить через C# API (продвинуто, не CSL): если вы используете пользовательский CameraControl через C# assembly API, вы можете зарегистрировать постпроцессор и применять эффекты, такие как Bloom / Blur / Color Grade / Vignette.

Если вы включите любой эффект, All Out автоматически будет использовать HDR-пайплайн.

Последнее обновление