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 zu dokumentieren. Die Selfie-Modus-Entwickler-Modul lässt Spieler einen sauberen Speicher dieses Moments ohne das Chat-Fenster oder die Spielerliste aufzeichnen, während auch Filtereffekte, das Verbergen anderer Charaktere und das Posieren unterstützt werden.

Modul-Einsatz

Installation

Um das SelfieMode -Modul in einem Erlebnis zu verwenden:

  1. Von der Ansicht-Registerkarte öffnen Sie die Werkzeugkiste und wählen Sie die Creator-Store -Registerkarte.

    Toolbox toggle button in Studio
  2. Stellen Sie sicher, dass die Models Sortierung ausgewählt ist, dann klicken Sie auf die Alle anzeigen Schaltfläche für Kategorien .

  3. Suchen Sie die Dev-Module -Kachel und klicken Sie darauf.

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

  5. In dem Explorer-Fenster bewegen Sie das gesamte SelfieMode-Modell in ServerScriptService . Nach dem Laufen der Erlebniswird das Modul auf verschiedene Dienste verteilt und beginnt zu laufen.

Konfiguration

Das Modul ist für die meisten Anwendungsfälle vordefiniert, aber Sie können es leicht über die Konfigurieren-Funktion anpassen.

  1. In StarterPlayerScripts , erstellen Sie ein neues LocalScript und benennen Sie es zu Konfigurieren des Selfie-Modus um.

  2. Fügen Sie den folgenden Code in das neue Skript, das. PL: die Skriptsein.

    LocalScript - Konfigurieren Sie SelfieMode

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

Charakter-Bewegung

Es kann vorteilhaft sein, den Charakter des Spieler:inim Selfie-Modus zu verhindern, während Sie in einem disableCharacterMovement -Anruf einrichten. Sie können dies erreichen, indem Sie disableCharacterMovement auf true in einem konfigurieren-Anruf einstellen.

LocalScript - Konfigurieren Sie SelfieMode

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

Selfie-Modus-Aktionen

SelfieMode kommt mit den folgenden Aktionen , von denen Sie mit dem aktivierenAktion , 0> deaktivierenAktion0> und 3> toggleAction3> -Funktionen oder durch das Erkennen durch die Aktionen 6>aktiviert6> und 9>deaktiviert 9> .

Tiefen-der-Felder

Standardmäßig zeigt SelfieMode einen generischen Tiefen-of-Field-Effekt (Subtiler Blur des Hintergrunds), wenn ein Spieler die Actionumschaltet.

Um den Standard-Depth-of-Field-Effekt zu ändern, setze depthOfFieldEffect an deine eigene DepthOfFieldEffect Instanz in einem konfigurieren-Anruf.

LocalScript - Konfigurieren Sie SelfieMode

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

Blick sperren

Die Augen fixieren-Schaltfläche schaltet den Charakter des Spieler:indazu ein, die Kamera anzusehen, während die Selfie-Pose eingerichtet wird, innerhalb eines realistischen Reichweites, wie weit ihr Nacken drehen kann.

Andere ausblenden

Standardmäßig sind andere Charaktere neben dem Charakter des Spieler:insichtbar. Spieler können einen perfekten Solo-Schuss erhalten, indem sie auf die Schaltfläche Andere ausblenden klicken. Wenn sie aufgeschaltet ist, verschwinden andere Charaktere aus der Sicht und bleiben bis die Aktion deaktiviert, unsichtbar.

Filtern

Die Filter-Aktion erlaubt dem Spieler, einen Voreinstellungsfilter aus den Optionen Pop, Weich, 2> Antique 2>, 5> Cute 5>, 8> Dramatic8> und 1> Monochrome 1> .

Posten

Die Pose-Aktion lässt den Spieler eine Voreinstellungspose aus den Optionen Jubeln, Clapping, 2> Dolphin2>, 5> Flossing5>, 8> Guitar8>, 1> Spr

API-Referenz

Typen

Aktion

Jede Aktion wird durch ein Wörterbuch mit den folgenden Schlüsselwerten dargestellt:

SchlüsselTypBeschreibung
namestringName der Action, der zuerst in Tooltips angezeigt wird.
descriptionstringBeschreibung der Action, die nach dem Namen in der Tooltips angezeigt wird.
iconstringAsset-ID für das Symbol der Action.
activeIconstringAsset-ID für das Symbol des Actionin "aktiv"-Zustand. Kann nur auf übergeordneten Aktionen verwendet werden, nicht auf Unter-Aktionen.
actionstabelleOptionale Liste von Unter-Aktionen. Dies ermöglicht es Ihnen, Untermenüs von verschiedenen anderen Aktionen zu erstellen.
parentAktionDer Elternteil der Action; Dies gilt nur für eine Unteraktion und verweist auf die Aktion, die sie enthält.
onActivatedfunktionOptionale Rückruffunktion, die ausgeführt wird, wenn ein Spieler eine Aktion oder Unteraktion aktiviert. Normalerweise, wenn eine Aktion Unteraktionen enthält, nur die Unteraktionen werden einen Rückruf definiert als Mittelf, um zu wissen, dass der Spieler die Unteraktion aktiviert hat und nicht einfach "erweitert" die Action.
Lokales Skript

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

SelfieModus.Action

SelfieMode kommt mit mehreren Aktionen . Sie können dieses Ensemble mit den aktivierenAktion, 0> deaktivierenAktion0> und 3> toggleAction 3>-Funktionen verwenden.

NameZusammenfassung
DepthOfFieldVerweis auf die Action.
LockGazeVerweis auf die Lock Action.
HideOthersVerweis auf die Andere Action.
FilterVerweis auf die Action.
PoseVerweis auf die Action.
Lokales Skript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Aktiviere die "Filtern"Action
SelfieMode.activateAction(SelfieMode.Action.Filter)

Funktionen

konfigurieren

konfigurieren(config: table )

Überschreibt Standard-Konfigurationsoptionen durch die folgenden Schlüssel/ Werte in der config Tabelle. Diese Funktion kann nur von einem LocalScript ausgerufen werden.

SchlüsselBeschreibungStandard
disableCharacterMovementWenn wahr, verhindert, dass der Charakter bewegt, während der Selfie-Modus geöffnet ist.falsch
depthOfFieldEffectOptionale benutzerdefinierte DepthOfFieldEffect Instanz, die erscheint, wenn der Spieler die Tiefe des Feldes Actionumschaltet.
LocalScript - Konfigurieren Sie SelfieMode

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

öffnen Sie SelfieMode

öffnen Sie SelfieMode()

Ein Spieler öffnet normalerweise den Selbstiegel-Modus mit der "Kamera"-Schaltfläche auf der rechten Seite des Bildschirms, aber diese Funktion erlaubt es Ihnen, es über den Codeszu öffnen. Wenn Sie einen benutzerdefinierten Button wie unten gezeigt verwenden, sollten Sie den Standard-Button durch setHudButtonEnabled deaktivieren. Diese Funktion kann nur von einem LocalScript aufgerufen werden.

Lokales Skript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Entfernen Sie die Standard-Schaltfläche
SelfieMode.setHudButtonEnabled(false)
-- Verbinde den benutzerdefinierten Button
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

selbstmodus schließen

closeSelfieMode()

Ein Spieler wird in der Regel den Selbstiegel-Modus mit der -Schaltfläche am unteren Rand des Bildschirms schließen, aber diese Funktion ermöglicht es Ihnen, es über den Codeszu schließen. Kann nur von einem LocalScript aufgerufen werden.

Lokales Skript

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

istSelfieModeOpen

istSelfieModeOpen() : boolean

Gibt true zurück, wenn der Selfie-Modus als Ergebnis einer Spieleraktion oder durch openSelfieMode geöffnet ist. Diese Funktion kann nur von einem LocalScript aufgerufen werden.

Lokales Skript

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

setHudButtonEnabled

setHudButtonEnabled()

Setzt, ob die Standard-Schaltfläche zum Eintragen in den Selbstiegel-Modus angezeigt wird. Nützlich, wenn Sie openSelfieMode über einen benutzerdefinierten UI-Button implementieren. Diese Funktion kann nur von einem LocalScript aufgerufen werden.

Lokales Skript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Entfernen Sie die Standard-Schaltfläche
SelfieMode.setHudButtonEnabled(false)
-- Verbinde den benutzerdefinierten Button
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

erhalten Sie Action

erhaltenAction(action: SelfieMode.Action): Aktion

Erhält einen Aktion-Typ durch eine SelfieMode.Action-Registerkarte-Liste.

Lokales Skript

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

aktivierenAction

aktivierenAction(action: SelfieMode.Action )

Programmiert aktiviert eine der Standard- Aktionen . Dies ist dasselbe wie wenn ein Spieler die Aktion vom Aktions-Bar umschaltet. Kann nur von einem LocalScript aufgerufen werden.

Lokales Skript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Aktiviere die "Filtern"Action
SelfieMode.activateAction(SelfieMode.Action.Filter)

deaktivierenAction

deactivateAction(action: SelfieMode.Action )

Programmiert deaktiviert eine der Standard- Aktionen. Dies ist dasselbe wie wenn ein Spieler die Aktion von der Aktionleiste umschaltet. Kann nur von einem LocalScript aufgerufen werden.

Lokales Skript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Deaktivieren Sie die Action"Filter"
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

SchaltflächeAction

toggleAction(action: SelfieMode.Action): boolean

Schaltet eine Aktion ein, wenn sie ausist, oder schaltet sie ab, wenn sie aktiviert ist. Dies ist dasselbe wie wenn ein Spieler auf die Aktion von der Aktionsleiste klickt. Rückgibt den neuen Zustand "is toggled on" alsBoolean. Kann nur von einem LocalScript aufgerufen werden.

Lokales Skript

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

setZiel

setTheme(Theme: table )

Konfiguriert das Selfie-Modul-Thema, einschließlich Textgröße, Schriftart, Button/Tooltip-Farben und mehr. Diese Funktion kann nur von einem LocalScript aufgerufen werden.

SchlüsselBeschreibungStandard
textSizeGröße des gesamten Textes.16
fontFont, der überall auf der Benutzeroberfläche verwendet wird (Enum.Font).GothamMedium
paddingHauptpolsterung wird verwendet, um Benutzeroberflächenelemente zu platzieren ( UDim ).(0, 12)
paddingSmallKleineres Padding wird verwendet, um subtile Margen zwischen Elementen anzuwenden ( UDim ).(0, 6)
paddingScreenPad wird am Bildschirmrand verwendet, um dem Selfie-Modus etwas Atemraum zu geben (UDim).(0, 24)
backgroundColorHintergrundfarbe für die Leiste, die die Aktionen anzeigt ( Color3 ).[0, 0, 0]
scrollBarColorFarbe der Scrollbar, die in ScrollingFrame Elementen des Moduls verwendet wird (Color3).[255, 255, 255]
Lokales Skript

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

setAktiviert

setEnabled(istEnabled: boolean )

Setzt, ob der Selfie-Modus aktiviert oder nicht ist. Wenn deaktiviert, wird die gesamte Benutzeroberfläche des Moduls entfernt und alle Ereignisse getrennt. Diese Funktion kann nur von einem LocalScript aufgerufen werden.

Lokales Skript

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

Ereignisse

selbstieModus geöffnet

Feuert, wenn der Spieler den Selbstiegel-Modus öffnet oder wenn openSelfieMode aufgerufen wird. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

Lokales Skript

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

selbstieModusGeschlossen

Feuert, wenn der Spieler den Selbstiegel-Modus schließt oder wenn closeSelfieMode aufgerufen wird. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

Lokales Skript

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

aktionAktiviert

Parameter
aktion: SelfieMode.ActionDie aktivierte Aktion .

Feuert, wenn eine Aktion aktiviert wird; dies kann eine der primären Aktionen sein, wie Tiefe des Feldes, Lock Gaze oder Hide Others; alternativ kann es eine Unteraktion wie ein 2> Filter2> oder ein 5> Pose5> sein. Die verbundene Funktion erh

Lokales Skript

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

aktionDeaktiviert

Parameter
aktion: SelfieMode.ActionDie deaktivierte Aktion .

Feuert ab, wenn eine Hauptaktion oder Unteraktion deaktiviert wird. Die verbundene Funktion erhält die deaktivierte Aktion. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

Lokales Skript

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

Filter geändert

Parameter
neuerFilter: stringDer neue Filter.
alteFilter: stringDer vorherige Filter.

Feuert, wenn ein <a href="/reference/engine/databases/schlie?en-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter-filter

Lokales Skript

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)

poseÄndern

Parameter
neuePose: stringDie neue Pose.
altePose: stringDie vorherige Pose.

Feuert, wenn ein <a href="/reference/engine/datatypes">Datentyp</a> angewendet oder entfernt wird. Die verbundene Funktion erhält den neuen Datentypnamen und den alten Datentypnamen. Dieses Ereignis kann nur in einem <b>Class.LocalScript</b> verbunden werden.

Lokales Skript

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)