Modo de Selfie

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Jogadores já fazem capturas de tela para comemorar momentos divertidos em experiências.O módulo Modo de Selfie desenvolvedor deixa os jogadores capturarem uma memória mais limpa daquele momento sem a janela de chat ou lista de jogadores, enquanto também suporta efeitos de filtro, esconder outros personagens e posar.

Uso do Módulo

Instalação

Para usar o módulo Modo de Selfie em uma experiência:

  1. Da aba Ver, abra a Caixa de Ferramentas e selecione a aba Loja do Criador .

    Toolbox toggle button in Studio
  2. Certifique-se de que a classificação Modelos está selecionada, então clique no botão Ver Todos para Categorias .

  3. Localize e clique no tijolo Dev Modules .

  4. Localize o módulo Modo de Selfie e clique nele, ou arraste-e-solte-o para a ver3D.

  5. Na janela Explorer, mova todo o modelo Modo Selfie para Serviço de Script de Servidor .Ao executar a experiência, o módulo se distribuirá a vários serviços e começará a funcionar.

Configuração

O módulo é pré-configurado para funcionar na maioria dos casos de uso, mas você pode facilmente personalizá-lo através da função configurar.

  1. Em StarterPlayerScripts , crie um novo LocalScript e renomeie-o para Configurar o Modo de Selfie .

  2. Cole o seguinte código no novo script.

    LocalScript - Configurar Modo de Selfie

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

Movimento de Personagem

Pode ser vantajoso impedir que o personagem do jogador se mova enquanto estiver no modo de selfie.Você pode alcançar isso definindo disableCharacterMovement para verdadeiro em uma chamada configurar.

LocalScript - Configurar Modo de Selfie

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

Ações do Modo Selfie

Modo de Selfie vem com as seguintes ações, cada uma das quais você pode usar com a função ativarAção, desativarAção e ativarAção , ou detectar através dos eventos açãoAtivada e açãoDesativada.

Profundidade de Campo

Por padrão, Modo de Selfie mostra um efeito genérico de profundidade de campo (embaciamento sutil do fundo) quando um jogador alterna a ação.

Para alterar o efeito de profundidade de campo padrão, defina depthOfFieldEffect para a sua própria instância DepthOfFieldEffect em uma chamada configurar.

LocalScript - Configurar 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 Olhar

A opção Bloquear Olhar faz com que o personagem do jogador olhe para a câmera enquanto configura a posição de selfie, dentro de um alcance realista de quão longe seu pescoço pode se mover.

Esconder Outros

Por padrão, outros personagens são visíveis ao lado do personagem do jogador.Jogadores podem obter um tiro solo perfeito clicando no botão Esconder os Outros .Quando ativado, outros personagens desaparecem de vista e permanecem invisíveis até que a ação seja desligado.

Filtro

A ação Filtro permite que o jogador aplique um filtro predefinido das opções Pop, Suave, Antigo, Fofinho, Dramático e Monocromático.

Posição

A ação Pose deixa o jogador selecionar uma posição predefinida das opções Alegria , Aplausos , Golfinho , Sorriso , Guitarra , Onda de Salto , Mais Forte , Top Rock , Torção e Onda .

Referência da API

Tipos

Ação

Cada ação é representada por um dicionário com os seguintes pares de chave-valor:

ChaveTipoDescrição
namestring / cadeia / textoNome da ação, mostrado primeiro em dicas de ferramentas.
descriptionstring / cadeia / textoDescrição da ação, mostrada após nome em dicas de ferramentas.
iconstring / cadeia / textoID de recurso para o ícone da ação.
activeIconstring / cadeia / textoID de recurso para o ícone da ação no estado "ativo". Só pode ser usado em ações pais, não em subações.
actionstabelaLista opcional de subações. Isso permite que você crie submenus de várias outras ações.
parentAçãoO pai da ação; isso só se aplica a uma subação e aponta para a ação que a contém.
onActivatedfunçãoFunção de retorno opcional que é executada quando um jogador ativa uma ação ou subação.Normalmente, se uma ação contiver subações, apenas as subações precisarão de um retorno definido como um meio de saber que o jogador ativou a subação e não simplesmente "expandiu" a ação pai.
LocalScript

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)

Enumas

SelfieMode.Ação

Modo de Selfie vem com várias ações.Você pode usar esse enum com as funções ativarAção, desativarAção e ativarAção.

Qual o nomeSumário
DepthOfFieldReferência à ação Profundidade de Campo.
LockGazeReferência à ação Bloquear Olhar.
HideOthersReferência à ação Esconder Outros.
FilterReferência à ação Filtro.
PoseReferência à ação Pose.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Ativar ação "Filtro"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Funções

configurar

configurar(config: table )

Substitui as opções de configuração padrão através das seguintes chaves/valores na tabela config.Essa função só pode ser chamada a partir de um LocalScript .

ChaveDescriçãoPadrão
disableCharacterMovementSe verdadeiro, impede que o personagem se mova enquanto o modo de selfie estiver aberto.falso
depthOfFieldEffectOpcional personalizado DepthOfFieldEffect instância que aparece quando o jogador ativa a ação Profundidade de Campo.
LocalScript - Configurar Modo de Selfie

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

abrirModo de Selfie

abrirModo de Selfie()

Um jogador normalmente abrirá o modo de selfie com o botão "Câmera" no lado direito da tela, mas essa função permite que você a abra por meio de código.Ao implementar um botão personalizado como mostrado abaixo, você deve desativar o botão padrão através de setHudButtonEnabled.Essa função só pode ser chamada a partir de um LocalScript .

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Remova o botão padrão
SelfieMode.setHudButtonEnabled(false)
-- Conecte o botão personalizado
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

fecharModo de Selfie

fecharModo de Selfie()

Um jogador normalmente fechará o modo de selfie com o botão na parte inferior da tela, mas essa função permite que você feche-a através de código.Só pode ser chamado a partir de um LocalScript .

LocalScript

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

estáSelfieModeOpen

isSelfieModeOpen(): boolean

Retorna true se o modo de selfie estiver aberto como resultado da ação do jogador ou através de openSelfieMode.Essa função só pode ser chamada a partir de um LocalScript .

LocalScript

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

setar botão Hud ativo

setHudButtonEnabled()

Define se o botão padrão para entrar no modo de selfie é mostrado.Útil ao implementar openSelfieMode através de um botão de UI personalizado.Essa função só pode ser chamada a partir de um LocalScript .

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Remova o botão padrão
SelfieMode.setHudButtonEnabled(false)
-- Conecte o botão personalizado
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

getAction

getAction(ação: SelfieMode.Action ): Ação

Obtém um tipo Ação através de um SelfieMode.Action enum.

LocalScript

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

ativarAção

ativarAção(ação: SelfieMode.Action )

Ativa programaticamente uma das ações padrão padrão.Isto é o mesmo quando um jogador alterna a ação na barra de ação.Só pode ser chamado a partir de um LocalScript .

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Ativar ação "Filtro"
SelfieMode.activateAction(SelfieMode.Action.Filter)

desativarAção

desativarAção(ação: SelfieMode.Action )

Desativa programaticamente uma das ações padrão de.Isto é o mesmo quando um jogador desativa a ação da barra de ação.Só pode ser chamado a partir de um LocalScript .

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Desativar ação "Filtro"
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

ativarAção

toggleAction(ação: SelfieMode.Action ): boolean

Alterna uma ação em se estiver desligado, ou desliga-a se estiver ligada.Isto é o mesmo quando um jogador clica na ação na barra de ações.Retorna o novo estado "está ativado" como um booleano.Só pode ser chamado a partir de um LocalScript .

LocalScript

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

setTheme

setTheme(temática: table )

Configura o tema do modo de selfie, incluindo o tamanho do texto, a fonte, as cores do botão/dica e muito mais. Essa função só pode ser chamada a partir de um LocalScript .

ChaveDescriçãoPadrão
textSizeTamanho de todo o texto.16
fontFonte usada em toda a interface ( Enum.Font ).GothamMedium
paddingEspaço principal usado para definir elementos de UI ( UDim ).(0, 12)
paddingSmallEspaçamento menor usado para aplicar margens sutis entre elementos ( UDim ).(0, 6)
paddingScreenEspaçamento usado ao redor das bordas da tela para dar algum espaço de respiração ao modo de selfie (UDim).(0, 24)
backgroundColorCor de fundo usada para a barra que exibe as ações (Color3).[0, 0, 0]
scrollBarColorCor da barra de rolagem usada em ScrollingFrame elementos do módulo ( Color3 ).[255, 255, 255]
LocalScript

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),
})

ativado setEnabled

setEnabled(isEnabled: boolean )

Define se o modo de selfie está habilitado ou não.Quando desativado, toda a interface do usuário para o módulo é removida e todos os eventos são desconectados.Essa função só pode ser chamada a partir de um LocalScript .

LocalScript

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

Eventos

selfieModeAberto

Incêndios quando o jogador abre o modo de selfie ou quando openSelfieMode é chamado. Este evento só pode ser conectado em um LocalScript .

LocalScript

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

modo de selfie fechado

Incêndios quando o jogador fecha o modo de selfie ou quando closeSelfieMode é chamado. Este evento só pode ser conectado em um LocalScript .

LocalScript

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

açãoAtivada

Parâmetros
ação: SelfieMode.ActionA ação ativada Ação.

Dispara quando uma ação é ativada; esta pode ser uma das ações principais como Profundidade de Campo , Bloquear Olhar ou Esconder Outros ; alternativamente, pode ser uma subação como um filtro ou posição .A função conectada recebe a ação ativada Ativada.Este evento só pode ser conectado em um LocalScript .

LocalScript

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

açãoDesativada

Parâmetros
ação: SelfieMode.ActionA ação desativada Ação.

Dispara quando uma ação primária ou subação é desativada.A função conectada recebe a ação desativada Ação.Este evento só pode ser conectado em um LocalScript .

LocalScript

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

filtroMudado

Parâmetros
newFilter: stringO novo filtro.
filtro antigo: stringO filtro anterior.

Incêndios quando um filtro é aplicado ou removido.A função conectada recebe o novo nome do filtro e o antigo nome do filtro.Este evento só pode ser conectado em um LocalScript .

LocalScript

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)

poseMudada

Parâmetros
newPose: stringA nova posição.
oldPose: stringA posição anterior.

Incêndios quando uma postura é aplicada ou removida.A função conectada recebe o novo nome de posição e o antigo nome de posição.Este evento só pode ser conectado em um LocalScript .

LocalScript

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)