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:
Z zakładki Zobacz, otwórz Skrzynię narzędzi i wybierz Sklep z twórcami.
Upewnij się, że Modele sortowanie jest zaznaczone, a następnie kliknij przycisk Zobacz wszystko dla Kategorie.
Lokalizuj i klikaj na płytę Moduły Rozwoju .
Lokalizuj moduł Tryb samości selfie i kliknij na nie lub przeciągnij go do 3D-wizualizacji.
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.
W StarterPlayerScripts utwórz nowy LocalScript i zmień go na Konfiguruj tryb selfie .
Wklej następujący kod do nowego skryptu.
Lokalny Skrypt - KonfigurujTrybSelfielocal 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 = 0customDepthOfField.FarIntensity = 1customDepthOfField.FocusDistance = 5customDepthOfField.InFocusRadius = 5SelfieMode.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:
Klucz | Typ | Opis |
---|---|---|
name | ciąg | Nazwa akcji, która jest pokazana najpierw w wskazówkach. |
opis | ciąg | Opis akcji, pokazany po imieniu w wierszach narzędzi. |
icon | ciąg | ID zasobu dla ikonaakcji. |
activeIcon | ciąg | Identyfikator zasobu dla ikony akcji w stanie "aktywnym". Można używać tylko na zasobach rodzicielskich, nie na zasobach podrzędnych. |
actions | tabela | Opcjonalna lista poddziałania. Umożliwia to stworzenie poddziałek różnych innych działań. |
parent | Akcja | Parent akcji; dotyczy to tylko poddziałania i wskazuje na działanie, do którego należy. |
onActivated | funkcja | Opcjonalna 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>.
Nazwa | Podsumowanie |
---|---|
DepthOfField | Odniesienie do akcji Głębokość pola. |
LockGaze | Odniesienie się do akcji Zamknij spojrzenie. |
HideOthers | Odnośnik do akcji Ukryj innych. |
Filter | Odnośnik do akcji Filtruj. |
Pose | Odnoś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ć
Przywraca domyślne opcje konfiguracji poprzez następujące klucze/werte w tabeli config. Ta funkcja może być wywołana tylko z LocalScript .
Klucz | Opis | Domyślny |
---|---|---|
disableCharacterMovement | Jeśli jest prawdziwy, zapobiega ruchowi postaci, gdy tryb selfie jest otwarty. | fałszywy |
depthOfFieldEffect | Opcjonalna 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
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
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
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
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ę
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ę
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ę
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ę
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 thenprint("Activated", lockGazeAction.name)elseprint("Deactivated", lockGazeAction.name)end
ustawTemat
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 .
Klucz | Opis | Domyślny |
---|---|---|
textSize | Rozmiar wszystkiego tekstu. | 16 |
font | Font używany we wszystkich interfejsach użytkownika ( Enum.Font ). | GothamMedium |
padding | Główna podeszwa używana do ułożenia elementów interfejsu użytkownika ( UDim ). | (0, 12) |
paddingSmall | Mniejsza ilość poduszki używana do zastosowania subtelnych marżyń między elementami ( UDim ). | (0, 6) |
paddingScreen | Pokryty używany wokół krawędzi ekranu, aby dać selfie mode some breathing room ( UDim ). | (0, 24) |
backgroundColor | Kolor tła używany do wiersza, który wyświetla akcje ( Color3 ). | [0, 0, 0] |
scrollBarColor | Kolor 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
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.Action | Aktywowana 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.Action | Nieaktywowany 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
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
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)