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ż wykonują zrzuty ekranu, aby upamiętnić zabawne chwile w doświadczeniach.Moduł rozwojowy Tryb selfie pozwala graczom uchwycić czystszą pamięć o tej chwili bez okna czatu lub listy graczy, przy jednoczesnym wspieraniu efektów filtrowania, ukrywaniu innych postaci i pozowaniu.

Użycie modułu

Instalacja

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

  1. Z zakładki Widok, otwórz Pudełko z narzędziami i wybierz zakładkę Sklep z twórcami .

    Toolbox toggle button in Studio
  2. Upewnij się, że wybrano sortowanie modele , a następnie kliknij przycisk Zobacz wszystko dla kategorii .

  3. Zlokalizuj i kliknij pasek modułów rozwojowych .

  4. Zlokalizuj moduł Tryb selfie i kliknij go, lub przeciągnij i upuść do widoku 3D.

  5. W oknie Eksploratora przesuń cały model SelfieMode do ServerScriptService .Po uruchomieniu doświadczenia moduł rozproszy się na różne usługi i rozpocznie działanie.

Konfiguracja

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

  1. W StarterPlayerScripts stwórz nowy LocalScript i zmień nazwę na Konfiguruj tryb selfie .

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

    LocalScript - Konfiguruj tryb selfie

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

Ruch postaci

Może być korzystne zapobiec poruszaniu się postaci gracza w trybie selfie.Możesz to osiągnąć, ustawiając disableCharacterMovement na prawdę w wezwaniu konfiguruj.

LocalScript - Konfiguruj tryb selfie

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

Akcje trybu selfie

Tryb selfie pochodzi z następującymi działaniami, każde z których możesz używać za pomocą funkcji aktywujakcję, dezaktywujakcję i przełączakcję lub wykrywać za pomocą wydarzeń akcja aktywowana i akcja dezaktywowana.

Głębokość pola

Domyślnie tryb selfie pokazuje ogólny efekt głębokości pola (subtelny rozmycie tła), gdy gracz przełącza akcji.

Aby zmienić domyślny efekt głębokości pola, ustaw depthOfFieldEffect na własną instancję DepthOfFieldEffect w wezwaniu konfiguruj.

LocalScript - Konfiguruj tryb selfie

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

Przełącznik Blokada spojrzenia powoduje, że postać gracza patrzy na kamerę podczas ustawiania pozy selfie, w realistycznym zakresie tego, jak daleko może się odchylać jego szyja.

Ukryj inne

Domyślnie inne postacie są widoczne obok postaci gracza.Gracze mogą uzyskać doskonały strzał solo, klikając przycisk Ukryj innych .Gdy przełączone, inne postacie znikają z pola widzenia i pozostają niewidoczne, dopóki akcja nie zostanie wyłączone.

Filtruj

Akcja Filtr pozwala graczowi zastosować wstępnie ustawiony filtr z opcji Pop , Soft , Antique , Cute , Dramatic i Monochrome .

Poza

Akcja Poza pozwala graczowi wybrać gotową pozę z opcji Cheer , Clapping , Dolphin , Flossing , Guitar , Jump Wave , Louder , Top Rock , Twirl i Wave .

Referencja API

Typy

Akcja

Każda akcja jest reprezentowana przez słownik z następującymi parametrami klucz-wartość:

KluczTypOpis
nameciągNazwa akcji, pokazana po raz pierwszy w wskazówkach narzędzi.
descriptionciągOpis akcji, pokazany po nazwie w wskazówkach narzędziowych.
iconciągID zasobu dla ikonaakcji.
activeIconciągID zasobu dla ikony akcji w stanie "aktywnym". Można go używać tylko na akcjach rodzicach, a nie na podakcjach.
actionsstółOpcjonalna lista podakcji. Pozwala to na tworzenie podmenu różnych innych działań.
parentAkcjaRodzic akcji; dotyczy to tylko podakcji i wskazuje na akcję, która ją zawiera.
onActivatedfunkcjaOpcjonalna funkcja powrotu, która uruchamia się, gdy gracz aktywuje akcję lub podakcję.Zazwyczaj, jeśli akcja zawiera podakcje, tylko podakcje będą potrzebować powrotu, zdefiniowanego jako sposób wiedzenia, że gracz aktywował podakcję i nie po prostu "rozszerzył" macierzystej 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)

Enumery

SelfieMode.Akcja

Tryb selfie zawiera kilka działań.Możesz używać tego enum z funkcjami aktywujAkcję, dezaktywujAkcję i przełączAkcję.

NazwaPodsumowanie
DepthOfFieldOdniesienie do akcji Głębokość pola.
LockGazeOdniesienie do akcji Zablokuj wzrok.
HideOthersOdniesienie do akcji Ukryj inne.
FilterOdwołanie do akcji Filtr.
PoseOdniesienie do akcji Pose.
Lokalny skrypt

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

Funkcje

skonfigurować

konfigurować(config: table )

Nadpisanie domyślnych opcji konfiguracyjnych za pomocą następujących kluczy/wartości w tabeli config.Funkcja ta może być wywołana tylko z LocalScript.

KluczOpisDomyślny
disableCharacterMovementJeśli prawda, zapobiega przemieszczaniu się postaci, gdy tryb selfie jest otwarty.fałsz
depthOfFieldEffectOpcjonalna niestandardowa instancja DepthOfFieldEffect pojawia się, gdy gracz przełącza akcję Głębia pola.
LocalScript - Konfiguruj tryb selfie

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

otwarty tryb selfie

otwórz tryb selfie()

Gracz zwykle otworzy tryb selfie przy pomocy przycisku "kamera" po prawej stronie ekranu, ale ta funkcja pozwala otworzyć ją za pomocą kodu.Podczas wdrażania niestandardowego przycisku, jak pokazano poniżej, należy wyłączyć domyślny przycisk za pomocą setHudButtonEnabled.Funkcja ta 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)

Zamknij tryb selfie

Zamknij tryb selfie()

Gracz zwykle zamknie tryb selfie przyciskiem na dole ekranu, ale ta funkcja pozwala ci go zamknąć za pomocą kodu.Można wezwać tylko z LocalScript.

Lokalny skrypt

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

jestSelfieModeOpen

isSelfieModeOpen(): boolean

Wyświetla true jeśli tryb selfie jest otwarty w wyniku działania gracza lub za pomocą openSelfieMode.Funkcja ta 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())

ustawHudButtonWłączone

ustawHudButtonEnabled()

Ustawia, czy domyślny przycisk do przejścia do trybu selfie jest wyświetlany.Przydatne przy wdrażaniu otwartego trybu selfie za pomocą niestandardowego przycisku interfejsu użytkownika.Funkcja ta 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)

action uzyskać

getAction(akcji: SelfieMode.Action ): Akcja

Otrzymuje typ akcja poprzez SelfieMode.Action enumerację.

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 )

Aktywuje programowo jedną z domyślnych akcji ..Jest to takie samo, jak gdy gracz przełącza akcję z paska akcji.Można wezwać tylko z LocalScript.

Lokalny skrypt

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

deaktywujakcję

deactivateAction(akcji: SelfieMode.Action )

Dezaktywuje programowo jedną z domyślnych akcji ..Jest to takie samo, jak gdy gracz przełącza akcję z paska akcji.Można wezwać tylko z LocalScript.

Lokalny skrypt

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

przełączAkcję

toggleAction(akcji: SelfieMode.Action ): boolean

Przełącza akcję na, jeśli jest wyłączone, lub wyłącza ją, jeśli jest włączona.Jest to takie samo, jak gdy gracz kliknie akcję z paska akcji.Zwraca nowy stan "jest włączony" jako boolean.Można wezwać tylko 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

ustaw temat

setTheme(theme: table )

Konfiguruje temat trybu selfie, w tym rozmiar tekstu, czcionkę, kolory przycisków/powiadomień i więcej. Funkcja ta może być wywołana tylko z LocalScript.

KluczOpisDomyślny
textSizeRozmiar całego tekstu.16
fontCzcionka używana na całej UI ( Enum.Font ).GothamMedium
paddingGłówna podkładka używana do rozmieszczania elementów interfejsu użytkownika ( UDim ).(0, 12)
paddingSmallMniejsze odległości używane do zastosowania subtelnych marginesów między elementami (UDim).(0, 6)
paddingScreenPrzestrzeń między krawędziami ekranu używana do zapewnienia odpowiedniej ilości powietrza dla trybu selfie (UDim).(0, 24)
backgroundColorKolor tła używany do paska wyświetlającego akcje (Color3).[0, 0, 0]
scrollBarColorKolor paska przewijania używanego w elementach ScrollingFrame 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),
})

ustawionoEnabled

setEnabled(isEnabled: boolean )

Ustawia, czy tryb selfie jest włączony, czy nie.Po wyłączeniu wszystkie interfejsy użytkownika dla modułu są usuwane, a wszystkie zdarzenia są odłączane.Funkcja ta 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

selfieModeOtwórz

Wybucha, gdy gracz otwiera tryb selfie lub gdy wezwany jest otwórz tryb selfie. To wydarzenie może być połączone 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)

selfieModeZamknięty

Wybucha, gdy gracz zamyka tryb selfie lub gdy wezwany zostaje closeSelfieMode. To wydarzenie może być połączone 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)

akcjaAktywowana

Parametry
akcji: SelfieMode.ActionAktywowana Akcja.

Wybucha, gdy akcja jest aktywowana; może to być jedna z głównych akcji, takich jak głębokość pola , blokada spojrzenia lub ukrycie innych ; alternatywnie może to być podakcja, tak jak filtr lub poza .Połączona funkcja otrzymuje aktywowane działanie.To wydarzenie może być połączone tylko w LocalScript .

Lokalny skrypt

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

akcjaDeaktywowana

Parametry
akcji: SelfieMode.ActionWyłączona Akcja.

Wypala się, gdy akcja główna lub podakcja zostanie wyłączona.Połączona funkcja otrzymuje dezaktywowane działanie.To wydarzenie może być połączone 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)

filtrZmieniony

Parametry
nowyFiltr: stringNowe filtrowanie.
starzy filtr: stringPoprzedni filtr.

Wybucha, gdy zostanie zastosowany lub usunięty filtr filtr.Połączona funkcja otrzymuje nową nazwę filtra i starszą nazwę filtra.To wydarzenie może być połączone tylko w 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)

poza zmieniona

Parametry
nowaPoza: stringNowa poza.
oldPose: stringPoprzednia poza.

Wypala się, gdy zostanie zastosowana lub usunięta poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza poza pozaPołączona funkcja otrzymuje nową nazwę pozy i starszą nazwę pozy.To wydarzenie może być połączone tylko w 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)