Documentación de Steamworks
Capturas de pantalla de Steam

Introducción

La Interfaz superpuesta de Steam ofrece compatibilidad con capturas de pantalla de forma automática para todos los juegos de Steam, y Steamworks proporciona un conjunto de API diseñadas para interactuar con este sistema. La API de capturas de pantalla de Steamworks permite hacer capturas 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 superpuesta de Steam debe estar activa en el juego para que el sistema de capturas de pantalla esté disponible.

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

El usuario puede cambiar la tecla rápida y otros ajustes de captura de pantalla que tendrán efecto en cualquier juego que jueguen en Steam yendo a «Parámetros» > «En la partida».

screenshot_hotkey.png

Cargador de capturas

Tras salir del juego, el gestor de capturas se abrirá automáticamente con todas las capturas de pantalla que se han realizado durante la sesión previa. Los usuarios pueden desactivarlo yendo a «Parámetros» > «Cloud» y desmarcando la opción «Abrir el gestor de capturas al cerrar un juego si se han realizado capturas».

screenshot_uploader.png

También se puede acceder al gestor de capturas en cualquier momento a través de Steam, yendo a «Ver» > «Grabaciones y capturas» o haciendo clic en «Grabaciones y capturas» en la interfaz superpuesta de Steam.

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

API de capturas de pantalla de Steam

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

De forma predeterminada, Steam gestionará la realización de capturas de pantalla, pero puedes tomar el control mediante ISteamScreenshots::HookScreenshots. En ese caso, obtendrás la función callback ScreenshotRequested_t cuando el usuario pulse la tecla rápida de captura de pantalla. Puedes comprobar si tienes el control de la realización de capturas de pantalla mediante la función ISteamScreenshots::IsScreenshotsHooked.

En cualquiera de los dos casos, obtendrás la función callback ScreenshotReady_t cuando la captura se guarde correctamente en el disco. Después de recibir esta función callback, debes comprobar el resultado y, si es correcto, puedes utilizar el handle ScreenshotHandle proporcionado para establecer etiquetas con:

Si quieres realizar una captura de pantalla con tu propio botón o automáticamente en algún momento (como al final de una ronda), puedes hacerlo programáticamente con ISteamScreenshots::TriggerScreenshot, escribiendo los bytes RGB con ISteamScreenshots::writeScreenshot o añadiendo un archivo del disco con ISteamScreenshots::AddScreenshotToLibrary/ISteamScreenshots::AddVRScreenshotToLibrary.