For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Камера

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

В CSL камера — это структура для каждого игрока в Игрок:

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

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

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

Состояние компонента игрока синхронизируется, поэтому задавайте поля камеры в ao_late_update за is_local_or_server():

import "core:ao"

My_Player :: class : Player_Base {
    ao_late_update :: method(dt: float) {
        if is_local_or_server() {
            // Простое увеличение «задал и забыл»
            camera.size = 7.0;
        }
    }
}

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

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

Рендерер интерполирует position и size между кадрами симуляции. Их предыдущие значения только для чтения доступны как position_last_frame и size_last_frame.

Камера также предоставляет is_visible перегрузки для точки, Rect, Sprite_Renderer, или Spine_Animator. Необязательный апрон аргумент расширяет видимую область.

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

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

Вы можете настроить постобработку двумя способами:

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

  • Настроить во время выполнения через CSL: используйте Post_Processing API, чтобы динамически применять эффекты из метода вашего игрока. ao_late_update Если вы включите любой эффект, All Out автоматически будет использовать HDR-пайплайн.

API постобработки CSL

Вызовите любую из следующих функций каждый кадр, чтобы применять эффекты постобработки. Когда вызывается любая

функция, она Post_Processing переопределяет значения по умолчанию из редактора для этого кадра — поэтому вы должны вызывать каждый эффект, который хотите сделать активным. Функция

Функция
Структура конфигурации
Поля

Post_Processing.bloom

Bloom_Config

bloom_amount: float

Post_Processing.color_grade

Color_Grade_Config

color_filter: v3, saturation: float, contrast: float

Post_Processing.chromatic_aberration

Chromatic_Aberration_Config

channel_offsets: v3, focal_point: v2

Post_Processing.blur

Blur_Config

directions: float, quality: float, size: float

Post_Processing.film_grain

Film_Grain_Config

strength: float, noise_scale: float

Post_Processing.vignette

Vignette_Config

radius: float, softness: float

Оставляйте эти вызовы вместе, чтобы несколько компонентов не конкурировали за общесценную конфигурацию:

Чтобы вернуться к значениям редактора по умолчанию, перестаньте вызывать каждую Post_Processing функцию.

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