情緒是一種可以在無限週期重複的頭部動畫的面部動畫類型,允許用戶用持續的面部動畫來表達自己並對其他人進行反應。情緒與其他角色的預設動畫一起播放,例如走路、攀爬和游泳,並且如果預設動畫有面部動
創建氣氛
如果你有一個擁有可動頭的角色模型,你可以使用 面部動畫編輯器 創建任何可以用來支持動畫頭的引用角色模型。如果你不想使用 Blender 或 Maya Goblin 參考角色模
要創建氣氛:
添加一個具有可動畫頭的角色模型到視角。
開啟 臉部動畫編輯器 。
在選單欄中,導航到 虛擬人偶 標籤。
在 動畫 區域,單擊動畫編輯器。動畫編輯器視窗顯示。
在視角中,選擇你的角色模型有動畫的頭。會顯示對話框。
在 動畫名稱 字段中,輸入新的動畫名稱,然後按一下 創建 按鈕。動畫編輯器視窗會顯示 媒體和播放控制 、1>時間線1> 和 4>軌道列表4>。
在 軌道列表 的動畫編輯器中,單擊 面 按鈕。 面部動畫編輯器 會顯示在軌道列表的左邊。
在 面部動畫編輯器 中,調整滑塊控制您想要操作的面部零件。動畫跟蹤對於您操作的每個面部零件會自動顯示在軌道列表中,並且鍵框對您當前位置在時間線上更新。角色的面部也會在視角中更新。
- 要在控制桿上還原一步,按下 CtrlZ (⌘Z).
- 要在控制欄位上重做一個步驟,請按 CtrlY (⌘Y).
- 要將控制欄杠重設為預設值,請單擊控制欄杠。一個上下文菜單顯示。選擇 重設已選擇 。
當您創作完成您的動畫後,請前往媒體和播放控制並點擊…按鈕。一個 pop-up 選單會顯示。
選擇 儲存 或 儲存為 儲存情緒動畫。動畫會在 探險家 窗口作為 1>AnimSaves1> 對象的子孫顯示 (它自己是一個子孫對象的子孫)。
(可選) 為您的情緒動畫分配資產 ID 並將其儲存到 工具箱 中以便在您的體驗中使用,
在 Explorer 窗口中,右鍵點擊您的新情緒動畫。一個上下文菜單顯示。
選擇 儲存到 Roblox。顯示 資產設定對話框。
填寫以下字段:
- 標題 : 您外掛程式的名稱。
- 說明 : 說明潛在用戶應該期望插件做的事。
- 創作者 : 您想將創作者屬寫為外掛程式的創作者。
點擊 提交 按鈕。稍後,資產設定對話框會顯示您的心情Animation.AnimationID,可以用來設定心情對於您的體驗。
設定心情
每個角色擁有一個可以動畫的頭,有一個 動畫LocalScript 裡面包含��

編輯動畫載入碼
您可以在體驗中設定每個角色的特定情緒,例如將他們的情緒的 Animation.AnimationID 編輯,當使用者觸發事件時。 例如,下列 Script 編輯了任何以前設置的情緒到 打開角色的嘴巴 作為使用者進入體驗:
local Players = game:GetService("Players")
local function onCharacterAdded(character)
local humanoid = character:WaitForChild("Humanoid")
local animateScript = character:WaitForChild("Animate")
animateScript.mood.Animation1.AnimationId = "rbxassetid://7715145252" -- 心情
end
local function onPlayerAdded(player)
player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)
使用人形描述
您也可以使用 HumanoidDescription 系統來尋找使用者角色並編輯他們的 AnimationIDs 對於任何預設動畫。例如,下列 Script 編輯任何以前設定的氣氛到左側面的角色時,角
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")if humanoid thenlocal descriptionClone = humanoid:GetAppliedDescription()descriptionClone.IdleAnimation = 10725833199-- 將「說明複製」套用於人形humanoid:ApplyDescription(descriptionClone)end
停用心情
要從您的體驗中禁用情緒,您可以刪除 動畫 底部的情緒對象。例如,以下 LocalScript 會僅刪除每個角色的 Script1> Class.StringValue1> ,當他們加入體驗:
local Players = game:GetService("Players")
local function onCharacterAdded(character)
local humanoid = character:WaitForChild("Humanoid")
local animateScript = character:WaitForChild("Animate")
animateScript.mood:Destroy()
end
local function onPlayerAdded(player)
player.CharacterAppearanceLoaded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)