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 Modo de selfie módulo de desarrollador deja que los jugadores capturen una memoria más limpia de ese momento sin la ventana de chat o la lista de jugadores, mientras que también se pueden ocultar los efectos de filtro, el ocultar de otros personajes y la posición.

Uso de módulos

Instalación

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

  1. De la pestaña Ver, abra la Caja de herramientas y seleccione la pestaña Tienda del Creador .

    Toolbox toggle button in Studio
  2. Asegúrese de que se seleccione el Modelos clasificación y luego haga clic en el botón Ver Todo para Categorías .

  3. Ubique y haga clic en el mosaico de Modulos de Dev .

  4. Ubique el módulo Modo selfie y haga clic en él, o arrástralo y suéltalo en la vista 3D.

  5. En la ventana Explorer, mueva el modelo entero de Modo Aparece-y-desaparece a ServerScriptService . Al ejecutar la experiencia, el módulo se distribuirá a varios servicios y comenzará a funcionar.

Configuración

El módulo está predefinido para trabajar en la mayoría de los casos de uso, pero puede personalizarlos fácilmente a través de la función CONFIGURAR.

  1. En StarterPlayerScripts , crea un nuevo LocalScript y renombralo a ConfigurarModo 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
    })

Carácter de movimiento

Puede ser ventajoso prevenir que el personaje del jugador se mueva mientras está en modo selfie. Puede lograr esto estableciendo disableCharacterMovement para que sea verdadero 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 de Selfie

SelfieMode viene con las siguientes acciones , cada una de las cuales puedes usar con la activarAcción , 0> desactivarAcción 0> y 3> alternarAcción 3> funciones, o detectar a través de los eventos 6> acciónActivado 6> y 9> acciónDesactivado 9>, o detectar a través de los eventos 0> acciónActivada

Campo de profundidad

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

Para cambiar el efecto de campo de profundidad predeterminado, establece depthOfFieldEffect en tu propia instancia de DepthOfFieldEffect en una llamada de 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 mirada

La Bloquear mirada alternancia hace que el personaje del jugador mire hacia la cámara mientras configura la postura de selfie, dentro de un rango realista de lo lejos que su cuello puede girar.

Ocultar a los demás

Por defecto, otros personajes están visibles junto al personaje del jugador. Los jugadores pueden obtener un tiro perfecto en solitario haciendo clic en el botón Esconder otros . Cuando se activa, otros personajes se desvanecen de la vista y se mantienen invisibles hasta que se active la acción.

Filtrar

La acción Filtro le permite al jugador aplicar un filtro predeterminado desde las opciones Pop , Suave , 1> Antiguo 1> , 4> Cute 4> , 7> Dramatic7> y 0> Monochrome 0> .

Postura

La acción Pose le permite al jugador seleccionar una postura predeterminada de las opciones Cheer, Clapping, 2> Dolphin2>, 5> Flossing5>, 8> Guitarra8>, <

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 herramientas.
descriptioncadenaDescripción de la acción, mostrada después de nombre en las herramientas.
iconcadenaID de activo para el íconode la acción.
activeIconcadenaID de activo para el icono del estado de la acción. Solo se puede usar en acciones de padre, no en acciones de subida.
actionsmesaLista 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 sub-acción y apunta a la acción que contiene.
onActivatedfunciónFunción de llamada opcional que se ejecuta cuando un jugador activa una acción o subacción. Por lo general, si una acción contiene subacción, solo las subacción necesitará un llamado definido como un medio de saber que el jugador activó la subacción y no simplemente "expuso" la acción padre.
Script 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)

Incrementos

Modo de selfie.Acción

SelfieMode viene con varias acciones. Puedes usar este conjunto con las funciones activar acción, desactivar acción y 0>activar/desactivar acción0>.

NombreResumen
DepthOfFieldReferencia a la acción 深度-of-field.
LockGazeReferencia a la acción Desviar el vistazo.
HideOthersReferencia a la acción Ocultar a otros.
FilterReferencia a la acción Filtro.
PoseReferencia a la acción Poseer.
Script local

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

Funciones

configurar

configurar(Config: table )

Anula las opciones de configuración predeterminadas a través de las siguientes llaves/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 selfie está abierto.falso
depthOfFieldEffectInstancia personalizada opcional que aparece cuando el jugador alterna la acción de DepthOfFieldEffect.
LocalScript - Configurar el modo de selfie

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

Modo de selfie abierto

abrirModo Selfie

Un jugador generalmente 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 del código. Cuando implementas un botón personalizado como se muestra a continuación, debes desactivar el botón por defecto a través de Class.LocalScript . Esta función solo se puede llamar desde un LocalScript .

Script local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("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)

cerrarModo Selfie

cerrarModo Selfie

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

Script local

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

isSelfieModeOpen

isSelfieModeOpen() boolean

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

Script local

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

Activar botón de HUD

setHudButtonEnabled()

Establece si el botón predeterminado para entrar en el modo de selfie se muestra. Útil cuando se implementa abrirModo de selfie a través de un botón de UI personalizado. Esta función solo se puede llamar desde un LocalScript .

Script local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("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)

obtenerAcción

getAction(acción: Modo de Selfie.Acción): Acción

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

Script local

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

activoAcción

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

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

Script local

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

Desactivar acción

deactivateAction(acción: Modo Selfie.Acción )

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

Script 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: Modo de selfie.Acción): boolean

Alterna un acción en si está desactivado, o alterna apagado si está encendido. Esto es lo mismo que cuando un jugador hace clic en el acción desde la barra de acciones. Returna el nuevo estado "isToggledOn" como un valor deBooleano. Solo se puede llamar desde un LocalScript .

Script 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(teema: table )

Configura el tema del modo de selfie, incluyendo el tamaño del texto, fuente, color del botón/guía y más. Esta función solo se puede llamar desde un LocalScript .

ClaveDescripciónPor defecto
textSizeTamaño de todo el texto.16
fontFuente usada en todo el UI ( Enum.Font ).GothamMedium
paddingEspacio de relleno principal usado para colocar elementos de UI ( UDim ).(0, 12)
paddingSmallEspacio de aplicación más pequeño utilizado para aplicar márgenes sutiles entre elementos ( UDim ).(0, 6)
paddingScreenAmortiguación utilizada alrededor de los bordes de la pantalla para darle al modo de selfie un poco de espacio para respirar ( UDim ).(0, 24)
backgroundColorColor de fondo usado para la barra que muestra las acciones ( Color3 ).[0, 0, 0]
scrollBarColorColor del elemento de desplazamiento de página usado en ScrollingFrame elementos del módulo ( Color3 ).[255, 255, 255]
Script 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),
})

setHabilitado

setEnabled(isEnabled: boolean )

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

Script local

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

Eventos

modo de selfie abierto

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

Script local

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

modo de selfie cerrado

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

Script local

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

acciónActivado

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

Se activa cuando se activa una acción; esto puede ser una de las acciones principales como profundidad de campo, bloquear el enfoque o ocultar otros; alternativamente, puede ser una subacción como un 1> filtro1> o 4>poner4> . La función conect

Script 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 desactivada Acción .

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

Script local

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

filtro cambiado

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

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

Script 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)

oseCambiado

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

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

Script 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)