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

Cámara y posprocesamiento

Cámara

Cada jugador comienza con una cámara que lo sigue mientras se mueve. Para ajustar el zoom o mover la cámara a otros lugares, proporcionamos un conjunto de API.

En CSL, la cámara es una estructura por jugador en Jugador:

  • camera.follow_player: bool: cuando true, el motor mantiene la cámara siguiendo al jugador.

  • camera.position: v2: el centro de la cámara en el espacio del mundo (se usa cuando follow_player = false).

  • camera.size: float: cantidad de zoom. Más grande = más alejado (ves más del mundo).

El estado del componente Player se sincroniza, así que establece los campos de la cámara en el ao_late_update detrás is_local_or_server():

import "core:ao"

My_Player :: class : Player_Base {
    ao_late_update :: method(dt: float) {
        if is_local_or_server() {
            // Zoom simple de "configurar y olvidar"
            camera.size = 7.0;
        }
    }
}

Seguimiento personalizado (desplazamiento + suavizado)

Si quieres desplazamientos de cámara, cinemáticas o suavizado personalizado, desactiva follow_player y controla camera.position tú mismo:

El renderizador interpola posición y tamaño entre fotogramas de simulación. Sus valores anteriores de solo lectura están disponibles como position_last_frame y size_last_frame.

La cámara también proporciona is_visible sobrecargas para un punto, Rect, Sprite_Renderer, o Spine_Animator. El margen argumento opcional amplía el área visible.

Posprocesamiento

El posprocesamiento te permite aplicar efectos visuales a tu cámara, como distorsión, gradación de color y otros efectos, ¡para que tu juego destaque!

Puedes configurar el posprocesamiento de dos maneras:

  • Configúralo en el editor: configura la pila predeterminada de posprocesamiento mediante Editar → Configuración del juego → Posprocesamiento. Esto se aplica al usar el comportamiento predeterminado de la cámara.

  • Configúralo en tiempo de ejecución mediante CSL: usa la Post_Processing API para aplicar dinámicamente efectos desde el ao_late_update método de tu jugador.

Si habilitas cualquier efecto, All Out usará automáticamente la canalización HDR.

API de posprocesamiento de CSL

Llama a cualquiera de las siguientes funciones en cada fotograma para aplicar efectos de posprocesamiento. Cuando se llama a cualquier Post_Processing función, esta anula los valores predeterminados del editor para ese fotograma, así que debes llamar a cada efecto que quieras activo.

Función
Estructura de configuración
Campos

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

Mantén estas llamadas juntas para que varios componentes no compitan por la configuración global de la escena:

Para volver a los valores predeterminados del editor, deja de llamar a cada Post_Processing función.

Última actualización