Modalità Selfie

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

I giocatori già prendono screenshot per commemorare momenti divertenti negli esperienze. Il Modalità selfie modulo sviluppatore consente ai giocatori di catturare una memoria più pulita di quel momento senza la finestra di chat o la lista dei giocatori, mentre supporta anche effetti di filtro, nascita di altri personaggi e posing.

Uso del modulo

Installazione

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

  1. Dalla Visualizza scheda, 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 tutto per Categorie.

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

  4. Individua il modulo Modalità Selfie e fai clic su di esso, oppure trascinalo nella vista 3D.

  5. Nella finestra Explorer, sposta l'intero modello SelfieMode in ServerScriptService . Al termine dell'esperienza, il modulo si distribuirà su varie servizi e inizierà a funzionare.

Configurazione

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

  1. In StarterPlayerScripts , crea un nuovo LocalScript e rinominalo in ConfiguraModalità Selfie .

  2. Incolla il seguente codice nello script nuovo.

    Script locale - Configura modalità selfie

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

Movimento del personaggio

Potrebbe essere vantaggioso prevenire il personaggio del Giocatoredal muoversi mentre in modalità selfie. Puoi ottenerlo impostando disableCharacterMovement su vero in una chiamata Configura.

Script locale - Configura modalità selfie

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

Azioni della modalità selfie

SelfieMode viene fornito con le seguenti azioni , ognuna delle quali puoi utilizzare con il attiva azione , 0> disattiva azione 0> e 3> attiva/disattiva azione3> funzioni, o rileva attraverso il 6> azioneAttivata6> e 9> azioneDisattivata 9> eventi.

Profondità di campo

Per impostazione predefinita, SelfieMode mostra un effetto generico depth-of-field ( sfocatura subtile del background) quando un giocatore attiva l'azione.

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

Script locale - Configura modalità 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

Il Lock Gaze toggle fa in modo che il personaggio del Giocatoreguardi alla fotocamera mentre si imposta la posa selfie, in un'ampia gamma di quanto il loro 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 da solo perfetto facendo clic sul pulsante Nascere altri . Quando è attivato, gli altri personaggi vengono visualizzati e rimangono invisibili fino a quando l'azione non viene attivata.

Filtro

L'azione Filtro consente al giocatore di applicare un filtro preimpostato dalle opzioni Pop, Soft, 2> Antique 2>, 5> Cute 5>, 8> Dramatic 8> e 9> Monochrome9>.

Posa

L'azione Pose consente al giocatore di selezionare una posa preimpostata dalle opzioni Cheer, Clapping, 2> Dolphin2>, 5> Flossing5>, 8> Guitar8>,

Riferimento API

Tipi

Azione

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

ChiaveTipoDescrizione
namestringaNome dell'azione, mostrato prima negli strumenti di riferimento.
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 di livello genitore, non su azioni di livello sottostante.
actionstabellaLista opzionale di sottounità. Questo ti consente di creare sottouniti di varie altre azioni.
parentAzioneIl padre dell'azione; questo si applica solo a una sottazione e punta all'azione che contiene.
onActivatedfunzioneFunzione richiamata opzionale che viene eseguita quando un giocatore attiva un'azione o una sottazione. Di solito, se un'azione contiene sottazioni, solo le sottazioni avranno bisogno di un richiamato definito come mezzo per sapere che il giocatore ha attivato la sottazione e non semplicemente "espandere" la azione padre.
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)

Enums

SelfieMode.Action

SelfieMode viene fornito con diversi azioni . Puoi utilizzare questo elenco con le funzioni attiva azione , 0> disattiva azione 0> e 3> attiva/disattiva azione 3>.

NomePanoramica
DepthOfFieldRiferimento all'azione Depth of Field.
LockGazeRiferimento all'azione Lock Gaze.
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)

Funzioni

configurare

Configurare(config: Library.table)

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

ChiaveDescrizionePredefinito
disableCharacterMovementSe vero, impedisce al personaggio di muoversi mentre la modalità selfie è aperta.falso
depthOfFieldEffectOpzione di personalizzazione DepthOfFieldEffect che appare quando il giocatore attiva l'azione Profondità di campo .
Script locale - Configura modalità selfie

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

Apri Selfie Mode

openSelfieMode()

Un giocatore di solito apre la modalità selfie con il pulsante "Telecamera" sulla parte destra dello schermo, ma questa funzione ti consente di aprirlo attraverso il codice. Quando si implementa un pulsante personalizzato come mostrato di seguito, si dovrebbe 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)

chiudi SelfieMode

chiudiSelfieMode()

Un giocatore chiuderà tipicamente la modalità selfie con il pulsante in basso dello schermo, ma questa funzione ti consente di chiuderlo 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

èSelfieModeOpen() boolean

Restituisce true se la modalità selfie è aperta come risultato dell'azione del giocatore o attraverso aprireModalità Selfie . 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())

setHudButtonAbilitato

setHudButtonEnabled()

Imposta se il pulsante predefinito per entrare in modalità selfie viene mostrato. 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)

ottenere azione

getAction(azione: SelfieMode.Action): Azione

Ottiene un tipo di azione attraverso un SelfieMode.Action elenco.

Script locale

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

attivare azione

attivareAction(azione: SelfieMode.Action )

Attiva in modo programmatico una delle azioni predefinite azioni . Questo è lo stesso quando un giocatore attiva l'azione dalla barra delle azioni. 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)

deactivate azione

deactivateAction(azione: SelfieMode.Action )

Programmaticamente disattiva una delle azioni predefinite azioni . Questo è lo stesso quando un giocatore attiva l'azione off dalla barra delle azioni. 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)

Attiva/Disattiva Azione

toggleAction(azione: SelfieMode.Action): boolean

Attiva/disattiva un'azione sull'azione se è Off, o attiva/disattiva se è on. Questo è lo stesso quando un giocatore fa clic sull'azione dalla barra delle azioni. Ritorna lo stato nuovo "isAttivato" come un booleto. Può essere chiamato solo da un Class.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

setTema

setTheme(theme: Library.table )

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

ChiaveDescrizionePredefinito
textSizeDimensione di tutto il testo.16
fontFont utilizzato in tutta l'interfaccia utente ( Enum.Font ).GothamMedium
paddingImpostazione principale utilizzata per la distribuzione degli elementi UI ( UDim ).(0, 12)
paddingSmallSottopagina più piccola utilizzata per applicare margherite sottili tra gli elementi ( UDim ).(0, 6)
paddingScreenPolsino utilizzato intorno agli angoli dello schermo per dare al selfie modo qualche respiro ( UDim ).(0, 24)
backgroundColorColore di sfondo utilizzato per la barra che mostra le azioni ( Color3 ).[0, 0, 0]
scrollBarColorColore della barra di avvolgimento 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),
})

setAbilitato

setEnabled(isEnabled: boolean )

Imposta se lo stato di selfie è abilitato o no. Quando è disabilitato, tutte le UI per il modulo vengono rimosse 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

Modalità selfie aperta

Si attiva quando il giocatore apre la modalità selfie o quando viene chiamato apri selfie mode. 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)

Modalità selfie chiusa

Si attiva quando il giocatore chiude la modalità selfie o quando viene chiamato chiudi selfie mode. 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.ActionIl Azione attivato.

Si attiva quando viene attivata un'azione; questo può essere una delle azioni principali come profondità di campo , blocco lo sguardo o nascondere gli altri ; in alternativa può essere una sottazione come un 1> filtro1> o 4> posa4> . L'evento

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.ActionLa disattivata Azione .

Si attiva quando un'azione principale o una sottazione è disattivata. La funzione connessa riceve la funzione 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 attiva quando viene applicato o rimosso un 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)

poseCambiato

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

Si attiva quando viene applicata o rimossa una posa. La funzione connessa riceve il nuovo nome della posa e il vecchio nome della 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)