Modo Selfie

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

Os jogadores já tiram capturas de tela para comemorar momentos divertidos em experiências. O módulo SelfieMode desenvolvedor permite que os jogadores capturem uma memória mais limpa desse momento, sem a janela de chat ou lista de jogadores, enquanto também suporta efeitos de filtro, ocultação de outros personagens e poses.

Uso do Módulo

Instalação

Para usar o módulo SelfieMode em uma experiência:

  1. No menu Janela do Studio ou na barra de ferramentas da aba Início, abra o Toolbox e selecione a aba Creator Store.

  2. Certifique-se de que a ordenação por Modelos esteja selecionada, em seguida clique no botão Ver Todos para Categorias.

  3. Localize e clique no bloco Pacotes.

  4. Localize o módulo Modo Selfie e clique nele, ou arraste e solte-o na visualização 3D.

  5. Na janela Explorador, mova todo o pacote SelfieMode para ReplicatedStorage. Ao executar a experiência, o módulo começará a rodar.

Configuração

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

  1. Em StarterPlayerScripts, crie um novo LocalScript e renomeie-o para ConfigureSelfieMode.

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

    LocalScript - ConfigureSelfieMode

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

Movimento do Personagem

Pode ser benéfico impedir que o personagem do jogador se mova enquanto estiver no modo selfie. Você pode fazer isso definindo disableCharacterMovement como verdadeiro em uma chamada configure.

LocalScript - ConfigureSelfieMode

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

Ações do Modo Selfie

O SelfieMode vem com as seguintes ações, cada uma das quais você pode usar com as funções activateAction, deactivateAction e toggleAction, ou detectar através dos eventos actionActivated e actionDeactivated.

Profundidade de Campo

Por padrão, o SelfieMode mostra um efeito genérico de profundidade de campo (desfoque sutil do fundo) quando um jogador ativa a ação.

Para alterar o efeito de profundidade de campo padrão, defina depthOfFieldEffect como sua própria instância DepthOfFieldEffect em uma chamada 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
})

Olhar Fixo

O recurso Olhar Fixo faz com que o personagem do jogador olhe para a câmera enquanto configura a pose para a selfie, dentro de um intervalo realista de até onde seu pescoço pode girar.

Ocultar Outros

Por padrão, outros personagens são visíveis ao lado do personagem do jogador. Os jogadores podem obter uma captura perfeita clicando no botão Ocultar Outros. Quando ativado, outros personagens desaparecem da visão e permanecem invisíveis até que a ação seja desativada.

Filtro

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

Pose

A ação Pose permite que o jogador selecione uma pose predefinida nas opções Aplausos, Vibrando, Golfinho, Dançando, Guitarra, Onda de Salto, Mais Alto, Top Rock, Rodopiar e Onda.

Referência da API

Tipos

Ação

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

ChaveTipoDescrição
namestringNome da ação, exibido primeiro nas dicas de ferramenta.
descriptionstringDescrição da ação, exibida após name nas dicas de ferramenta.
iconstringID do ativo para o ícone da ação.
activeIconstringID do ativo para o ícone da ação no estado "ativo". Pode ser usado apenas em ações pai, não em sub-ações.
actionstableLista opcional de sub-ações. Isso permite que você crie submenus de várias outras ações.
parentAçãoA ação pai; isso se aplica apenas a uma sub-ação e aponta para a ação que a contém.
onActivatedfunctionFunção de callback opcional que é executada quando um jogador ativa uma ação ou sub-ação. Normalmente, se uma ação contém sub-ações, apenas as sub-ações precisarão de um callback definido como um meio de saber que o jogador ativou a sub-ação e não apenas "expandiu" a ação pai.
LocalScript

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

Enums

SelfieMode.Action

O SelfieMode vem com várias ações. Você pode usar esse enum com as funções activateAction, deactivateAction e toggleAction.

NomeResumo
DepthOfFieldReferência à ação Profundidade de Campo.
LockGazeReferência à ação Olhar Fixo.
HideOthersReferência à ação Ocultar Outros.
FilterReferência à ação Filtro.
PoseReferência à ação Pose.
LocalScript

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

Funções

configure

configure(config: table)

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

ChaveDescriçãoPadrão
disableCharacterMovementSe verdadeiro, impede que o personagem se mova enquanto o modo selfie estiver aberto.false
depthOfFieldEffectInstância opcional DepthOfFieldEffect personalizada que aparece quando o jogador ativa a ação Profundidade de Campo.
LocalScript - ConfigureSelfieMode

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

openSelfieMode

openSelfieMode()

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

LocalScript

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

closeSelfieMode

closeSelfieMode()

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

LocalScript

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

isSelfieModeOpen

isSelfieModeOpen(): boolean

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

LocalScript

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

setHudButtonEnabled

setHudButtonEnabled()

Define se o botão padrão para entrar no modo selfie está visível. Útil ao implementar openSelfieMode através de um botão de UI personalizado. Esta função só pode ser chamada de um LocalScript.

LocalScript

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

getAction

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

Obtém um tipo Ação através de um enum 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)

Ativa programaticamente uma das ações padrão. Isso é o mesmo que quando um jogador ativa a ação a partir da barra de ações. Só pode ser chamado de um LocalScript.

LocalScript

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

deactivateAction

deactivateAction(action: SelfieMode.Action)

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

LocalScript

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

toggleAction

toggleAction(action: SelfieMode.Action): boolean

Alterna uma ação para "ligado" se estiver "desligada", ou alterna para "desligado" se estiver "ligada". Isso é o mesmo que quando um jogador clica na ação a partir da barra de ações. Retorna o novo estado "está ativado" como um booleano. Só pode ser chamado de um 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("Ativado", lockGazeAction.name)
else
print("Desativado", lockGazeAction.name)
end

setTheme

setTheme(theme: table)

Configura o tema do modo selfie, incluindo tamanho do texto, fonte, cores de botões/dicas de ferramenta e mais. Esta função só pode ser chamada de um LocalScript.

ChaveDescriçãoPadrão
textSizeTamanho de todo o texto.16
fontFonte utilizada em toda a UI (Enum.Font).GothamMedium
paddingPreenchimento principal usado para dispor elementos da UI (UDim).(0, 12)
paddingSmallPreenchimento menor usado para aplicar margens sutis entre elementos (UDim).(0, 6)
paddingScreenPreenchimento usado ao redor das bordas da tela para dar ao modo selfie um pouco de espaço (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 nos elementos ScrollingFrame do 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)

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

LocalScript

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

Eventos

selfieModeOpened

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

LocalScript

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

selfieModeClosed

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

LocalScript

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

actionActivated

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

Dispara quando uma ação é ativada; isso pode ser uma das ações principais, como Profundidade de Campo, Olhar Fixo ou Ocultar Outros; alternativamente, pode ser uma sub-ação como um filtro ou pose. A função conectada recebe a Ação ativada. Este evento só pode ser conectado em um LocalScript.

LocalScript

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

actionDeactivated

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

Dispara quando uma ação principal ou sub-ação é desativada. A função conectada recebe a Ação desativada. Este evento só pode ser conectado em um LocalScript.

LocalScript

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

filterChanged

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

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

LocalScript

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

poseChanged

Parâmetros
newPose: stringA nova pose.
oldPose: stringA pose anterior.

Dispara quando uma pose é aplicada ou removida. A função conectada recebe o nome da nova pose e o nome da pose antiga. Este evento só pode ser conectado em um LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("Pose alterada de", oldPose, "para", newPose)
end)
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.