Selfie-Modus

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

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:

  1. Öffnen Sie über das Menü Fenster von Studio oder die Werkzeugleiste im Tab Startseite die Toolbox und wählen Sie den Tab Creator Store.

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

  3. Suchen und klicken Sie auf die Kachel Pakete.

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

  5. 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.

  1. Erstellen Sie in StarterPlayerScripts ein neues LocalScript und benennen Sie es in ConfigureSelfieMode um.

  2. Fügen Sie den folgenden Code in das neue Skript ein.

    LocalScript - ConfigureSelfieMode

    local 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 - ConfigureSelfieMode

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

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üsselTypBeschreibung
namestringName der Aktion, die zuerst in Tooltips angezeigt wird.
descriptionstringBeschreibung der Aktion, die nach name in Tooltips angezeigt wird.
iconstringAsset-ID für das Symbol der Aktion.
activeIconstringAsset-ID für das Symbol der Aktion im "aktiven" Zustand. Kann nur für übergeordnete Aktionen verwendet werden, nicht für Unteraktionen.
actionstableOptionale Liste von Unteraktionen. Dies ermöglicht die Erstellung von Untermenüs anderer Aktionen.
parentActionDie übergeordnete Aktion; dies gilt nur für eine Unteraktion und verweist auf die Aktion, die sie enthält.
onActivatedfunctionOptinaler 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.

NameZusammenfassung
DepthOfFieldReferenz zur Tiefenschärfe-Aktion.
LockGazeReferenz zur Blick fixieren-Aktion.
HideOthersReferenz zur Andere ausblenden-Aktion.
FilterReferenz zur Filter-Aktion.
PoseReferenz zur Pose-Aktion.
LocalScript

local 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üsselBeschreibungStandard
disableCharacterMovementWenn true, verhindert die Bewegung des Charakters, solange der Selfie-Modus geöffnet ist.false
depthOfFieldEffectOptionale benutzerdefinierte DepthOfFieldEffect-Instanz, die erscheint, wenn der Spieler die Tiefenschärfe-Aktion umschaltet.
LocalScript - ConfigureSelfieMode

local 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.

LocalScript

local 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.

LocalScript

local 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.

LocalScript

local 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.

LocalScript

local 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.

LocalScript

local 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.

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("Aktiviert", lockGazeAction.name)
else
print("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üsselBeschreibungStandard
textSizeGröße des gesamten Textes.16
fontSchriftart, die in der gesamten UI verwendet wird (Enum.Font).GothamMedium
paddingHauptabstand, der zur Anordnung von UI-Elementen verwendet wird (UDim).(0, 12)
paddingSmallKleinere Abstände, die für subtile Ränder zwischen Elementen verwendet werden (UDim).(0, 6)
paddingScreenAbstand, der um die Bildschirmränder verwendet wird, um dem Selfie-Modus etwas Luft zu geben (UDim).(0, 24)
backgroundColorHintergrundfarbe, die für die Leiste verwendet wird, die die Aktionen anzeigt (Color3).[0, 0, 0]
scrollBarColorFarbe des Scrollbalkens, der in ScrollingFrame-Elementen des Moduls verwendet wird (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)

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.

LocalScript

local 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.ActionDie 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.ActionDie 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

Parameter
newFilter: stringDer neue Filter.
oldFilter: stringDer vorherige Filter.

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

Parameter
newPose: stringDie neue Pose.
oldPose: stringDie vorherige Pose.

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)
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.