Modo de 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 celebrar momentos divertidos en las experiencias.El módulo de desarrollador de SelfieMode permite a los jugadores capturar una memoria más limpia de ese momento sin la ventana de chat o la lista de jugadores, mientras también soporta efectos de filtro, ocultamiento de otros personajes y posado.

Uso del módulo

Instalación

Para usar el módulo Modo selfie en una experiencia:

  1. Desde la pestaña Ver, abra la Caja de herramientas y seleccione la pestaña Tienda de creadores .

    Toolbox toggle button in Studio
  2. Asegúrese de que la clasificación de modelos esté seleccionada, luego haga clic en el botón Ver todo para categorías .

  3. Localiza y haz clic en el mosaico Módulos de desarrollo .

  4. Localiza el módulo Modo selfie y haz clic en él, o arrastra y suelta en la vista 3D.

  5. En la ventana Explorador, mueva todo el modelo SelfieMode al servicio ServerScriptService .Al ejecutar la experiencia, el módulo se distribuirá a varios servicios y comenzará a funcionar.

Configuración

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

  1. En StarterPlayerScripts , crea un nuevo LocalScript y renómlalo a Configurar modo de selfie .

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

    LocalScript - Configurar el modo de selfie

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

Movimiento de caracteres

Puede ser ventajoso evitar que el personaje del jugador se mueva mientras está en modo selfie.Puedes lograr esto al establecer disableCharacterMovement en verdad en una llamada configurar.

LocalScript - Configurar el modo de selfie

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

Acciones del modo selfie

El modo selfie viene con las siguientes acciones, cada una de las cuales puedes usar con la función activarAcción, desactivarAcción y activarAcción o detectar a través de los eventos acciónActivada y acciónDesactivada.

Profundidad de campo

Por defecto, Modo de selfie muestra un efecto genérico de profundidad de campo (borro suave del fondo) cuando un jugador alterna la acción.

Para cambiar el efecto de profundidad predeterminada del campo, establece depthOfFieldEffect a tu propia instancia DepthOfFieldEffect en una llamada configurar.

LocalScript - Configurar el modo de selfie

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

Bloquear la mirada

El botón Bloquear mirada hace que el personaje del jugador mire a la cámara mientras configura la postura de selfie, dentro de un rango realista de cuánto puede girar su cuello.

Ocultar a otros

Por defecto, otros personajes son visibles junto al personaje del jugador.Los jugadores pueden obtener un disparo en solitario perfecto haciendo clic en el botón Ocultar a los demás .Cuando se activa, los otros personajes se desvanecen de la vista y permanecen invisibles hasta que se desactiva la acción.

Filtrar

La acción Filtro deja que el jugador aplique un filtro predeterminado de las opciones Pop , Suave , Antiguo , Lindo , Dramático y Monocromático .

Postura

La acción Pose deja al jugador seleccionar una posa predeterminada de las opciones Aplausos , Aplausos , Delfín , Bocadillos , Guitarra , Oleada de salto , Más fuerte , Rock superior , Torbellino y Ola .

Referencia de API

Tipos

Acción

Cada acción se representa por un diccionario con los siguientes pares de clave-valor:

ClaveTipoDescripción
namecadenaNombre de la acción, mostrado primero en las descripciones de las herramientas.
descriptioncadenaDescripción de la acción, mostrada después de nombre en las descripciones de herramientas.
iconcadenaID de activo para el íconode la acción.
activeIconcadenaID de activo para el icono de la acción en estado "activo". Solo se puede usar en acciones padre, no en acciones subordinadas.
actionstablaLista opcional de subacciones. Esto te permite crear submenús de varias otras acciones.
parentAcciónEl padre de la acción; esto solo se aplica a una acción subordinada y apunta a la acción que la contiene.
onActivatedfunciónFunción de llamada opcional que se ejecuta cuando un jugador activa una acción o subacción.Típicamente, si una acción contiene acciones subordinadas, solo las acciones subordinadas necesitarán una llamada de devolución definida como un medio de saber que el jugador activó la acción subordinada y no simplemente "扩展" la acción padre.
Guión local

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

Enumeraciones

Acción de SelfieMode

El modo selfie viene con varias acciones.Puedes usar este enumerado con las funciones activarAcción, desactivarAcción y activarAcción.

NombreResumen
DepthOfFieldReferencia a la acción Profundidad de campo.
LockGazeReferencia a la acción Bloquear mirada.
HideOthersReferencia a la acción Ocultar a otros.
FilterReferencia a la acción Filtro.
PoseReferencia a la acción Pose .
Guión local

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

Funciones

configurar

configurar(config: table )

Anula 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ónPor defecto
disableCharacterMovementSi es verdad, evita que el personaje se mueva mientras el modo de selfie está abierto.falso
depthOfFieldEffectOpcional personalizado DepthOfFieldEffect instancia que aparece cuando el jugador alterna la acción de Profundidad de campo.
LocalScript - Configurar el modo de selfie

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

abrirModo Selfie

abrirModo de selfie()

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

Guión local

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

cerrarModo de selfie

cerrarModo de selfie()

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

Guión local

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

estáSelfieModeOpen

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 .

Guión local

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

establecerHudButtonEnabled

establecer botón de Hud habilitado()

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

Guión local

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

obtenerAcción

getAction(acción: SelfieMode.Action ): Acción

Obtiene un tipo de acción Acción a través de un enum SelfieMode.Action.

Guión local

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

activar acción

activateAction(acción: SelfieMode.Action )

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

Guión local

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

desactivar acción

desactivar acción(acción: SelfieMode.Action )

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

Guión local

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

alternar acción

toggleAction(acción: SelfieMode.Action ): boolean

Alterna una acción en si está desactivado, o la desactiva si está activada.Esto es igual 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 .

Guión local

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

establecer tema

setTheme(temática: table )

Configura el tema del modo selfie, incluido el tamaño del texto, el tipo de letra, los colores de los botones/instrucciones y más. Esta función solo se puede llamar desde un LocalScript.

ClaveDescripciónPor defecto
textSizeTamaño de todo el texto.16
fontFuente utilizada en toda la interfaz de usuario ( Enum.Font ).GothamMedium
paddingEspacio principal utilizado para dibujar elementos de interfaz de usuario (UDim).(0, 12)
paddingSmallEspacio más pequeño utilizado para aplicar márgenes sutiles entre elementos (UDim).(0, 6)
paddingScreenEspacio utilizado alrededor de los bordes de la pantalla para darle al modo selfie algo de espacio para respirar (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 ScrollingFrame elementos del módulo (Color3).[255, 255, 255]
Guión local

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

establecerEnabled

setEnabled(isEnabled: boolean )

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

Guión local

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

Eventos

selfieModeAbierto

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

Guión local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.selfieModeOpened:Connect(function()
print("Selfie mode open")
end)

selfieModeCerrado

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

Guión local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.selfieModeClosed:Connect(function()
print("Selfie mode closed")
end)

acciónActivada

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

Se activa cuando se activa una acción; puede ser una de las acciones principales como profundidad de campo , bloquear mirada o ocultar a otros ; alternativamente, puede ser una acción subordinada como un filtro o posa .La función conectada recibe la acción activada . .Este evento solo se puede conectar en un LocalScript .

Guión local

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

acciónDesactivada

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

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

Guión local

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

filtroCambiado

Parámetros
nuevoFilter: stringEl nuevo filtro.
filtro antiguo: stringEl filtro anterior.

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

Guión local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("Filter changed from", oldFilter, "to", newFilter)
end)

poseCambiada

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

Se enciende cuando se aplica o elimina una postura.La función conectada recibe el nuevo nombre de posa y el nombre de posa antiguo.Este evento solo se puede conectar en un LocalScript .

Guión local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("Pose changed from", oldPose, "to", newPose)
end)