I giocatori scattano già screenshot per commemorare i momenti divertenti delle loro esperienze. Il modulo SelfieMode dello sviluppatore consente ai giocatori di acquisire una memoria più pulita di quel momento senza la finestra di chat o l'elenco dei giocatori, supportando anche gli effetti del filtro, nascondendo altri personaggi, e posa.
Utilizzo del modulo
Installazione
Per utilizzare la ModalitàSelfie in un'esperienza:
Dalla scheda Visualizza, aprire il Pannello degli strumenti e selezionare la scheda Marketplace.
Assicurarsi che la selezione dei modelli sia selezionata, quindi fare clic sul pulsante Vedi tutto per le Categorie.
Individuare e fare clic sulla piastrella DEV MODULES.
Individuare il modulo Modalità Selfie e fare clic su di esso, oppure trascinarlo e rilasciarlo nella visualizzazione 3D.
Nella finestra Explorer, spostare l'intero modello ModalitàSelfie in ServerScriptService. Dopo aver avviato l'esperienza, il modulo si distribuirà a vari servizi e inizierà a funzionare.
Configurazione
Il modulo è preconfigurato per funzionare nella maggior parte dei casi di utilizzo, ma puoi personalizzarlo facilmente attraverso la funzione di configurazione.
In StarterPlayerScripts, crea un nuovo LocalScript e rinominalo in ConfigureSelfieMode.
Incolla il seguente codice nel nuovo script.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.configure({disableCharacterMovement = true})
Movimento del personaggio
Potrebbe essere vantaggioso evitare che il personaggio del giocatore si muova quando la modalità selfie è attiva. Puoi raggiungere questo obiettivo impostando disableCharacterMovement su vero in una chiamata di configurazione.
LocalScript - ConfigureSelfieMode
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.configure({disableCharacterMovement = true})
Azioni modalità selfie
La ModalitàSelfie viene fornita con le seguenti azioni, ciascuna che puoi utilizzare con le funzioni activateAction, deactivateAction e toggleAction o rilevare attraverso gli eventi actionActivated e actionDeactivated.
Profondità di campo
Per impostazione predefinita, quando il giocatore attiva l'azione, la ModalitàSelfie mostra un effetto di profondità di campo generico (sottile sfocatura dello sfondo).
Per modificare la profondità predefinita dell'effetto di campo, imposta depthOfFieldEffect nella tua DepthOfFieldEffectrichiesta in una chiamata di configurazione.
LocalScript - ConfigureSelfieMode
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})
Bloccare lo sguardo
La funzione di Blocco dello sguardo fa sì che il personaggio del giocatore guardi la fotocamera mentre si mette in posa per un selfie, con una rotazione realistica del collo.
Nascondi gli altri
Per impostazione predefinita, gli altri personaggi sono visibili simultaneamente rispetto al personaggio del giocatore. I giocatori possono ottenere un solo scatto perfetto facendo clic sul pulsante Nascondi gli altri. Quando attivato, gli altri personaggi scompaiono dalla visualizzazione e rimangono invisibili fino alla disattivazione dell'azione.
Filtro
L'azione Filtro consente al giocatore di applicare un filtro preimpostato dalle opzioni Pop, Soave, Antico, Carino, Drammatico e Monocromatico.
Posa
L'azione di Posa consente al giocatore di selezionare una posa preimpostata tra le opzioni Esulta, Applaudi, Delfino, Filo interdentale, Chitarra, Ola, Rumore, Top Rock, Vortice e Onda.
Riferimento API
Tipi
Azione
Ciascuna azione è rappresentata da un dizionario con le seguenti coppie di valore chiave:
Chiave | Tipo | Descrizione |
---|---|---|
nome | stringa | Nome dell'azione, visualizzato per primo tra i suggerimenti. |
description | stringa | Descrizione dell'azione, indicata dopo nome tra i suggerimenti. |
icona | stringa | ID risorsa per l'icona dell'azione. |
activeIcon | stringa | ID risorsa per l'icona dell'azione in stato "attivo". Utilizzabile solo per le azioni "madre", non per le sotto-azioni. |
azioni | tabella | Elenco facoltativo di sotto-azioni. Ti consente di creare sottomenù di varie altre azioni. |
parent | Azione | "Madre" dell'azione; applicabile solo a una sotto-azione e ai punti di azione in essa contenuti. |
onActivated | funzione | Funzione di richiamo facoltativa che si esegue quando un giocatore attiva un'azione o una sotto-azione. In genere, se un'azione contiene delle sotto-azioni, solo le sotto-azioni avranno bisogno di un richiamo definito come mezzo per sapere che il giocatore ha attivato la sotto-azione e non ha semplicemente "espanso" l'azione madre. |
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)
Enums
Azione.ModalitàSelfie
La ModalitàSelfie viene fornita con diverse azioni. Puoi utilizzare questo enum con le funzioni deactivateAction, activateAction e toggleAction.
Nome | Sommario |
---|---|
DepthOfField | Riferimento all'](#depth-of-field)azione della [Profondità di Campo. |
LockGaze` | Riferimento all'](#lock-gaze)azione di [Blocco dello sguardo. |
NascondiAltri | Riferimento all'](#hide-others)azione [Nascondi gli altri. |
Filter | Riferimento all'](#filter)azione [Filtro. |
Posa | Riferimento all'](#pose)azione [Posa. |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))-- Activate "Filter" actionSelfieMode.activateAction(SelfieMode.Action.Filter)
Funzioni
Configurare
configure(config:table)
Sovrascrive la configurazione predefinita attraverso le seguenti chiavi/valori nella configtabella. Questa funzione può essere chiamata solo da un LocalScript.
Chiave | Descrizione | Predefinito |
---|---|---|
disableCharacterMovement | Se vero, impedisce al personaggio di muoversi quando la modalità selfie è aperta. | falso |
depthOfFieldEffect | Richiesta DepthOfFieldEffectpersonalizzata facoltativa che appare quando il giocatore attiva l'](#depth-of-field)azione [Profondità di Campo. |
LocalScript - ConfigureSelfieMode
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.configure({disableCharacterMovement = true})
apriModalitàSelfie
apriModalitàSelfie()
Il giocatore in genere aprirà la modalità selfie con il pulsante della fotocamera, posizionato sul lato destro dello schermo, ma questa funzione consente di aprirlo tramite codice. Quando si implementa un pulsante personalizzato, come mostrato di seguito, si disattivare il pulsante predefinito tramite setHudButtonEnabled. Questa funzione può essere chiamata solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Remove the default button
SelfieMode.setHudButtonEnabled(false)
-- Connect the custom button
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
chiudiModalitàSelfie
chiudiModalitàSelfie()
In genere, il giocatore chiuderà la modalità selfie con il pulsante &CircleTimes, posizionato nella parte inferiore dello schermo, ma questa funzione consente di disattivarla tramite codice. Può essere chiamato solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.closeSelfieMode()
isSelfieModeOpen
isSelfieModeOpen():booleano
Restituisce true se la modalità selfie è aperta come conseguenza di un'azione di gioco o tramite openSelfieMode. Questa funzione può essere chiamata solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.openSelfieMode()print(SelfieMode.isSelfieModeOpen())
setHudButton Abilitato
setHudButtonEnabled()
Imposta se il pulsante predefinito per entrare in modalità selfie sia visibile o meno. Utile quando si implementa openSelfieMode tramite un pulsante UI personalizzato. Questa funzione può essere chiamata solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Remove the default button
SelfieMode.setHudButtonEnabled(false)
-- Connect the custom button
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
getAction
getAction(azione:SelfieMode.Action):Azione
Consente di ottenere un tipo di Azione attraverso un enum SelfieMode.Action.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)
activateAction
activateAction(azione:SelfieMode.Action)
Attiva programmaticamente una delle azioni predefinite. Avviene la stessa cosa quando un giocatore attiva l'azione dalla barra delle azioni. Può essere chiamato solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))-- Activate "Filter" actionSelfieMode.activateAction(SelfieMode.Action.Filter)
disattivareAzione
deactivateAction(azione:SelfieMode.Action)
Disattiva programmaticamente una delle azioni predefinite. Avviene la stessa cosa quando il giocatore disattiva l'azione dalla barra delle azioni. Può essere chiamato solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))-- Deactivate "Filter" actionSelfieMode.deactivateAction(SelfieMode.Action.Filter)
toggleAzione
toggleAction(azione:SelfieMode.Action):booleano
Imposta un'azione su on se è disattivata, oppure la disattiva se è impostata su on. Avviene la stessa cosa quando il giocatore fa clic sull'azione dalla barra delle azioni. Restituisce il nuovo stato "impostato" come booleano. Può essere chiamato solo da un 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(tema:table)
Configura il tema della modalità selfie, tra cui la dimensione del testo, il font, i colori dei tasti/tooltip e molto altro ancora. Questa funzione può essere chiamata solo da un LocalScript.
Generale
Chiave | Descrizione | Predefinito |
---|---|---|
textSize | Dimensione di tutto il testo. | 16 |
carattere | Font utilizzato in tutta la UI (Enum.Font). | GothamMedium |
padding | Imbottitura principale utilizzato per gli elementi UI visualizzabili (UDim). | (0, 12) |
paddingSmall | Imbottitura minore, utilizzata per applicare dei sottili margini tra gli UDimelementi. | (0, 6) |
paddingScreen | Imbottitura utilizzata intorno ai bordi dello schermo per dare alla modalità selfie un migliore aspetto (UDim). | (0, 24) |
backgroundColor | Colore dello sfondo utilizzato per la barra che consente di visualizzare le azioni (Color3). | [0, 0, 0] |
scrollBarColor | Colore della barra di scorrimento utilizzata negli ScrollingFrameelementi del modulo (Color3). | [255, 255, 255] |
Pulsanti e suggerimenti
Chiave | Descrizione | Predefinito |
---|---|---|
openButtonBackgroundColor | Colore dello sfondo del pulsante HUD posizionato sul lato destro dello schermo, utilizzato per aprire la modalità selfie (Color3). | [255, 255, 255] |
openButtonIconColor | Colore dell'icona del pulsante HUD dell'Color3icona della fotocamera. | [0, 0, 0] |
closeButtonBackgroundColor | Colore dello sfondo del pulsante di chiusura (Color3). | [0, 0, 0] |
closeButtonIconColor | Colore dell'icona del pulsante "chiudi" (Color3). | [255, 255, 255] |
actionButtonBackgroundColor | Colore dello sfondo dei vari pulsanti di azione utilizzati per l'impostazione delle azioni (Color3). | [255, 255, 255] |
actionButtonIconColor | Colore dell'icona per i vari pulsanti dell'azione (Color3). | [0, 0, 0] |
tooltipBackgroundColor | Colore dello sfondo per suggerimenti e notifiche (Color3). | [0, 0, 0] |
tooltipNameColor | Colore del testo dei nomi dei suggerimenti (Color3). In uso anche come colore del testo per le notifiche. | [255, 255, 255] |
tooltipDescriptionColor | Colore delle descrizioni dei suggerimenti, leggermente sbiadito per mettere maggiormente in evidenza i nomi dei suggerimenti (Color3). Non utilizzato per le notifiche. | [169, 169, 169] |
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),})
setEnabled
setEnabled(isEnabled:booleano)
Imposta se la modalità selfie sia attiva o meno. Se disattivata, l'intera UI del modulo viene rimossa e tutti gli eventi sono disconnessi. Questa funzione può essere chiamata solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.setEnabled(false)
Eventi
selfieModeAperto
selfieModeAperto():RBXScriptSignal
Si accende quando il giocatore apre la modalità selfie o quando si richiama openSelfieMode. Questo evento può essere collegato solo in un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.selfieModeOpened:Connect(function()
print("Selfie mode open")
end)
selfieModeChiuso
selfieModeClosed():RBXScriptSignal
Si accende quando il giocatore chiude la modalità selfie o quando si richiama closeSelfieMode. Questo evento può essere collegato solo in un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.selfieModeClosed:Connect(function()
print("Selfie mode closed")
end)
azioneAttivato
actionActivated(azione:SelfieMode.Action):RBXScriptSignal
Si accende quando l'azione è attivata; può trattarsi di una delle azioni principali, come ad esempio Profondità del Campo, Blocco dello sguardo o Nascondi gli altri; in alternativa può essere una sotto-azione come un filtro o una posa. La funzione collegata riceve l'Azione attivata. Questo evento può essere collegato solo in un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activated")
end)
azioneDeactivated
actionDeactivated(azione:SelfieMode.Action):RBXScriptSignal
Si accende quando un'azione primaria o una sotto-azione vengono disattivate. La funzione collegata riceve l'Azione disattivata. Questo evento può essere collegato solo in un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "deactivated")
end)
filtroCambiato
filterChanged(nuovoFilter:string, oldFilter:string):RBXScriptSignal
Si accende quando un filtro viene applicato o rimosso. La funzione collegata riceve il nuovo nome di filtro e il vecchio nome di filtro. Questo evento può essere collegato solo in un 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)
posaCambiata
posaCambiata(nuovaPosa:string, oldPose:string):RBXScriptSignal
Si accende quando una posa viene applicata o rimossa. La funzione collegata riceve il nuovo nome della posa e il vecchio nome della posa. Questo evento può essere collegato solo in un 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)