Modalità selfie

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

I giocatori già scattano screenshot per commemorare momenti divertenti nelle esperienze.Il modulo sviluppatore di SelfieMode letta i giocatori catturare una memoria più pulita di quel momento senza la finestra di chat o la lista dei giocatori, mentre supporta anche gli effetti filtro, nascondimento di altri personaggi e posing.

Uso del modulo

Installazione

Per utilizzare il modulo Modalità Selfie in un'esperienza:

  1. Dalla scheda Visualizza, apri la Toolbox e seleziona la scheda Creator Store .

    Toolbox toggle button in Studio
  2. Assicurati che la classificazione Modelli sia selezionata, quindi fai clic sul pulsante Vedi tutti per Categorie .

  3. Individua e fai clic sul riquadro Moduli di sviluppo .

  4. Individua il modulo Modalità selfie e cliccalo, oppure trascinalo nella vista 3D.

  5. Nella finestra Explorer, sposta l'intero modello SelfieMode nel ServerScriptService .Dopo l'esecuzione dell'esperienza, il modulo si distribuirà a vari servizi e inizierà a funzionare.

Configurazione

Il modulo è preconfigurato per funzionare per la maggior parte dei casi d'uso, ma puoi facilmente personalizzarlo attraverso la funzione configura.

  1. In StarterPlayerScripts , crea una nuova LocalScript e rinominala in ConfiguraSelfieMode .

  2. Incolla il seguente codice nel nuovo script.

    Script locale - Configura il modo Selfie

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

Movimento del personaggio

Potrebbe essere vantaggioso impedire al personaggio del Giocatoredi muoversi mentre è in modalità selfie.Puoi ottenerlo impostando disableCharacterMovement a vero in una chiamata configurare.

Script locale - Configura il modo Selfie

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

Azioni della modalità selfie

Modalità selfie viene fornita con le seguenti azioni, ognuna delle quali puoi utilizzare con la funzione activateAction, deactivateAction e toggleAction , o rilevare attraverso gli eventi actionActivated e actionDeactivated.

Profondità di campo

Per impostazione predefinita, SelfieMode mostra un effetto generico di profondità di campo (sfocatura sottile del background) quando un giocatore attiva l'azione.

Per cambiare l'effetto di profondità di campo predefinito, imposta depthOfFieldEffect a tua propria istanza DepthOfFieldEffect in una chiamata configurare.

Script locale - Configura il modo 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
})

Blocca lo sguardo

L'interruttore Blocca lo sguardo fa in modo che il personaggio del Giocatoreguardi la fotocamera mentre imposta la posa selfie, all'interno di un intervallo realistico di quanto lontano il collo può ruotare.

Nascondi gli altri

Per impostazione predefinita, gli altri personaggi sono visibili accanto al personaggio del Giocatore.I giocatori possono ottenere un colpo solista perfetto facendo clic sul pulsante Nascondi gli altri .Quando è attivato, gli altri personaggi scompaiono dalla vista e rimangono invisibili fino a quando l'azione Offviene disattivata.

Filtro

L'azione Filtro consente al giocatore di applicare un filtro preimpostato dalle opzioni Pop , Soft , Antico , Carino , Drammatico e Monocromatico .

Posa

L'azione Posa fa in modo che il giocatore selezioni una posa preimpostata dalle opzioni Cheer, Clapping, Dolphin, Flossing, Guitar, Jump Wave, Louder, Top Rock, Twirl, e Wave.

Riferimento API

Tipi

Azione

Ogni azione è rappresentata da un dizionario con i seguenti paari chiave-valore:

ChiaveTipoDescrizione
namestringaNome dell'azione, mostrato per primo nei tooltip.
descriptionstringaDescrizione dell'azione, mostrata dopo nome in tooltips.
iconstringaID risorsa per l'Iconadell'azione.
activeIconstringaID risorsa per l'icona dell'azione in stato "attivo". Può essere utilizzato solo su azioni genitrici, non su azioni secondarie.
actionstavolaLista opzionale di azioni secondarie. Ciò ti consente di creare sottomenù di varie altre azioni.
parentAzioneIl genitore dell'azione; questo si applica solo a una sottazione e punta all'azione che la contiene.
onActivatedfunzioneFunzione di richiamo opzionale che viene eseguita quando un giocatore attiva un'azione o una sottazione.Tipicamente, se un'azione contiene azioni secondarie, solo le azioni secondarie avranno bisogno di un callback definito come un modo per sapere che il giocatore ha attivato la sub-azione e non ha semplicemente "espanso" l'azione principale.
Script locale

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)

Enumi

SelfieMode.Azione

Modalità selfie viene fornita con diverse azioni.Puoi utilizzare questo elenco con le funzioni activateAction, deactivateAction e toggleAction.

NomeSommariamente
DepthOfFieldRiferimento all'azione Profondità di campo.
LockGazeRiferimento all'azione Blocca lo sguardo.
HideOthersRiferimento all'azione Nascondi altri.
FilterRiferimento all'azione Filtro.
PoseRiferimento all'azione Pose .
Script locale

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Attiva l'azione "Filtro"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Functioni

configurare

configurare(config: table )

Sovrascrive le opzioni di configurazione predefinite attraverso le seguenti chiavi/valori nella tabella config.Questa funzione può essere chiamata solo da un LocalScript .

ChiaveDescrizioneBasilare
disableCharacterMovementSe vero, impedisce al personaggio di muoversi mentre è aperto il modo selfie.fallito
depthOfFieldEffectOpzionale personalizzato DepthOfFieldEffect istanza che appare quando il giocatore attiva l'azione Profondità di campo.
Script locale - Configura il modo Selfie

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

apriModalità Selfie

openSelfieMode()

Un giocatore aprirà tipicamente la modalità selfie con il pulsante "Telecamera" sul lato destro dello schermo, ma questa funzione ti consente di aprirlo attraverso il codice.Quando implementi un pulsante personalizzato come mostrato qui sotto, devi disabilitare il pulsante predefinito attraverso setHudButtonEnabled.Questa funzione può essere chiamata solo da un LocalScript .

Script locale

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Rimuovi il pulsante predefinito
SelfieMode.setHudButtonEnabled(false)
-- Connetti il pulsante personalizzato
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

chiudiModalità Selfie

chiudiSelfieMode()

Un giocatore chiuderà tipicamente la modalità selfie con il pulsante in basso sullo schermo, ma questa funzione ti consente di chiuderla attraverso il codice.Può essere chiamato solo da un LocalScript .

Script locale

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

èSelfieModeOpen

isSelfieModeOpen(): boolean

Restituisce true se la modalità selfie è aperta come risultato dell'azione del giocatore o attraverso openSelfieMode.Questa funzione può essere chiamata solo da un LocalScript .

Script locale

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

setHudButtonEnabled

setHudButtonEnabled()

Imposta se il pulsante predefinito per entrare in modalità selfie viene visualizzato.Utile quando si implementa openSelfieMode attraverso un pulsante UI personalizzato.Questa funzione può essere chiamata solo da un LocalScript .

Script locale

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Rimuovi il pulsante predefinito
SelfieMode.setHudButtonEnabled(false)
-- Connetti il pulsante personalizzato
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

ottenereAction

getAction(azione: SelfieMode.Action ): Azione

Ottiene un tipo Azione attraverso un SelfieMode.Action enum.

Script locale

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

attivaAction

activateAction(azione: SelfieMode.Action )

Attiva programmaticamente una delle azioni predefinite azioni.Questo è lo stesso quando un giocatore attiva l'azione dalla barra di azione.Può essere chiamato solo da un LocalScript .

Script locale

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Attiva l'azione "Filtro"
SelfieMode.activateAction(SelfieMode.Action.Filter)

disattiva azione

deactivateAction(azione: SelfieMode.Action )

Disattiva programmaticamente una delle azioni predefinite .Questo è lo stesso quando un giocatore attiva l'azione dalla barra di azione.Può essere chiamato solo da un LocalScript .

Script locale

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Disattiva l'azione "Filtro"
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

attivaAzione

toggleAction(azione: SelfieMode.Action ): boolean

Attiva/disattiva un'azione su se è Off, o la disattiva se è attiva.Questo è lo stesso quando un giocatore clicca l'azione dalla barra delle azioni.Restituisce lo stato "è attivato" nuovo come booleano.Può essere chiamato solo da un LocalScript .

Script locale

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

Configura il tema della modalità selfie, inclusa la dimensione del testo, il carattere, il colore dei pulsanti/ suggerimenti e altro ancora. Questa funzione può essere chiamata solo da un LocalScript .

ChiaveDescrizioneBasilare
textSizeDimensione di tutto il testo.16
fontFont utilizzato in tutta l'interfaccia utente ( Enum.Font ).GothamMedium
paddingSpazio principale utilizzato per disporre gli elementi dell'interfaccia utente ( UDim ).(0, 12)
paddingSmallSpaziatura più piccola utilizzata per applicare margini sottili tra gli elementi ( UDim ).(0, 6)
paddingScreenSpazio di imbottitura utilizzato attorno ai bordi dello schermo per dare al modo selfie un po' di spazio di respirazione ( UDim ).(0, 24)
backgroundColorColore di sfondo utilizzato per la barra che visualizza le azioni ( Color3 ).[0, 0, 0]
scrollBarColorColore della barra di scorrimento utilizzata negli elementi ScrollingFrame del modulo ( Color3 ).[255, 255, 255]
Script locale

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

abilitato setEnabled

setEnabled(isEnabled: boolean )

Imposta se la modalità selfie è abilitata o meno.Quando è disabilitato, tutta l'interfaccia utente per il modulo viene rimossa e tutti gli eventi vengono disconnessi.Questa funzione può essere chiamata solo da un LocalScript .

Script locale

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

Eventi

selfieModeAperto

Si attiva quando il giocatore apre la modalità selfie o quando viene chiamata openSelfieMode. Questo evento può essere connesso solo in un LocalScript .

Script locale

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

selfieModeChiuso

Si accende quando il giocatore chiude la modalità selfie o quando viene chiamata closeSelfieMode. Questo evento può essere connesso solo in un LocalScript.

Script locale

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

azioneAttivata

Parametri
azione: SelfieMode.ActionL'azione attivata Azione.

Si attiva quando un'azione viene attivata; può essere una delle azioni principali come Profondità di campo , Blocca lo sguardo o Nascondi gli altri ; in alternativa può essere una sottazione come un filtro o posa .La funzione connessa riceve l'azione attivata Action.Questo evento può essere connesso solo in un LocalScript .

Script locale

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

azioneDisattivata

Parametri
azione: SelfieMode.ActionL'azione disattivata Azione.

Si attiva quando un'azione primaria o secondaria viene disattivata.La funzione connessa riceve l'azione disattivata Azione.Questo evento può essere connesso solo in un LocalScript .

Script locale

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

filtro cambiato

Parametri
nuovoFilter: stringIl nuovo Filtro.
vecchioFilter: stringIl Filtroprecedente.

Si accende quando viene applicato o rimosso un filtro filtro.La funzione connessa riceve il nuovo nome del filtro e il vecchio nome del filtro.Questo evento può essere connesso solo in un LocalScript .

Script locale

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)

postura cambiata

Parametri
newPose: stringLa nuova posa.
oldPose: stringLa posa precedente.

Si accende quando una posa viene applicata o rimossa.La funzione connessa riceve il nuovo nome di posa e il vecchio nome di posa.Questo evento può essere connesso solo in un LocalScript .

Script locale

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)