ผู้เล่นมักจะบันทึกภาพหน้าจอเพื่อระลึกถึงช่วงเวลาที่สนุกสนานในประสบการณ์ SelfieMode โมดูลผู้พัฒนา ช่วยให้ผู้เล่นสามารถบันทึกความทรงจำที่ชัดเจนขึ้นของช่วงเวลาดังกล่าวโดยไม่มีหน้าต่างแชทหรือรายชื่อผู้เล่น รวมถึงรองรับเอฟเฟกต์ฟิลเตอร์ การซ่อนตัวละครอื่น และการโพสท่า
การใช้งานโมดูล
การติดตั้ง
เพื่อใช้โมดูล SelfieMode ในประสบการณ์:
จากเมนู Window ของ Studio หรือแถบเครื่องมือ Home เปิด Toolbox และเลือกแท็บ Creator Store.

ตรวจสอบให้แน่ใจว่าการจัดเรียง Models ถูกเลือก จากนั้นคลิกที่ปุ่ม See All สำหรับ Categories.

ค้นหาและคลิกที่ไอคอน Packages.
ค้นหาโมดูล Selfie Mode และคลิกที่มัน หรือดึงและวางมันลงในมุมมอง 3D.

ในหน้าต่าง Explorer ให้นำทั้งแพคเกจ SelfieMode ไปไว้ที่ ReplicatedStorage เมื่อเรียกใช้งานประสบการณ์โมดูลจะเริ่มทำงาน.
การตั้งค่า
โมดูลนั้นถูกตั้งค่าไว้ล่วงหน้าเพื่อให้ทำงานได้สำหรับการใช้ในกรณีส่วนใหญ่ แต่คุณสามารถปรับแต่งมันได้อย่างง่ายดายผ่านฟังก์ชัน configure.
ใน StarterPlayerScripts สร้าง LocalScript ใหม่และเปลี่ยนชื่อเป็น ConfigureSelfieMode.
วางโค้ดต่อไปนี้ลงในสคริปต์ใหม่.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
การเคลื่อนที่ของตัวละคร
อาจมีประโยชน์ในการป้องกันไม่ให้ตัวละครของผู้เล่นเคลื่อนที่ในขณะที่อยู่ในโหมดเซลฟี่ คุณสามารถทำได้โดยการตั้งค่า disableCharacterMovement เป็นจริงในคำสั่ง configure.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
การกระทำในโหมดเซลฟี่
SelfieMode มาพร้อมกับการ กระทำ ดังต่อไปนี้ ซึ่งคุณสามารถใช้ร่วมกับฟังก์ชัน activateAction, deactivateAction และ toggleAction หรือสามารถตรวจจับผ่านเหตุการณ์ actionActivated และ actionDeactivated.
Depth-of-Field
โดยเริ่มต้น SelfieMode จะแสดงเอฟเฟกต์ depth‑of‑field แบบทั่วไป (เบลอแบ็คกราวด์เล็กน้อย) เมื่อผู้เล่นเปิดการกระทำ.

เพื่อเปลี่ยนเอฟเฟกต์ depth‑of‑field เริ่มต้น ให้ตั้งค่า depthOfFieldEffect เป็นอินสแตนซ์ DepthOfFieldEffect ของคุณในคำสั่ง configure.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)local customDepthOfField = Instance.new("DepthOfFieldEffect")customDepthOfField.NearIntensity = 0customDepthOfField.FarIntensity = 1customDepthOfField.FocusDistance = 5customDepthOfField.InFocusRadius = 5SelfieMode.configure({depthOfFieldEffect = customDepthOfField})
Lock Gaze
การเปิด/ปิด Lock Gaze ทำให้ตัวละครของผู้เล่นมองไปที่กล้องในขณะที่ตั้งค่าท่าทางเซลฟี่ภายในช่วงระยะที่สมจริงที่คอของพวกเขาสามารถหมุนได้.
Hide Others
โดยเริ่มต้น ตัวละครอื่นจะแสดงอยู่ร่วมกับตัวละครของผู้เล่น ผู้เล่นสามารถถ่ายภาพเดี่ยวเพอร์เฟ็คได้โดยการคลิกที่ปุ่ม Hide Others. เมื่อเปิดมัน ตัวละครอื่นจะค่อยๆ หายไปจากมุมมองและยังคงไม่มองเห็นจนอาการถูกปิด.
Filter
การกระทำ Filter ช่วยให้ผู้เล่นสามารถใช้ฟิลเตอร์ที่ตั้งไว้จากตัวเลือก Pop, Soft, Antique, Cute, Dramatic, และ Monochrome.

Pose
การกระทำ Pose ช่วยให้ผู้เล่นเลือกท่าทางที่ตั้งไว้จากตัวเลือก Cheer, Clapping, Dolphin, Flossing, Guitar, Jump Wave, Louder, Top Rock, Twirl, และ Wave.

เอกสาร API
ประเภท
Action
ทุกการกระทำถูกแทนที่โดยพจนานุกรมพร้อมคีย์และค่าดังต่อไปนี้:
| Key | Type | Description |
|---|---|---|
| name | string | ชื่อของการกระทำ แสดงเป็นอันดับแรกในบอลลูนข้อความ. |
| description | string | คำอธิบายของการกระทำ แสดงหลัง name ในบอลลูนข้อความ. |
| icon | string | Asset ID สำหรับไอคอนของการกระทำ. |
| activeIcon | string | Asset ID สำหรับไอคอนของการกระทำในสถานะ "active". สามารถใช้ได้เฉพาะกับการกระทำหลัก ไม่ใช่การกระทำย่อย. |
| actions | table | รายการการกระทำย่อยที่เลือกได้. นี่ช่วยให้คุณสร้างเมนูย่อยของการกระทำอื่น ๆ ได้. |
| parent | Action | พ่อแม่ของการกระทำ; สิ่งนี้จะนำไปใช้เฉพาะกับการกระทำย่อยและชี้ไปยังการกระทำที่บรรจุอยู่. |
| onActivated | function | ฟังก์ชันคอลแบ็กที่เลือกได้ซึ่งทำงานเมื่อผู้เล่นเปิดการกระทำหรือการกระทำย่อย. โดยทั่วไป หากการกระทำมีการกระทำย่อย จะต้องมีการกำหนดคอลแบ็กเพื่อรู้ว่าผู้เล่นเปิดการกระทำย่อยและไม่ได้เพียงแค่ "ขยาย" การกระทำหลัก. |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activated")
end)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "deactivated")
end)
Enum
SelfieMode.Action
SelfieMode มาพร้อมกับการ กระทำ หลายประการ คุณสามารถใช้ Enum นี้ร่วมกับฟังก์ชัน activateAction, deactivateAction, และ toggleAction.
| Name | Summary |
|---|---|
| DepthOfField | อ้างอิงถึงการ Depth‑of‑Field action. |
| LockGaze | อ้างอิงถึงการ Lock Gaze action. |
| HideOthers | อ้างอิงถึงการ Hide Others action. |
| Filter | อ้างอิงถึงการ Filter action. |
| Pose | อ้างอิงถึงการ Pose action. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)-- เปิดการกระทำ "Filter"SelfieMode.activateAction(SelfieMode.Action.Filter)
ฟังก์ชัน
configure
configure(config: table)
เขียนทับตัวเลือกการตั้งค่าเริ่มต้นผ่านคีย์/ค่าในตาราง config. ฟังก์ชันนี้สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
| Key | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
| disableCharacterMovement | หากตั้งค่าเป็นจริง จะไม่ให้ตัวละครเคลื่อนที่ในขณะที่โหมดเซลฟี่เปิดอยู่. | false |
| depthOfFieldEffect | อินสแตนซ์ DepthOfFieldEffect ที่กำหนดเองซึ่งปรากฏเมื่อผู้เล่นเปิดการกระทำ Depth of Field. |
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
openSelfieMode
openSelfieMode()
ผู้เล่นโดยทั่วไปจะเปิดโหมดเซลฟี่ด้วยปุ่ม "กล้อง" ที่ด้านขวาของหน้าจอ แต่ฟังก์ชันนี้ช่วยให้คุณเปิดมันผ่านโค้ด เมื่อปรับใช้ปุ่มที่กำหนดเองตามที่แสดงด้านล่าง คุณควรปิดการใช้งานปุ่มเริ่มต้นผ่าน setHudButtonEnabled. ฟังก์ชันนี้สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- ลบปุ่มเริ่มต้น
SelfieMode.setHudButtonEnabled(false)
-- เชื่อมต่อกับปุ่มที่กำหนดเอง
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
closeSelfieMode
closeSelfieMode()
ผู้เล่นโดยทั่วไปจะปิดโหมดเซลฟี่ด้วยปุ่ม ⊗ ที่ด้านล่างของหน้าจอ แต่ฟังก์ชันนี้ช่วยให้คุณปิดมันผ่านโค้ด สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.closeSelfieMode()
isSelfieModeOpen
isSelfieModeOpen(): boolean
ส่งคืน true หากโหมดเซลฟี่เปิดอยู่เนื่องจากการกระทำของผู้เล่นหรือตั้งแต่ openSelfieMode. ฟังก์ชันนี้สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.openSelfieMode()print(SelfieMode.isSelfieModeOpen())
setHudButtonEnabled
setHudButtonEnabled()
ตั้งค่าให้แสดงหรือไม่ให้แสดงปุ่มเริ่มต้นเพื่อเข้าโหมดเซลฟี่ มีประโยชน์เมื่อปรับใช้งาน openSelfieMode ผ่านปุ่ม UI ที่กำหนดเอง ฟังก์ชันนี้สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- ลบปุ่มเริ่มต้น
SelfieMode.setHudButtonEnabled(false)
-- เชื่อมต่อกับปุ่มที่กำหนดเอง
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
getAction
getAction(action: SelfieMode.Action): Action
ดึงชนิด Action ผ่าน Enum SelfieMode.Action.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)
activateAction
activateAction(action: SelfieMode.Action)
เปิดการกระทำหนึ่งใน การกระทำ ที่ตั้งไว้ล่วงหน้าในรูปแบบโปรแกรม นี่คือสิ่งเดียวกับเมื่อผู้เล่นเปิดการกระทำโดยการคลิกจากแถบการกระทำ สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)-- เปิดการกระทำ "Filter"SelfieMode.activateAction(SelfieMode.Action.Filter)
deactivateAction
deactivateAction(action: SelfieMode.Action)
ปิดการกระทำหนึ่งใน การกระทำ ที่ตั้งไว้ล่วงหน้าในรูปแบบโปรแกรม นี่คือสิ่งเดียวกับเมื่อผู้เล่นปิดการกระทำโดยการคลิกจากแถบการกระทำ สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)-- ปิดการกระทำ "Filter"SelfieMode.deactivateAction(SelfieMode.Action.Filter)
toggleAction
toggleAction(action: SelfieMode.Action): boolean
เปิดปิด การกระทำ หากมันถูกปิดอยู่ หรือปิดเมื่อมันเปิดอยู่ นี่คือสิ่งเดียวกับเมื่อผู้เล่นคลิกการกระทำจากแถบการกระทำ ส่งค่าความจริงใหม่ "เปิดใช้งาน" เป็น boolean สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)local isEnabled = SelfieMode.toggleAction(lockGazeAction)if isEnabled thenprint("เปิดใช้งาน", lockGazeAction.name)elseprint("ปิดใช้งาน", lockGazeAction.name)end
setTheme
setTheme(theme: table)
กำหนดธีมโหมดเซลฟี่ รวมถึงขนาดตัวอักษร ฟอนต์ สีของปุ่ม / เครื่องมือคำแนะนำ และอื่นๆ ฟังก์ชันนี้สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
| Key | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
| textSize | ขนาดของข้อความทั้งหมด. | 16 |
| font | ฟอนต์ที่ใช้ใน UI ทุกแห่ง (Enum.Font). | GothamMedium |
| padding | .Padding หลักที่ใช้ในการวางเลเอาต์ UI (Datatype.UDim). | (0, 12) |
| paddingSmall | การทำ Padding เล็ก ๆ ที่ใช้ในการเพิ่มช่องว่างระหว่างองค์ประกอบ (UDim). | (0, 6) |
| paddingScreen | Padding ที่ใช้รอบขอบหน้าจอเพื่อให้โหมดเซลฟี่มีพื้นที่ในการหายใจ (UDim). | (0, 24) |
| backgroundColor | สีพื้นหลังที่ใช้สำหรับแถบที่แสดงการกระทำ (Color3). | [0, 0, 0] |
| scrollBarColor | สีของแถบเลื่อนที่ใช้ในองค์ประกอบ ScrollingFrame ของโมดูล (Color3). | [255, 255, 255] |
LocalScriptlocal 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)
ตั้งค่าให้โหมดเซลฟี่เปิดหรือปิด เมื่อปิดการใช้งาน UI ทั้งหมดของโมดูลจะถูกลบออกและเชื่อมต่อเหตุการณ์ทั้งหมดจะถูกตัดการเชื่อมต่อ ฟังก์ชันนี้สามารถเรียกใช้ได้เฉพาะจาก LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.setEnabled(false)
เหตุการณ์
selfieModeOpened
จะถูกกระตุ้นเมื่อผู้เล่นเปิดโหมดเซลฟี่หรือเรียกใช้ openSelfieMode. เหตุการณ์นี้สามารถเชื่อมต่อได้เฉพาะใน LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("เปิดโหมดเซลฟี่")
end)
selfieModeClosed
จะถูกกระตุ้นเมื่อผู้เล่นปิดโหมดเซลฟี่หรือเรียกใช้ closeSelfieMode. เหตุการณ์นี้สามารถเชื่อมต่อได้เฉพาะใน LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("ปิดโหมดเซลฟี่")
end)
actionActivated
| Parameters | |
|---|---|
| action: SelfieMode.Action | การกระทำที่ถูกเปิดใช้งาน Action. |
จะถูกกระตุ้นเมื่อการกระทำได้รับการเปิดใช้งาน; นี่อาจเป็นการกระทำหลักอย่าง Depth of Field, Lock Gaze, หรือ Hide Others; หรืออาจเป็นการกระทำย่อยเช่นฟิลเตอร์ filter หรือ pose. ฟังก์ชันที่เชื่อมต่อจะได้รับการเปิดใช้งาน Action. เหตุการณ์นี้สามารถเชื่อมต่อได้เฉพาะใน LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activated")
end)
actionDeactivated
| Parameters | |
|---|---|
| action: SelfieMode.Action | การกระทำที่ถูกปิดใช้งาน Action. |
จะถูกกระตุ้นเมื่อการกระทำหลักหรือการกระทำย่อยถูกปิดใช้งาน ฟังก์ชันที่เชื่อมต่อจะได้รับการปิดใช้งาน Action. เหตุการณ์นี้สามารถเชื่อมต่อได้เฉพาะใน LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "deactivated")
end)
filterChanged
จะถูกกระตุ้นเมื่อ filter ถูกใช้งานหรือถูกลบออก ฟังก์ชันที่เชื่อมต่อจะได้รับชื่อฟิลเตอร์ใหม่และชื่อฟิลเตอร์เก่า เหตุการณ์นี้สามารถเชื่อมต่อได้เฉพาะใน LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("เปลี่ยนฟิลเตอร์จาก", oldFilter, "เป็น", newFilter)
end)
poseChanged
จะถูกกระตุ้นเมื่อ pose ถูกใช้งานหรือถูกลบออก ฟังก์ชันที่เชื่อมต่อจะได้รับชื่อท่าทางใหม่และชื่อท่าทางเก่า เหตุการณ์นี้สามารถเชื่อมต่อได้เฉพาะใน LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("เปลี่ยนท่าทางจาก", oldPose, "เป็น", newPose)
end)