Spieler machen bereits Screenshots, um lustige Momente in Erlebnissen festzuhalten. Das SelfieMode Entwicklermodul ermöglicht es Spielern, ein saubereres Erinnerungsfoto von diesem Moment festzuhalten, ohne das Chatfenster oder die Spielerliste, und unterstützt auch Filtereffekte, das Verstecken anderer Charaktere und Posen.
Modulbenutzung
Installation
Um das SelfieMode-Modul in einem Erlebnis zu verwenden:
Öffnen Sie über das Menü Fenster von Studio oder die Werkzeugleiste im Tab Startseite die Toolbox und wählen Sie den Tab Creator Store.

Stellen Sie sicher, dass die Sortierung Modelle ausgewählt ist, und klicken Sie dann auf die Schaltfläche Alle anzeigen für Kategorien.

Suchen und klicken Sie auf die Kachel Pakete.
Suchen Sie das Selfie-Modus-Modul und klicken Sie darauf oder ziehen Sie es in die 3D-Ansicht.

Verschieben Sie im Explorer-Fenster das gesamte SelfieMode-Paket in ReplicatedStorage. Nach dem Start des Erlebnisses beginnt das Modul zu laufen.
Konfiguration
Das Modul ist vorkonfiguriert, um für die meisten Anwendungsfälle zu funktionieren, aber Sie können es leicht über die configure-Funktion anpassen.
Erstellen Sie in StarterPlayerScripts ein neues LocalScript und benennen Sie es in ConfigureSelfieMode um.
Fügen Sie den folgenden Code in das neue Skript ein.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
Charakterbewegung
Es kann vorteilhaft sein, die Bewegung des Charakters zu verhindern, während sich der Spieler im Selfie-Modus befindet. Sie können dies erreichen, indem Sie disableCharacterMovement auf true in einem configure-Aufruf setzen.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
Aktionen im Selfie-Modus
Das SelfieMode-Modul verfügt über die folgenden Aktionen, die Sie jeweils mit den Funktionen activateAction, deactivateAction und toggleAction verwenden oder durch die Ereignisse actionActivated und actionDeactivated erkennen können.
Tiefenschärfe
Standardmäßig zeigt das SelfieMode einen generischen Tiefenschärfe-Effekt (subtile Unschärfe des Hintergrunds), wenn ein Spieler die Aktion umschaltet.

Um den Standard-Tiefenschärfe-Effekt zu ändern, setzen Sie depthOfFieldEffect auf Ihre eigene DepthOfFieldEffect-Instanz in einem configure-Aufruf.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)local customDepthOfField = Instance.new("DepthOfFieldEffect")customDepthOfField.NearIntensity = 0customDepthOfField.FarIntensity = 1customDepthOfField.FocusDistance = 5customDepthOfField.InFocusRadius = 5SelfieMode.configure({depthOfFieldEffect = customDepthOfField})
Blick fixieren
Der Toggle Blick fixieren bewirkt, dass der Charakter des Spielers auf die Kamera schaut, während die Selfie-Pose eingerichtet wird, innerhalb eines realistischen Bereichs, wie weit sich sein Nacken drehen kann.
Andere ausblenden
Standardmäßig sind andere Charaktere neben dem Charakter des Spielers sichtbar. Spieler können ein perfektes Solo-Foto erhalten, indem sie auf die Schaltfläche Andere Ausblenden klicken. Wenn sie aktiviert ist, verblassen andere Charaktere und bleiben unsichtbar, bis die Aktion deaktiviert wird.
Filter
Die Filter-Aktion ermöglicht es dem Spieler, einen vordefinierten Filter aus den Optionen Pop, Sanft, Antik, Niedlich, Dramatisch und Monochrom anzuwenden.

Pose
Die Pose-Aktion ermöglicht es dem Spieler, eine vordefinierte Pose aus den Optionen Jubeln, Klatschen, Delfin, Floss, Gitarre, Sprung Welle, Lauter, Top Rock, Drehen und Welle auszuwählen.

API-Referenz
Typen
Aktion
Jede Aktion wird durch ein Wörterbuch mit den folgenden Schlüssel-Wert-Paaren dargestellt:
| Schlüssel | Typ | Beschreibung |
|---|---|---|
| name | string | Name der Aktion, die zuerst in Tooltips angezeigt wird. |
| description | string | Beschreibung der Aktion, die nach name in Tooltips angezeigt wird. |
| icon | string | Asset-ID für das Symbol der Aktion. |
| activeIcon | string | Asset-ID für das Symbol der Aktion im "aktiven" Zustand. Kann nur für übergeordnete Aktionen verwendet werden, nicht für Unteraktionen. |
| actions | table | Optionale Liste von Unteraktionen. Dies ermöglicht die Erstellung von Untermenüs anderer Aktionen. |
| parent | Action | Die übergeordnete Aktion; dies gilt nur für eine Unteraktion und verweist auf die Aktion, die sie enthält. |
| onActivated | function | Optinaler Callback, der ausgeführt wird, wenn ein Spieler eine Aktion oder Unteraktion aktiviert. In der Regel, wenn eine Aktion Unteraktionen enthält, benötigen nur die Unteraktionen einen definierten Callback, um zu wissen, dass der Spieler die Unteraktion aktiviert hat und nicht einfach die übergeordnete Aktion "erweitert" hat. |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "aktiviert")
end)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "deaktiviert")
end)
Enums
SelfieMode.Action
Das SelfieMode-Modul verfügt über mehrere Aktionen. Sie können dieses Enum mit den Funktionen activateAction, deactivateAction und toggleAction verwenden.
| Name | Zusammenfassung |
|---|---|
| DepthOfField | Referenz zur Tiefenschärfe-Aktion. |
| LockGaze | Referenz zur Blick fixieren-Aktion. |
| HideOthers | Referenz zur Andere ausblenden-Aktion. |
| Filter | Referenz zur Filter-Aktion. |
| Pose | Referenz zur Pose-Aktion. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)-- Aktiviert die Aktion "Filter"SelfieMode.activateAction(SelfieMode.Action.Filter)
Funktionen
konfigurieren
configure(config: table)
Überschreibt die Standardkonfigurationsoptionen über die folgenden Schlüssel/Werte in der config-Tabelle. Diese Funktion kann nur aus einem LocalScript aufgerufen werden.
| Schlüssel | Beschreibung | Standard |
|---|---|---|
| disableCharacterMovement | Wenn true, verhindert die Bewegung des Charakters, solange der Selfie-Modus geöffnet ist. | false |
| depthOfFieldEffect | Optionale benutzerdefinierte DepthOfFieldEffect-Instanz, die erscheint, wenn der Spieler die Tiefenschärfe-Aktion umschaltet. |
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
openSelfieMode
openSelfieMode()
Ein Spieler öffnet normalerweise den Selfie-Modus mit der Schaltfläche "Kamera" auf der rechten Seite des Bildschirms, aber diese Funktion ermöglicht es Ihnen, ihn über Code zu öffnen. Wenn Sie eine benutzerdefinierte Schaltfläche implementieren, wie unten gezeigt, sollten Sie die Standard-Schaltfläche über setHudButtonEnabled deaktivieren. Diese Funktion kann nur aus einem LocalScript aufgerufen werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Entfernt die Standard-Schaltfläche
SelfieMode.setHudButtonEnabled(false)
-- Verbindet die benutzerdefinierte Schaltfläche
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
closeSelfieMode
closeSelfieMode()
Ein Spieler schließt normalerweise den Selfie-Modus mit der Schaltfläche ⊗ am unteren Bildschirmrand, aber diese Funktion ermöglicht es Ihnen, ihn über Code zu schließen. Kann nur aus einem LocalScript aufgerufen werden.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.closeSelfieMode()
isSelfieModeOpen
isSelfieModeOpen(): boolean
Gibt true zurück, wenn der Selfie-Modus aufgrund von Spieleraktionen oder durch openSelfieMode geöffnet ist. Diese Funktion kann nur aus einem LocalScript aufgerufen werden.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.openSelfieMode()print(SelfieMode.isSelfieModeOpen())
setHudButtonEnabled
setHudButtonEnabled()
Legt fest, ob die Standard-Schaltfläche zum Betreten des Selfie-Modus angezeigt wird. Nützlich, wenn Sie openSelfieMode über eine benutzerdefinierte UI-Schaltfläche implementieren. Diese Funktion kann nur aus einem LocalScript aufgerufen werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Entfernt die Standard-Schaltfläche
SelfieMode.setHudButtonEnabled(false)
-- Verbindet die benutzerdefinierte Schaltfläche
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
getAction
getAction(action: SelfieMode.Action): Action
Erhält einen Action-Typ über ein SelfieMode.Action-Enum.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)
activateAction
activateAction(action: SelfieMode.Action)
Aktiviert programmgesteuert eine der Standard-Aktionen. Dies ist dasselbe, wie wenn ein Spieler die Aktion über die Aktionsleiste umschaltet. Kann nur aus einem LocalScript aufgerufen werden.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)-- Aktiviert die Aktion "Filter"SelfieMode.activateAction(SelfieMode.Action.Filter)
deactivateAction
deactivateAction(action: SelfieMode.Action)
Deaktiviert programmgesteuert eine der Standard-Aktionen. Dies ist dasselbe, wie wenn ein Spieler die Aktion über die Aktionsleiste ausschaltet. Kann nur aus einem LocalScript aufgerufen werden.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)-- Deaktiviert die Aktion "Filter"SelfieMode.deactivateAction(SelfieMode.Action.Filter)
toggleAction
toggleAction(action: SelfieMode.Action): boolean
Schaltet eine Aktion ein, wenn sie ausgeschaltet ist, oder schaltet sie aus, wenn sie eingeschaltet ist. Dies ist dasselbe, wie wenn ein Spieler auf die Aktion in der Aktionsleiste klickt. Gibt den neuen Status "ist eingeschaltet" als booleschen Wert zurück. Kann nur aus einem LocalScript aufgerufen werden.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)local isEnabled = SelfieMode.toggleAction(lockGazeAction)if isEnabled thenprint("Aktiviert", lockGazeAction.name)elseprint("Deaktiviert", lockGazeAction.name)end
setTheme
setTheme(theme: table)
Konfiguriert das Thema des Selfie-Modus, einschließlich Schriftgröße, Schriftart, Button-/Tooltip-Farben und mehr. Diese Funktion kann nur aus einem LocalScript aufgerufen werden.
| Schlüssel | Beschreibung | Standard |
|---|---|---|
| textSize | Größe des gesamten Textes. | 16 |
| font | Schriftart, die in der gesamten UI verwendet wird (Enum.Font). | GothamMedium |
| padding | Hauptabstand, der zur Anordnung von UI-Elementen verwendet wird (UDim). | (0, 12) |
| paddingSmall | Kleinere Abstände, die für subtile Ränder zwischen Elementen verwendet werden (UDim). | (0, 6) |
| paddingScreen | Abstand, der um die Bildschirmränder verwendet wird, um dem Selfie-Modus etwas Luft zu geben (UDim). | (0, 24) |
| backgroundColor | Hintergrundfarbe, die für die Leiste verwendet wird, die die Aktionen anzeigt (Color3). | [0, 0, 0] |
| scrollBarColor | Farbe des Scrollbalkens, der in ScrollingFrame-Elementen des Moduls verwendet wird (Color3). | [255, 255, 255] |
LocalScriptlocal 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)
Legt fest, ob der Selfie-Modus aktiviert ist oder nicht. Wenn er deaktiviert ist, wird die gesamte UI für das Modul entfernt und alle Ereignisse werden getrennt. Diese Funktion kann nur aus einem LocalScript aufgerufen werden.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.setEnabled(false)
Ereignisse
selfieModeOpened
Wird ausgelöst, wenn der Spieler den Selfie-Modus öffnet oder wenn openSelfieMode aufgerufen wird. Dieses Ereignis kann nur in einem LocalScript verbunden werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("Selfie-Modus geöffnet")
end)
selfieModeClosed
Wird ausgelöst, wenn der Spieler den Selfie-Modus schließt oder wenn closeSelfieMode aufgerufen wird. Dieses Ereignis kann nur in einem LocalScript verbunden werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("Selfie-Modus geschlossen")
end)
actionActivated
| Parameter | |
|---|---|
| action: SelfieMode.Action | Die aktivierte Aktion. |
Wird ausgelöst, wenn eine Aktion aktiviert wird; dies kann eine der Hauptaktionen wie Tiefenschärfe, Blick fixieren oder Andere ausblenden sein; alternativ kann es eine Unteraktion wie einen Filter oder eine Pose sein. Die verbundene Funktion erhält die aktivierte Aktion. Dieses Ereignis kann nur in einem LocalScript verbunden werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "aktiviert")
end)
actionDeactivated
| Parameter | |
|---|---|
| action: SelfieMode.Action | Die deaktivierte Aktion. |
Wird ausgelöst, wenn eine Hauptaktion oder Unteraktion deaktiviert wird. Die verbundene Funktion erhält die deaktivierte Aktion. Dieses Ereignis kann nur in einem LocalScript verbunden werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "deaktiviert")
end)
filterChanged
Wird ausgelöst, wenn ein Filter angewendet oder entfernt wird. Die verbundene Funktion erhält den neuen Filternamen und den alten Filternamen. Dieses Ereignis kann nur in einem LocalScript verbunden werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("Filter geändert von", oldFilter, "zu", newFilter)
end)
poseChanged
Wird ausgelöst, wenn eine Pose angewendet oder entfernt wird. Die verbundene Funktion erhält den neuen Posenamen und den alten Posenamen. Dieses Ereignis kann nur in einem LocalScript verbunden werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("Pose geändert von", oldPose, "zu", newPose)
end)