Documentación de Steamworks
Capturas de Steam

Introducción

Se proporciona soporte automático para capturas mediante la Interfaz de Steam para todos los juegos de Steam. Steamworks proporciona un conjunto de API diseñadas para interactuar con este sistema. La API de capturas de Steamworks permite hacer capturas de pantalla y añadirlas a la biblioteca de capturas local de los usuarios, con metadatos adicionales como el nombre de una ubicación del juego o el etiquetado de los usuarios que aparecen.
NOTA. La interfaz de Steam debe estar activa en el juego para que el sistema de capturas esté disponible.

Los usuarios pueden pulsar una tecla rápida controlada por Steam (F12 de forma predeterminada) para activar una captura.

El usuario puede cambiar la tecla rápida y otros ajustes de captura que tendrán efecto en cualquier juego que jueguen en Steam yendo a Ajustes -> Jugando.

screenshot_hotkey.png

Cargador de capturas

Tras salir del juego, el cargador de capturas se abrirá automáticamente con todas las capturas tomadas durante la sesión previa. Los usuarios pueden desactivarlo yendo a Ajustes -> Cloud y desmarcando "Abrir el cargador de capturas al cerrar un juego si se han realizado capturas".

screenshot_uploader.png

También se puede acceder al cargador de capturas en cualquier momento a través de Steam, yendo a Vista -> Capturas o haciendo clic en "Capturas" en la interfaz de Steam.

Si el usuario carga cualquier captura, esta será visible en su perfil de la comunidad y en el punto de encuentro del juego.

API de capturas de Steam

El SDK de Steamworks da acceso a ISteamScreenshots y permite utilizar funciones avanzadas e integrar el sistema de capturas de Steam directamente en el juego para lograr la mejor experiencia para los clientes.

De forma predeterminada, Steam gestiona la toma de capturas, pero es posible recuperar el control enlazando las capturas mediante ISteamScreenshots::HookScreenshots. Si se enlazan las capturas, se obtiene ScreenshotRequested_t una devolución cuando el usuario presiona la tecla rápida de captura. Se puede comprobar si se están enlazando capturas mediante ISteamScreenshots::IsScreenshotsHooked.

En cualquier caso, se obtiene una devolución de llamada a ScreenshotReady_t cuando la captura se guarda correctamente en el disco. Después de recibir esta devolución de llamada, se debe comprobar el resultado y, si es correcto, se puede utilizar el ScreenshotHandle proporcionado para establecer etiquetas con:

Si se quiere tomar una captura con el botón indicado o automáticamente en algún punto, como al final de una ronda, se puede hacer de forma programática con ISteamScreenshots::TriggerScreenshot o escribiendo los bytes RGB con ISteamScreenshots::WriteScreenshot, o bien añadiendo un archivo del disco con ISteamScreenshots::AddScreenshotToLibrary/ISteamScreenshots::AddVRScreenshotToLibrary.