Tryb Selfie

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Gracze już robią zrzuty ekranu, aby upamiętnić zabawne chwile w doświadczeniach. Moduł SelfieMode dewelopera pozwala graczom uchwycić czystsze wspomnienie tej chwili bez okna czatu czy listy graczy, a także wspiera efekty filtrów, ukrywanie innych postaci i pozowanie.

Użycie modułu

Instalacja

Aby użyć modułu SelfieMode w doświadczeniu:

  1. Z menu Okno w Studio lub z paska narzędzi zakładki Strona główna, otwórz Narzędziownię i wybierz zakładkę Sklep Twórcy.

  2. Upewnij się, że wybrano sortowanie Modele, a następnie kliknij przycisk Zobacz wszystkie dla Kategorii.

  3. Odnajdź i kliknij kafelek Pakiety.

  4. Odnajdź moduł Tryb Selfie i kliknij go lub przeciągnij i upuść go do widoku 3D.

  5. W oknie Eksploratora przenieś cały pakiet SelfieMode do ReplicatedStorage. Po uruchomieniu doświadczenia moduł zacznie działać.

Konfiguracja

Moduł jest wstępnie skonfigurowany do działania w większości przypadków, ale możesz go łatwo dostosować za pomocą funkcji configure.

  1. W StarterPlayerScripts utwórz nowy LocalScript i zmień jego nazwę na ConfigureSelfieMode.

  2. Wklej następujący kod do nowego skryptu.

    LocalScript - ConfigureSelfieMode

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

Ruch postaci

Może być korzystne uniemożliwienie postaci gracza poruszania się podczas korzystania z trybu selfie. Można to osiągnąć, ustawiając disableCharacterMovement na true w wywołaniu configure.

LocalScript - ConfigureSelfieMode

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

Akcje trybu selfie

SelfieMode zawiera następujące akcje, które można wykorzystywać z funkcjami activateAction, deactivateAction i toggleAction, albo wykrywać za pomocą zdarzeń actionActivated oraz actionDeactivated.

Efekt głębi

Domyślnie SelfieMode pokazuje ogólny efekt głębi (subtelne rozmycie tła), kiedy gracz włącza akcję.

Aby zmienić domyślny efekt głębi, ustaw depthOfFieldEffect na własny instancję DepthOfFieldEffect w wywołaniu configure.

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

Zablokuj spojrzenie

Przełącznik Zablokuj spojrzenie sprawia, że postać gracza patrzy w kamerę podczas ustawiania pozowania do selfie, w realistycznym zakresie, w jakim ich szyja może się obracać.

Ukryj innych

Domyślnie inne postacie są widoczne obok postaci gracza. Gracze mogą uzyskać idealne selfie, klikając przycisk Ukryj innych. Gdy jest włączony, inne postacie znikają z widoku i pozostają niewidoczne, dopóki akcja nie zostanie wyłączona.

Filtr

Akcja Filtr pozwala graczowi na zastosowanie presetowanego filtra z opcji Pop, Soft, Antique, Cute, Dramatic oraz Monochrome.

Pozowanie

Akcja Pozowanie pozwala graczowi wybrać presetowaną pozę z opcji Celebracja, Brawa, Delfin, Flossing, Gitara, Skok Machaj, Głośniej, Top Rock, Twirl oraz Machaj.

Referencja API

Typy

Akcja

Każda akcja jest reprezentowana przez słownik z następującymi parametrami:

KluczTypOpis
namestringNazwa akcji, wyświetlana jako pierwsza w podpowiedziach.
descriptionstringOpis akcji, wyświetlany po name w podpowiedziach.
iconstringID zasobu dla ikony akcji.
activeIconstringID zasobu dla ikony akcji w stanie "aktywnym". Może być używany tylko w przypadku akcji rodzica, a nie podakcji.
actionstableOpcjonalna lista podakcji. Pozwala to na tworzenie podmenu różnych innych akcji.
parentAkcjaRodzic akcji; dotyczy to tylko podakcji i wskazuje na akcję, która ją zawiera.
onActivatedfunctionOpcjonalna funkcja zwrotna, która wykonuje się, gdy gracz aktywuje akcję lub podakcję. Zwykle, jeśli akcja zawiera podakcje, tylko podakcje będą wymagały zdefiniowania funkcji zwrotnej jako środka informowania, że gracz aktywował podakcję, a nie po prostu "rozwinął" akcję rodzica.
LocalScript

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

Enums

SelfieMode.Action

SelfieMode zawiera kilka akcji. Można używać tej enum w funkcjach activateAction, deactivateAction i toggleAction.

NazwaPodsumowanie
DepthOfFieldOdwołanie do akcji Głębia.
LockGazeOdwołanie do akcji Zablokuj spojrzenie.
HideOthersOdwołanie do akcji Ukryj innych.
FilterOdwołanie do akcji Filtr.
PoseOdwołanie do akcji Pozowanie.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Aktywuj akcję "Filtr"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Funkcje

configure

configure(config: table)

Nadpisuje domyślne opcje konfiguracji za pomocą następujących kluczy/wartości w tabeli config. Ta funkcja może być wywoływana tylko z LocalScript.

KluczOpisDomyślne
disableCharacterMovementJeśli true, uniemożliwia postaci poruszanie się podczas otwartego trybu selfie.false
depthOfFieldEffectOpcjonalna niestandardowa instancja DepthOfFieldEffect, która pojawia się, gdy gracz włącza akcję Głębia.
LocalScript - ConfigureSelfieMode

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

openSelfieMode

openSelfieMode()

Gracz zazwyczaj otwiera tryb selfie za pomocą przycisku "kamera" po prawej stronie ekranu, ale ta funkcja pozwala otworzyć go z poziomu kodu. Podczas implementacji niestandardowego przycisku, jak pokazano poniżej, należy wyłączyć domyślny przycisk za pomocą setHudButtonEnabled. Ta funkcja może być wywoływana tylko z LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Usuń domyślny przycisk
SelfieMode.setHudButtonEnabled(false)
-- Połącz niestandardowy przycisk
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

closeSelfieMode

closeSelfieMode()

Gracz zazwyczaj zamyka tryb selfie za pomocą przycisku na dole ekranu, ale ta funkcja pozwala zamknąć go z poziomu kodu. Może być wywoływana tylko z LocalScript.

LocalScript

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

isSelfieModeOpen

isSelfieModeOpen(): boolean

Zwraca true, jeśli tryb selfie jest otwarty w wyniku akcji gracza lub przez openSelfieMode. Ta funkcja może być wywoływana tylko z LocalScript.

LocalScript

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

setHudButtonEnabled

setHudButtonEnabled()

Ustawia, czy domyślny przycisk do wejścia w tryb selfie jest widoczny. Przydatne podczas implementacji openSelfieMode za pomocą niestandardowego przycisku UI. Ta funkcja może być wywoływana tylko z LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Usuń domyślny przycisk
SelfieMode.setHudButtonEnabled(false)
-- Połącz niestandardowy przycisk
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

getAction

getAction(action: SelfieMode.Action): Action

Uzyskuje typ Akcja za pomocą enum SelfieMode.Action.

LocalScript

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

activateAction

activateAction(action: SelfieMode.Action)

Programowo aktywuje jedną z domyślnych akcji. Jest to to samo, co gdy gracz włącza akcję z paska akcji. Może być wywoływana tylko z LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Aktywuj akcję "Filtr"
SelfieMode.activateAction(SelfieMode.Action.Filter)

deactivateAction

deactivateAction(action: SelfieMode.Action)

Programowo dezaktywuje jedną z domyślnych akcji. Jest to to samo, co gdy gracz wyłącza akcję z paska akcji. Może być wywoływana tylko z LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Dezaktywuj akcję "Filtr"
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

toggleAction

toggleAction(action: SelfieMode.Action): boolean

Przełącza akcję włączając ją, jeśli jest wyłączona, lub wyłączając ją, jeśli jest włączona. Jest to to samo, co gdy gracz klika akcję z paska akcji. Zwraca nowy stan "jest włączony" jako boolean. Może być wywoływana tylko z LocalScript.

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("Aktywowano", lockGazeAction.name)
else
print("Dezaktywowano", lockGazeAction.name)
end

setTheme

setTheme(theme: table)

Konfiguruje motyw trybu selfie, w tym rozmiar tekstu, czcionkę, kolory przycisków/podpowiedzi i nie tylko. Ta funkcja może być wywoływana tylko z LocalScript.

KluczOpisDomyślne
textSizeRozmiar całego tekstu.16
fontCzcionka używana w całym UI (Enum.Font).GothamMedium
paddingGłówne wypełnienie używane do układania elementów UI (UDim).(0, 12)
paddingSmallMniejsze wypełnienie używane do stosowania subtelnych marginesów między elementami (UDim).(0, 6)
paddingScreenWypełnienie używane wokół krawędzi ekranu, aby nadać trybowi selfie trochę przestrzeni (UDim).(0, 24)
backgroundColorKolor tła używany dla paska wyświetlającego akcje (Color3).[0, 0, 0]
scrollBarColorKolor paska przewijania używanego w elementach ScrollingFrame modułu (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)

Ustawia, czy tryb selfie jest włączony. Gdy jest wyłączony, cały UI dla modułu jest usuwany, a wszystkie zdarzenia są odłączane. Ta funkcja może być wywoływana tylko z LocalScript.

LocalScript

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

Zdarzenia

selfieModeOpened

Wysyła powiadomienie, gdy gracz otworzy tryb selfie lub gdy zostanie wywołane openSelfieMode. To zdarzenie można połączyć tylko w LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("Tryb selfie otwarty")
end)

selfieModeClosed

Wysyła powiadomienie, gdy gracz zamknie tryb selfie lub gdy zostanie wywołane closeSelfieMode. To zdarzenie można połączyć tylko w LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("Tryb selfie zamknięty")
end)

actionActivated

Parametry
action: SelfieMode.ActionAktywowana Akcja.

Wysyła powiadomienie, gdy akcja jest aktywowana; może to być jedna z głównych akcji, takich jak Głębia, Zablokuj spojrzenie lub Ukryj innych; alternatywnie może to być podakcja, jak filtr lub pozowanie. Funkcja połączona odbiera aktywowaną Akcję. To zdarzenie można połączyć tylko w LocalScript.

LocalScript

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

actionDeactivated

Parametry
action: SelfieMode.ActionDezaktywowana Akcja.

Wysyła powiadomienie, gdy główna akcja lub podakcja jest dezaktywowana. Funkcja połączona odbiera dezaktywowaną Akcję. To zdarzenie można połączyć tylko w LocalScript.

LocalScript

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

filterChanged

Parametry
newFilter: stringNowy filtr.
oldFilter: stringPoprzedni filtr.

Wysyła powiadomienie, gdy filtr jest stosowany lub usuwany. Funkcja połączona odbiera nową nazwę filtru oraz starą nazwę filtru. To zdarzenie można połączyć tylko w LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("Filtr zmieniony z", oldFilter, "na", newFilter)
end)

poseChanged

Parametry
newPose: stringNowa poza.
oldPose: stringPoprzednia poza.

Wysyła powiadomienie, gdy poza jest stosowana lub usuwana. Funkcja połączona odbiera nową nazwę pozy oraz starą nazwę pozy. To zdarzenie można połączyć tylko w LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("Poza zmieniona z", oldPose, "na", newPose)
end)
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.