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 для постобработки (например, регистрацию обратного вызова постпроцессора во время выполнения). У вас есть два варианта:

  • Настроить в редакторе: настройте стек постобработки по умолчанию через Edit → Game Config → Post Processing. Это применяется при использовании поведения камеры по умолчанию.

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

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

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