玩家已經開始拍攝屏幕截圖來紀念體驗中的有趣時刻。自拍模式 開發者模組 讓玩家奪取那一刻的更乾淨記憶,而不是聊天窗口或玩家列表,同時也支持過濾效果、隱藏其他角色和姿勢。
模組使用
安裝
要在體驗中使用 自拍模式 模組:
確保 模型 排序已選擇,然後單擊 查看全部 按鈕以獲得 類別 。
找到並點擊 開發模組 磚塊。
尋找 自拍模式 模組,然後單擊它或拖放到 3D 視檢視中。
在 瀏覽器 窗口中,將整個 SelfieMode 模型移至 ServerScriptService 。執行體驗時,模組會分配到各種服務並開始運行。
配置
模組預先配置以處理大多數使用案例,但您可以通過 配置 功能簡單自訂它。
在 新手玩家腳本 中,創建一個新的 LocalScript 並將其重命名為 配置自拍模式 。
將以下代碼貼到新腳指令碼中。
本地腳本 - 配置自拍模式local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.configure({disableCharacterMovement = true})
角色移動
可能有利於防止玩家的角色在自拍模式下移動。您可以透過在 disableCharacterMovement 呼叫中設置 真實 來實現這一目標。
本地腳本 - 配置自拍模式
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.configure({disableCharacterMovement = true})
自拍模式行動
自拍模式 配有以下 行動 , 每個你都可以使用 啟用行動 , 停用行動 , 以及 切換行動 功能, 或通過 行動已啟動 和 行動已停用 事件來偵測。
田地深度
預設情況下, 自拍模式 會顯示一般的 鏡頭深度 效果(玩家切換行動作時的淺模糊背景)。

若要變更預設欄位深度效果,請在 depthOfFieldEffect 呼叫中設置 DepthOfFieldEffect 為自己的 實例。
本地腳本 - 配置自拍模式
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})
鎖定視線
鎖定迷宮 切換會使玩家的角色在設置自拍姿勢時看到相機,在他們的頸部可以轉動的範圍內,而不是在現實範圍內。
隱藏其他
預設情況下,其他角色會與玩家的角色一起顯示。玩家可以通過點擊 隱藏其他人 按鈕來獲得完美的單人射擊。開啟時,其他角色會消失在視線中,直到切換關閉動作為止仍然隱形。
過濾
過濾器 行動 讓玩家從選項 流行 、 軟 、 古老 、 可愛 、 戲劇 和 單色 中應用預設過濾器。

姿勢
姿勢 動作讓玩家從選項中選擇預設姿勢 歡呼 、 拍掌 、 海豚 、 跳舞 、 吉他 、 跳波 、 更大聲 、 跳舞波 、 旋轉 和 跳舞波 。

API 參考
類型
行動
每個行動都由以下鑰匙值對表示的辭典:
關鍵 | 類型 | 說明 |
---|---|---|
name | 字串 | 動作動名稱,在工具提示中首先顯示。 |
description | 字串 | 行動作的說明,在工具提示中顯示 名稱 之後。 |
icon | 字串 | 行動圖示的資產ID。 |
activeIcon | 字串 | 在「啟用」狀態下的動作動圖示的資產ID。只能用於父行動,不能用於子行動。 |
actions | 表 | 可選的子行動列表。這允許您創建各種其他行動的子菜單。 |
parent | 行動 | 行動的父;只適用於子行動,指向包含它的動作動。 |
onActivated | 功能 | 可選擇的回呼功能,當玩家啟動行動或子行動時運行。通常,如果行動包含子行動,只有子行動需要定義的回呼來知道玩家是否啟用了子行動,而不是單純地「擴展」父行動作。 |
本地脚本
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)
枚數
自拍模式行動
自拍模式 包含多個 行動。您可以使用此枚詞與 activateAction、deactivateAction 和 toggleAction 功能。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))-- 啟用「過濾」行動作SelfieMode.activateAction(SelfieMode.Action.Filter)
功能
設定
設定(config: table )
通過以下鍵/值在 config 表中覆蓋預設配置選項的默認選項。此功能只能從 LocalScript 中呼叫。
關鍵 | 說明 | 預設 |
---|---|---|
disableCharacterMovement | 如果真實,會防止在自拍模式開啟時角色移動。 | 否 |
depthOfFieldEffect | 可選自訂 DepthOfFieldEffect 實例,當玩家切換 鏡頭深度 動作時出現。 |
本地腳本 - 配置自拍模式
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.configure({disableCharacterMovement = true})
開啟自拍模式
開啟自拍模式()
玩家通常會使用畫面右側的「相攝影機」按鈕開啟自拍模式,但此功能讓您可以通過代碼來開啟它。當執行以下方面的自訂按鈕時,您應該通過 setHudButtonEnabled 停用預設按鈕。此功能只能從 LocalScript 中呼叫。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- 移除預設按鈕
SelfieMode.setHudButtonEnabled(false)
-- 連接自訂按鈕
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
關閉自拍模式
關閉自拍模式()
玩家通常會使用 ⊗ 按鈕在畫面底部關閉自拍模式,但此功能可以通過代碼關閉。只能從 LocalScript 中呼叫。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.closeSelfieMode()
是否自拍模式開啟
是自拍模式開啟:boolean
如果玩家行動或通過 openSelfieMode 開啟自拍模式,返回 true 。此功能只能從 LocalScript 中呼叫。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.openSelfieMode()print(SelfieMode.isSelfieModeOpen())
設定Hud按鈕啟用
設置Hud按鈕啟用()
設置是否顯示預設按鈕進入自拍模式。在使用自訂介面按鈕實現 開啟自拍模式 時有用。此功能只能從 LocalScript 中呼叫。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- 移除預設按鈕
SelfieMode.setHudButtonEnabled(false)
-- 連接自訂按鈕
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
取得行動
取得行動(動作動:自拍模式.Action):行動
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)
啟用行動
啟用行動(行動作: SelfieMode.Action )
程式動態啟用預設 行動之一。這與玩家從行動欄切換行動時相同。只能從 LocalScript 中呼叫。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))-- 啟用「過濾」行動作SelfieMode.activateAction(SelfieMode.Action.Filter)
停用行動
停用行動(動作動: SelfieMode.Action )
程式atically停用預設 行動之一。這與玩家從行動欄中切換行動時相同。只能從 LocalScript 中呼叫。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))-- 停用「過濾」動作SelfieMode.deactivateAction(SelfieMode.Action.Filter)
切換行動
切換行動(動作: 自拍模式行動 ):boolean
如果關閉,切換行動;如果開啟,則切換關閉。這與玩家從動作欄點擊動作相同。返回新的「是否切換」狀態為 boolean。只能從 LocalScript 中呼叫。
本地脚本
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
設定主題
設定主題(主題: table )
配置自拍模式主題,包括文字大小、字體、按鈕/說明顏色等。此功能只能從 LocalScript 中呼叫。
關鍵 | 說明 | 預設 |
---|---|---|
textSize | 所有文字的尺寸。 | 16 |
font | 用於所有介面的字體(Enum.Font)。 | GothamMedium |
padding | 主要墊子用於布置 UI 元素(UDim)。 | (0, 12) |
paddingSmall | 用於在元素之間應用淺色邊緣的較小墊子(UDim)。 | (0, 6) |
paddingScreen | 用於屏幕邊緣的墊子,可以給自拍模式一些呼吸空間(UDim). | (0, 24) |
backgroundColor | 用於顯示行動的欄位的背景顏色(Color3) | [0, 0, 0] |
scrollBarColor | 模組中的 ScrollingFrame 元素使用的捲動條顏色 ( Color3 )。 | [255, 255, 255] |
本地脚本
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),})
設定啟用
設置啟用(啟用:boolean)
設置自拍模式是否啟用。禁用時,模組的所有介面都會被移除,所有事件都會斷開。此功能只能從 LocalScript 中呼叫。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))SelfieMode.setEnabled(false)
事件
自拍模式已開啟
當玩家開啟自拍模式或當 openSelfieMode 被呼叫時,發生火災。這個事件只能在 LocalScript 中連接。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.selfieModeOpened:Connect(function()
print("Selfie mode open")
end)
自拍模式已關閉
當玩家關閉自拍模式或當 closeSelfieMode 被呼叫時,發生火災。此事件只能在 LocalScript 中連接。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.selfieModeClosed:Connect(function()
print("Selfie mode closed")
end)
行動已啟用
當啟用行動時發生火災;這可能是像 鏡頭深度 、 鎖定視線 或 隱藏其他人 等主要行動之一;或者可能是子行動,例如 過濾器 或 姿勢 。連接的功能接收啟用的 行動。此事件只能在 LocalScript 中連接。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activated")
end)
行動已停用
當主要行動或子行動被停用時發生火災。連接的功能接收到停用的 行動。此事件只能在 LocalScript 中連接。
本地脚本
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "deactivated")
end)
過濾器變更
當過濾器 被應用或移除時,發生火災。連接的功能收到新過濾器名稱和舊過濾器名稱。此事件只能在 LocalScript 中連接。
本地脚本
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)
位置變更
當 姿勢 被應用或移除時,發生火災。連接的功能會收到新的姿勢名稱和舊的姿勢名稱。此事件只能在 LocalScript 中連接。
本地脚本
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)