虛擬人偶上下文選單 (ACM) 使用戶更容易相互交互。當在體驗中啟用 ACM 時,使用者可以走到另一個使用者的角色並點擊它們以開啟一個小菜單,包含多個預設選項。玩家可以發送好友請邀請、開始私人聊天、查看使用者的個人個人檔案料或波浪。
在體驗中啟用 ACM 之後,您可以以下方式自定義 ACM:
啟用人物上下文選單
虛擬人偶上下文選單必須使用 StarterGui:SetCore() 選項「AvatarContextMenuEnabled」在 LocalScript 中啟用。ACM最好在沒有預定義行為的情況下使用體驗,點擊其他用戶。
使用以下代碼示例來啟用 ACM 在 LocalScript 中:
-- 在本地脚本中運行,理想情況下在「新手玩家腳本」中local StarterGui = game:GetService("StarterGui")StarterGui:SetCore("AvatarContextMenuEnabled", true)
如果您需要檢查是否啟用 ACM,可以使用以下代碼來返回 ACM 當前狀態的 boolean:
--返回指示是否啟用 ACM 的 boolean 值。StarterGui:GetCore(AvatarContextMenuEnabled)
開啟並關閉 ACM
一旦啟用,您可以使用 StarterGui 開啟和關閉 ACM 程序。
若要透過程式開啟 ACM,請使用以下代碼:
-- 使用新手指南:在目標玩家是有效的玩家對象時設置核物件 where targetPlayer is a valid Player objectStarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)
要程式地關閉 ACM,請使用以下代碼:
StarterGui:SetCore("AvatarContextMenuTarget", nil)
選單選項
您可以通過腳本 添加 和 移除 操作。默認情況下,菜單具有以下選項:
選單選項 | 說明 |
---|---|
好友 | 向選擇的使用者發送朋友請求。 |
聊天 | 在體驗聊天中開啟與選擇的用戶私人對話。 |
查看 | 開啟一個窗口以檢查選擇的使用者的外觀。 |
波 | 向選擇的使用者啟動波動畫。 |
一旦ACM打開,使用者可以在角色選擇卡片上滾動並選擇其他使用者。角色依選擇的角色距離排序。選單只會在開啟時更新,可用用戶列表會在滾動時重複。

新增選單選項
一旦啟用,經驗特定的行動可以添加到 ACM。例如,體驗可能會允許交易請求、加入派對選項或其他特殊互動。
以下範例顯示如何將自訂行動添加到虛擬人偶上下文選單:
local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- 將功能連接到「可綁定事件」
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- 在這個時候,您可以在遠端功能上呼叫 InvokeServer() 來警告服務器選擇
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- 使用「SetCore()」與「AddAvatarContextMenuOption」添加 ACM 選項
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)
移除選單選項
您可以從 ACM 中刪除自訂和預設的「新增好友」、「聊天」、「查看」和「揮手」選項,參考自訂行動名稱或預設 Enum.AvatarContextMenuOption 枚列。
使用以下代碼來移除預設和自訂菜單選項:
-- 移除「自訂 ACM 行動」選項StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")-- 通過參考 AvatarContextMenuOption.Friend Enum 來移除預設「朋友」選項StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)
自訂選單外觀
若要變更虛擬人偶上下文選單的外觀,請使用「AvatarContextMenuTheme」選項呼叫 StarterGui:SetCore() ,提供一個包含參數和值的表來調整選單外觀。
ACM 使用者介面包括以下部分:

A. 名稱標籤:與互動的角色名稱。
B. 按鈕框:包含所有的 ACM 按鈕。
C. 按鈕:預設或自訂 ACM 操作的個別按鈕。
外觀參數
這些是使用 ACM 的自訂參數:
背景
背景色 | 對於 ACM 的整體背景的 Color3 (最有用時不使用背景圖像) |
背景透明 | ACM 的整體背景透明值 (0–1) (最有用時不使用背景圖像)。 |
背景圖像 | ACM 背景的圖像有效資產 ID。 |
背景圖像透明度 | 背景圖像的透明度值(0–1)。 |
背景圖像縮放類型 | 一個 Enum.ScaleType 枚用於背景圖像縮放。 |
背景圖像片中心 | 當背景圖像縮放類型設為 Rect 時,指定九片圖像的中心時 Enum.ScaleType.Slice 。 |
名稱標籤
按鈕框
按鈕框色 | 包含行動按鈕的部分(框)的 Color3 。 |
按鈕框透明度 | 按鈕框部分的透明值(0–1)。 |
按鈕
按鈕顏色 | 對於 ACM 行動按鈕的背景的 Color3。 |
按鈕透明度 | 行動按鈕背景顏色的透明值(0–1)。 |
按鈕漂浮顏色 | 對行動按鈕的「懸浮訊息」狀態的 Color3。 |
按鈕漂浮透明度 | 行動按鈕「懸浮訊息」顏色的透明值(0–1)。 |
按鈕底線顏色 | 一個 Color3 用於分開每個行動按鈕的薄線。 |
按鈕圖像 | 按鈕背景的圖像有效資產ID。 |
按鈕圖像縮放類型 | 按鈕圖像縮放的 Enum.ScaleType。 |
按鈕圖像片段中心 | 當按鈕圖像縮放類型設為 Rect 時,指定九片圖像中心時的 Enum.ScaleType.Slice 參數。 |
文字
各種圖像
離開選單圖像 | ACM 關閉按鈕的圖像 ID。 |
滾動左圖像 | 旋轉「向左滾動」按鈕的圖像資產ID。 |
滾動右圖像 | 輪盤「向右滾動」按鈕的有效資產 ID 圖像。 |
已選擇的角色
已選擇的角色指示器 | 漂浮在字元頭上的 MeshPart ,用於表示已選擇。 |
大小和位置
尺寸 | 對 ACM 的整體尺寸的 UDim2 。 |
最小尺寸 | 一個 Vector2 指定 ACM 的最小尺寸。 |
最大尺寸 | 一個 Vector2 指定 ACM 的最大尺寸。 |
比例率 | 一個浮點值,指定 ACM 的相對寬度和高度。 |
錨點 | ACM 的 AnchorPoint 。 |
在畫面位置 | 一 UDim2 指定 ACM 的屏幕位置(打開時它會調整到的位置) |
關閉屏幕位置 | A UDim2 指定 ACM 的關閉屏幕位置(打開/關閉時從/到的位置)。 |
範例自訂
以下代碼示例使用一些基本參數自定義 ACM 主題:
local StarterGui = game:GetService("StarterGui")StarterGui:SetCore("AvatarContextMenuTheme", {BackgroundImage = "",BackgroundTransparency = 0.5,BackgroundColor = Color3.fromRGB(111, 145, 242),NameTagColor = Color3.fromRGB(0, 0, 200),NameUnderlineColor = Color3.fromRGB(213, 233, 255),ButtonFrameColor = Color3.fromRGB(15, 24, 65),ButtonFrameTransparency = 0.2,ButtonUnderlineColor = Color3.fromRGB(213, 233, 255),Font = Enum.Font.SciFi})
