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:
Certifique-se de que a classificação Modelos está selecionada, então clique no botão Ver Todos para Categorias .
Localize e clique no tijolo Dev Modules .
Localize o módulo Modo de Selfie e clique nele, ou arraste-e-solte-o para a ver3D.
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.
Em StarterPlayerScripts , crie um novo LocalScript e renomeie-o para Configurar o Modo de Selfie .
Cole o seguinte código no novo script.
LocalScript - Configurar Modo de Selfielocal 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 = 0customDepthOfField.FarIntensity = 1customDepthOfField.FocusDistance = 5customDepthOfField.InFocusRadius = 5SelfieMode.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:
Chave | Tipo | Descrição |
---|---|---|
name | string / cadeia / texto | Nome da ação, mostrado primeiro em dicas de ferramentas. |
description | string / cadeia / texto | Descrição da ação, mostrada após nome em dicas de ferramentas. |
icon | string / cadeia / texto | ID de recurso para o ícone da ação. |
activeIcon | string / cadeia / texto | ID de recurso para o ícone da ação no estado "ativo". Só pode ser usado em ações pais, não em subações. |
actions | tabela | Lista opcional de subações. Isso permite que você crie submenus de várias outras ações. |
parent | Ação | O pai da ação; isso só se aplica a uma subação e aponta para a ação que a contém. |
onActivated | função | Funçã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 nome | Sumário |
---|---|
DepthOfField | Referência à ação Profundidade de Campo. |
LockGaze | Referência à ação Bloquear Olhar. |
HideOthers | Referência à ação Esconder Outros. |
Filter | Referência à ação Filtro. |
Pose | Referê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 .
Chave | Descrição | Padrão |
---|---|---|
disableCharacterMovement | Se verdadeiro, impede que o personagem se mova enquanto o modo de selfie estiver aberto. | falso |
depthOfFieldEffect | Opcional 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 thenprint("Activated", lockGazeAction.name)elseprint("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 .
Chave | Descrição | Padrão |
---|---|---|
textSize | Tamanho de todo o texto. | 16 |
font | Fonte usada em toda a interface ( Enum.Font ). | GothamMedium |
padding | Espaço principal usado para definir elementos de UI ( UDim ). | (0, 12) |
paddingSmall | Espaçamento menor usado para aplicar margens sutis entre elementos ( UDim ). | (0, 6) |
paddingScreen | Espaçamento usado ao redor das bordas da tela para dar algum espaço de respiração ao modo de selfie (UDim). | (0, 24) |
backgroundColor | Cor de fundo usada para a barra que exibe as ações (Color3). | [0, 0, 0] |
scrollBarColor | Cor 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.Action | A 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.Action | A 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
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
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)