Modo Selfie

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Los jugadores ya toman capturas de pantalla para conmemorar momentos divertidos en las experiencias. El módulo SelfieMode desarrollador permite a los jugadores capturar un recuerdo más limpio de ese momento sin la ventana de chat ni la lista de jugadores, y también admite efectos de filtro, ocultación de otros personajes y poses.

Uso del Módulo

Instalación

Para usar el módulo SelfieMode en una experiencia:

  1. Desde el menú Ventana de Studio o la barra de herramientas de la pestaña Inicio, abre el Toolbox y selecciona la pestaña Tienda del Creador.

  2. Asegúrate de que la clasificación de Modelos esté seleccionada, luego haz clic en el botón Ver Todos para Categorías.

  3. Localiza y haz clic en el mosaico de Paquetes.

  4. Localiza el módulo Modo Selfie y haz clic en él, o arrástralo y suéltalo en la vista 3D.

  5. En la ventana del Explorador, mueve el paquete completo SelfieMode a ReplicatedStorage. Al ejecutar la experiencia, el módulo comenzará a ejecutarse.

Configuración

El módulo está preconfigurado para funcionar en la mayoría de los casos, pero puedes personalizarlo fácilmente a través de la función configure.

  1. En StarterPlayerScripts, crea un nuevo LocalScript y renómbralo a ConfigureSelfieMode.

  2. Pega el siguiente código en el nuevo script.

    LocalScript - ConfigureSelfieMode

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local SelfieMode = require(ReplicatedStorage.SelfieMode)
    SelfieMode.configure({
    disableCharacterMovement = true
    })

Movimiento del Personaje

Puede ser ventajoso evitar que el personaje del jugador se mueve mientras está en modo selfie. Puedes lograr esto estableciendo disableCharacterMovement en true en una llamada a configure.

LocalScript - ConfigureSelfieMode

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.configure({
disableCharacterMovement = true
})

Acciones del Modo Selfie

SelfieMode viene con las siguientes acciones, cada una de las cuales puedes utilizar con las funciones activateAction, deactivateAction y toggleAction, o detectar a través de los eventos actionActivated y actionDeactivated.

Profundidad de Campo

Por defecto, SelfieMode muestra un efecto genérico de profundidad de campo (desenfoque sutil del fondo) cuando un jugador activa la acción.

Para cambiar el efecto de profundidad de campo predeterminado, establece depthOfFieldEffect a tu propia instancia de DepthOfFieldEffect en una llamada a configure.

LocalScript - ConfigureSelfieMode

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local customDepthOfField = Instance.new("DepthOfFieldEffect")
customDepthOfField.NearIntensity = 0
customDepthOfField.FarIntensity = 1
customDepthOfField.FocusDistance = 5
customDepthOfField.InFocusRadius = 5
SelfieMode.configure({
depthOfFieldEffect = customDepthOfField
})

Bloquear Mirada

El interruptor de Bloquear Mirada hace que el personaje del jugador mire hacia la cámara mientras configura la pose de selfie, dentro de un rango realista de cuán lejos puede girar su cuello.

Ocultar Otros

Por defecto, otros personajes son visibles junto al personaje del jugador. Los jugadores pueden obtener una toma perfecta en solitario haciendo clic en el botón Ocultar Otros. Cuando se activa, otros personajes se desvanecen de la vista y permanecen invisibles hasta que la acción se desactive.

Filtro

La acción Filtro permite al jugador aplicar un filtro preestablecido de las opciones Pop, Suave, Antiguo, Lindo, Dramático y Monocromo.

Pose

La acción Pose permite al jugador seleccionar una pose preestablecida de las opciones Animar, Aplaudir, Delfín, Flossing, Guitarra, Saltando y Saludando, Más Fuerte, Top Rock, Girar y Saludar.

Referencia de la API

Tipos

Acción

Cada acción es representada por un diccionario con los siguientes pares clave-valor:

ClaveTipoDescripción
namestringNombre de la acción, mostrado primero en las descripciones emergentes.
descriptionstringDescripción de la acción, mostrada después del nombre en las descripciones emergentes.
iconstringID del activo para el ícono de la acción.
activeIconstringID del activo para el ícono de la acción en estado "activo". Solo se puede utilizar en acciones principales, no en sub-acciones.
actionstableLista opcional de sub-acciones. Esto te permite crear submenús de varias otras acciones.
parentActionEl padre de la acción; esto solo se aplica a una sub-acción y apunta a la acción que la contiene.
onActivatedfunctionFunción de callback opcional que se ejecuta cuando un jugador activa una acción o sub-acción. Normalmente, si una acción contiene sub-acciones, solo las sub-acciones necesitarán que se defina un callback como medio de saber que el jugador activó la sub-acción y no simplemente "expansó" la acción principal.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activado")
end)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "desactivado")
end)

Enums

SelfieMode.Action

SelfieMode viene con varias acciones. Puedes usar este enum con las funciones activateAction, deactivateAction y toggleAction.

NombreResumen
DepthOfFieldReferencia a la acción Profundidad de Campo.
LockGazeReferencia a la acción Bloquear Mirada.
HideOthersReferencia a la acción Ocultar Otros.
FilterReferencia a la acción Filtro.
PoseReferencia a la acción Pose.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Activar la acción "Filtro"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Funciones

configure

configure(config: table)

Sobrescribe las opciones de configuración predeterminadas a través de las siguientes claves/valores en la tabla config. Esta función solo se puede llamar desde un LocalScript.

ClaveDescripciónPredeterminado
disableCharacterMovementSi es verdadero, evita que el personaje se mueva mientras el modo selfie está abierto.false
depthOfFieldEffectInstancia opcional personalizada de DepthOfFieldEffect que aparece cuando el jugador activa la acción de Profundidad de Campo.
LocalScript - ConfigureSelfieMode

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.configure({
disableCharacterMovement = true
})

openSelfieMode

openSelfieMode()

Un jugador generalmente abrirá el modo selfie con el botón "cámara" en el lado derecho de la pantalla, pero esta función te permite abrirlo a través del código. Al implementar un botón personalizado como se muestra a continuación, debes desactivar el botón predeterminado a través de setHudButtonEnabled. Esta función solo se puede llamar desde un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Eliminar el botón predeterminado
SelfieMode.setHudButtonEnabled(false)
-- Conectar el botón personalizado
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

closeSelfieMode

closeSelfieMode()

Un jugador generalmente cerrará el modo selfie con el botón en la parte inferior de la pantalla, pero esta función te permite cerrarlo a través del código. Solo se puede llamar desde un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.closeSelfieMode()

isSelfieModeOpen

isSelfieModeOpen(): boolean

Devuelve true si el modo selfie está abierto como resultado de la acción del jugador o a través de openSelfieMode. Esta función solo se puede llamar desde un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.openSelfieMode()
print(SelfieMode.isSelfieModeOpen())

setHudButtonEnabled

setHudButtonEnabled()

Establece si se muestra o no el botón predeterminado para ingresar al modo selfie. Útil al implementar openSelfieMode a través de un botón personalizado en la interfaz. Esta función solo se puede llamar desde un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Eliminar el botón predeterminado
SelfieMode.setHudButtonEnabled(false)
-- Conectar el botón personalizado
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

getAction

getAction(action: SelfieMode.Action): Action

Obtiene un tipo de Action a través de un enum de SelfieMode.Action.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)

activateAction

activateAction(action: SelfieMode.Action)

Activa programáticamente una de las acciones predeterminadas. Esto es lo mismo que cuando un jugador activa la acción desde la barra de acciones. Solo se puede llamar desde un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Activar la acción "Filtro"
SelfieMode.activateAction(SelfieMode.Action.Filter)

deactivateAction

deactivateAction(action: SelfieMode.Action)

Desactiva programáticamente una de las acciones predeterminadas. Esto es lo mismo que cuando un jugador desactiva la acción desde la barra de acciones. Solo se puede llamar desde un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Desactivar la acción "Filtro"
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

toggleAction

toggleAction(action: SelfieMode.Action): boolean

Alterna una acción encendida si está apagada, o la apaga si está encendida. Esto es lo mismo que cuando un jugador hace clic en la acción desde la barra de acciones. Devuelve el nuevo estado "¿está activado?" como un booleano. Solo se puede llamar desde un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)
local isEnabled = SelfieMode.toggleAction(lockGazeAction)
if isEnabled then
print("Activado", lockGazeAction.name)
else
print("Desactivado", lockGazeAction.name)
end

setTheme

setTheme(theme: table)

Configura el tema del modo selfie, incluyendo tamaño de texto, fuente, colores de botones/descripciones emergentes y más. Esta función solo se puede llamar desde un LocalScript.

ClaveDescripciónPredeterminado
textSizeTamaño de todo el texto.16
fontFuente utilizada en toda la IU (Enum.Font).GothamMedium
paddingRelleno principal utilizado para organizar los elementos de la IU (UDim).(0, 12)
paddingSmallRelleno más pequeño usado para aplicar márgenes sutiles entre elementos (UDim).(0, 6)
paddingScreenRelleno utilizado alrededor de los bordes de la pantalla para dar algo de espacio al modo selfie (UDim).(0, 24)
backgroundColorColor de fondo utilizado para la barra que muestra las acciones (Color3).[0, 0, 0]
scrollBarColorColor de la barra de desplazamiento utilizada en los elementos de ScrollingFrame del módulo (Color3).[255, 255, 255]
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.setTheme({
textSize = 20,
font = Enum.Font.Michroma,
backgroundColor = Color3.fromRGB(0, 40, 75),
})

setEnabled

setEnabled(isEnabled: boolean)

Establece si el modo selfie está habilitado o no. Cuando se deshabilita, toda la IU del módulo se elimina y todos los eventos se desconectan. Esta función solo se puede llamar desde un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.setEnabled(false)

Eventos

selfieModeOpened

Se activa cuando el jugador abre el modo selfie o cuando se llama a openSelfieMode. Este evento solo se puede conectar en un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("Modo selfie abierto")
end)

selfieModeClosed

Se activa cuando el jugador cierra el modo selfie o cuando se llama a closeSelfieMode. Este evento solo se puede conectar en un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("Modo selfie cerrado")
end)

actionActivated

Parámetros
action: SelfieMode.ActionLa Acción activada.

Se activa cuando se activa una acción; esta puede ser una de las acciones primarias como Profundidad de Campo, Bloquear Mirada o Ocultar Otros; alternativamente puede ser una sub-acción como un filtro o una pose. La función conectada recibe la Acción activada. Este evento solo se puede conectar en un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activado")
end)

actionDeactivated

Parámetros
action: SelfieMode.ActionLa Acción desactivada.

Se activa cuando una acción primaria o sub-acción se desactiva. La función conectada recibe la Acción desactivada. Este evento solo se puede conectar en un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "desactivado")
end)

filterChanged

Parámetros
newFilter: stringEl nuevo filtro.
oldFilter: stringEl filtro anterior.

Se activa cuando se aplica o se elimina un filtro. La función conectada recibe el nombre del nuevo filtro y el nombre del filtro antiguo. Este evento solo se puede conectar en un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("Filtro cambiado de", oldFilter, "a", newFilter)
end)

poseChanged

Parámetros
newPose: stringLa nueva pose.
oldPose: stringLa pose anterior.

Se activa cuando se aplica o se elimina una pose. La función conectada recibe el nombre de la nueva pose y el nombre de la pose antigua. Este evento solo se puede conectar en un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("Pose cambiada de", oldPose, "a", newPose)
end)
©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.