Tryb samonagrywania

*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ż podejmują screenshoty, aby uczcić fajne chwile w doświadczeniach. Moduł Tryb Selfiedeweloper pozwala graczom na zrzutanie czystszego pamięci tego momentu bez okienka czatu lub listy graczy, a jednocześnie wspiera efekty filtra, ukrywanie innych postaci i pozy.

Użyj modułu

Instalacja

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

  1. Z zakładki Zobacz, otwórz Skrzynię narzędzi i wybierz Sklep z twórcami.

    Toolbox toggle button in Studio
  2. Upewnij się, że Modele sortowanie jest zaznaczone, a następnie kliknij przycisk Zobacz wszystko dla Kategorie.

  3. Lokalizuj i klikaj na płytę Moduły Rozwoju .

  4. Lokalizuj moduł Tryb samości selfie i kliknij na nie lub przeciągnij go do 3D-wizualizacji.

  5. W oknie Explorer przenieś cały model SelfieMode do ServerScriptService . Po uruchomieniu doświadczenia moduł zostanie rozdzielony na różne usługi i zacznie działać.

Konfiguracja

Moduł jest zaprojektowany tak, aby działał dla większości przypadków użycia, ale możesz łatwo go dostosować poprzez funkcję konfiguruj.

  1. W StarterPlayerScripts utwórz nowy LocalScript i zmień go na Konfiguruj tryb selfie .

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

    Lokalny Skrypt - KonfigurujTrybSelfie

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

Ruch postaci

Może być korzystne, aby zapobiec ruchowi postaci gracza w trybie selfie. Możesz to osiągnąć poprzez ustawienie disableCharacterMovement na prawdę w wezwaniu konfiguruj.

Lokalny Skrypt - KonfigurujTrybSelfie

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

Akcje trybu selfie

Tryb Samobieżny przychodzi z następującymi akcjami, każde z których możesz użyć z aktywujAkcja, 0>dezaktywujAkcja0> i funkcjami 3>łączAkcja3>, lub wykryj poprzez wydarzenia 6>aktywowanePrzezAkcja 6> i <

Głębokość pola

Domyślnie Tryb selfie pokazuje ogólny efekt 深-of-field (subtelny rozmycie tła), gdy gracz przełącza akcji.

Aby zmienić domyślną głębię pola, ustaw depthOfFieldEffect do własnej instancji DepthOfFieldEffect w wezwaniu konfiguruj.

Lokalny Skrypt - KonfigurujTrybSelfie

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

Zablokuj spojrzenie

Przesunięcie Lock Gaze spowoduje, że postać gracza będzie patrzeć na kamerę podczas ustawiania pozy selfie, w ramach realistycznego zakresu, jak daleko ich szyja może się poruszać.

Ukryj innych

Domyślnie inne postacie są widoczne obok postaci gracza. Gracze mogą uzyskać idealny strzał solowy, klikając przycisk Ukryj innych . Gdy jest włączony, inne postacie znikają z widoku i pozostają niewidoczne do momentu wyłączenia akcji.

Filtr

Akcja Filtruj umożliwia graczowi zastosowanie zapisu filtra z opcji Pop, Soft, 2>Antique2>, 5>Uroczy5>, 8>Dramatic8> i 1>Monochrome 1>.

Pozy

Akcja Pozy umożliwia graczowi wybór zapisu pozy z opcji Wesoło, Klapping, 2>Dolphin2>, 5>Flossing5>, 8>Guitar8>, <

Referencja API

Typy

Akcja

Każde działanie jest opisane przez słownik z następującymi parami kluczowych:

KluczTypOpis
nameciągNazwa akcji, która jest pokazana najpierw w wskazówkach.
opisciągOpis akcji, pokazany po imieniu w wierszach narzędzi.
iconciągID zasobu dla ikonaakcji.
activeIconciągIdentyfikator zasobu dla ikony akcji w stanie "aktywnym". Można używać tylko na zasobach rodzicielskich, nie na zasobach podrzędnych.
actionstabelaOpcjonalna lista poddziałania. Umożliwia to stworzenie poddziałek różnych innych działań.
parentAkcjaParent akcji; dotyczy to tylko poddziałania i wskazuje na działanie, do którego należy.
onActivatedfunkcjaOpcjonalna funkcja zwrotu, która zostaje wykonana, gdy gracz aktywuje akcję lub podakcję. Zwykle, jeśli akcja zawiera podakcje, tylko podakcje będą wymagały w zwrocie, jako środek poznania, że gracz aktywował podakcję i nie po prostu "rozwinął" podstawowej akcji.
Lokalny Skrypt

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)

Enumy

Tryb samochodowy

Tryb Samo-Nagrywania przychodzi z kilku akcji. Możesz używać tego menu z funkcjami aktywujAkcje, 0>wylaczAkcje0> i 3>włączAkcje 3>.

NazwaPodsumowanie
DepthOfFieldOdniesienie do akcji Głębokość pola.
LockGazeOdniesienie się do akcji Zamknij spojrzenie.
HideOthersOdnośnik do akcji Ukryj innych.
FilterOdnośnik do akcji Filtruj.
PoseOdnośnik do akcji Pose.
Lokalny Skrypt

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Aktywuj akcji"Filtruj"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Funkcje

konfigurować

konfigurować(config: table )

Przywraca domyślne opcje konfiguracji poprzez następujące klucze/werte w tabeli config. Ta funkcja może być wywołana tylko z LocalScript .

KluczOpisDomyślny
disableCharacterMovementJeśli jest prawdziwy, zapobiega ruchowi postaci, gdy tryb selfie jest otwarty.fałszywy
depthOfFieldEffectOpcjonalna niestandardowa instansja DepthOfFieldEffect, która pojawia się, gdy gracz przełącza akcjigłębokości pola.
Lokalny Skrypt - KonfigurujTrybSelfie

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

otwórz tryb selfie

otwórz tryb selfie

Gracz będzie zwykle otwierać tryb selfie z przyciskiem „kamera” po prawej stronie ekranu, ale funkcja ta pozwala otworzyć go poprzez kod. Gdy wdrożysz niestandardowy przycisk, jak pokazano poniżej, powinieneś wyłączyć domyślny przycisk poprzez ustawHudButtonEnabled. Ta funkcja może być uruchomiona tylko z LocalScript.

Lokalny Skrypt

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

zamknij tryb selfie

zamknij tryb selfie

Gracz zwykle zamknięty tryb selfie z przyciskiem w dolnej części ekranu, ale funkcja ta pozwala na zamknięcie go poprzez kod. Można go uruchomić tylko z LocalScript .

Lokalny Skrypt

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

Czy tryb selfie jest otwarty

isSelfieModeOpen() : boolean

Zwraca true jeśli tryb selfie jest otwarty w wyniku działania gracza lub poprzez otwartyModuśSelfie . Ta funkcja może być wywołana tylko z LocalScript .

Lokalny Skrypt

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

setHudButtonWłączone

setHudButtonEnabled()

Ustawia, czy domyślny przycisk do włączenia trybu selfie jest wyświetlany. Przydatne, gdy wdrożono otwarty tryb selfie poprzez niestandardowy przycisk UI. Ta funkcja może być wywołana tylko z LocalScript .

Lokalny Skrypt

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

dostaćAkcję

dostaćAkcję(akcji: SelfieMode.Action): Akcja

Dostaje się Akcję typ poprzez SelfieMode.Action zapis.

Lokalny Skrypt

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

aktywujAkcję

aktywujAkcję(akcji: SelfieMode.Action )

Programowo aktywuje jedną z domyślnych akcji . Jest to to samo, jak gdy gracz przełącza akcję z pasku akcji. Można to zwołać tylko z LocalScript .

Lokalny Skrypt

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Aktywuj akcji"Filtruj"
SelfieMode.activateAction(SelfieMode.Action.Filter)

WyłączAkcję

deactivateAction(akcji: Tryb samości selfie.Actions )

Programowo dezaktywuje jedną z domyślnych akcji. Jest to to samo, jak gdy gracz przełącza akcję z pasku akcji. Można to zwołać tylko z LocalScript.

Lokalny Skrypt

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Wyłącz akcji"Filtruj"
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

Przenieś akcję

ToggleAction(akcji: SelfieMode.Action): boolean

Przełącza akcję na, jeśli jest wyłączone, lub przesuwa ją off, jeśli jest włączona. Jest to tyle samo, jak gdy gracz klika akcję z pasku akcji. Wynika nowy stan „is toggled on” jako true. Można tylko zwołać z LocalScript .

Lokalny Skrypt

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

ustawTemat

setTheme(theme: table )

Konfiguruje temat trybu selfie, w tym rozmiar tekstu, czcionkę, kolor przycisku / pomocników i wiele więcej. Ta funkcja może być uruchomiona tylko z LocalScript .

KluczOpisDomyślny
textSizeRozmiar wszystkiego tekstu.16
fontFont używany we wszystkich interfejsach użytkownika ( Enum.Font ).GothamMedium
paddingGłówna podeszwa używana do ułożenia elementów interfejsu użytkownika ( UDim ).(0, 12)
paddingSmallMniejsza ilość poduszki używana do zastosowania subtelnych marżyń między elementami ( UDim ).(0, 6)
paddingScreenPokryty używany wokół krawędzi ekranu, aby dać selfie mode some breathing room ( UDim ).(0, 24)
backgroundColorKolor tła używany do wiersza, który wyświetla akcje ( Color3 ).[0, 0, 0]
scrollBarColorKolor przewijania używany w ScrollingFrame elementach modułu ( Color3 ).[255, 255, 255]
Lokalny Skrypt

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

setWłączone

setEnabled(isEnabled: boolean )

Ustawia, czy tryb selfie jest włączony lub nie. Gdy jest wyłączony, wszystkie interfejsy dla modułu są usuwane, a wszystkie wydarzenia są odłączone. Ta funkcja może być wywołana tylko z LocalScript .

Lokalny Skrypt

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

Wydarzenia

Tryb samonagrywania otwarty

Wystąpi, gdy gracz otworzy tryb selfie lub gdy otwarty tryb selfie zostanie wezwany. Ten ewent może być połączony tylko w LocalScript .

Lokalny Skrypt

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

Tryb samo-ustawienia

Wystąpi, gdy gracz zamyka tryb selfie lub gdy closeSelfieMode jest wezwany. Ten wydarzenie może być połączony tylko w LocalScript.

Lokalny Skrypt

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

akcjaAktywowano

Parametry
akcji: SelfieMode.ActionAktywowana Akcja .

Występuje, gdy akcja jest aktywowana; może to być jedna z głównych akcji, takich jak głębokość pola , zatrzymać spojrzenie lub ukryć innych ; alternatywnie może to być subakcja, taką jak 2>

Lokalny Skrypt

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

akcjaWyłączona

Parametry
akcji: SelfieMode.ActionNieaktywowany Akcja .

Występuje, gdy podstawowa akcja lub podziałka jest nieaktywna. Połączona funkcja otrzymuje nieaktywowaną akcję. Ten wydarzenie może być połączony tylko w LocalScript .

Lokalny Skrypt

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

zmieniony filtr

Parametry
nowyFiltr: stringNowy filtr.
staryFilter: stringPoprzedni filtr.

Występuje, gdy aplikowany jest filtr lub usunięty. Połączona funkcja otrzymuje nową nazwę filtra i stary nazwa filtra. Ten wątek może być połączony tylko w Class.LocalScript .

Lokalny Skrypt

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)

poseZmieniony

Parametry
nowyPose: stringNowa pozy.
oldPose: stringPoprzednia pozy.

Występuje, gdy łączna funkcja zostanie zastosowana lub usunięta. Połączona funkcja otrzymuje nową nazwę pozy i stary nazwę pozy. Ten wydarzenie może być połączony tylko w Class.LocalScript .

Lokalny Skrypt

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)