一个 心情 是一个类型的 面部动画 对于可循环无限的头部,允许用户用持久的面部表情来表达自己并反应于其他人,从而产生持续的面部表情。心情与其他角色的 默认动画,例如走路、攀爬和游泳,以及如果默认动画具有面部动画,那么默认动
创建心情
如果您有一个拥有可动头的角色模型,您可以使用 面部动画编辑器 创建任何可以使用第 面部动画编辑器 创建或修改现有模型来支持动画头在第三方建模软件中,例如 Blender 或 Maya 中。 对于创建动态头的信
要创建一个心情:
将一个带有可动头的角色模型添加到视图。
打开 面部动画编辑器 。
在菜单栏中,导航到 虚拟形象 选项卡。
在 动画 部分中,单击动画编辑器。动画编辑器窗口显示。
在视图中,选择你的角色模型有动画的头。 一個對話框顯示。
在 动画名称 字段中,输入一个新的动画名称,然后单击 创建 按钮。动画编辑器窗口显示 媒体和播放控件 、1>时间线1>和4>轨道列表4>。
在动画编辑器的轨道列表中,单击面按钮。面部动画编辑器显示在轨道列表的左侧。
在 面部动画编辑器 中,调整面部部件的滑块。面部部件的动画跟踪会在您操作的每个面部部件自动显示在视窗列表中,并且会在当前位置的时间轴上显示键帧。角色的面部也会在视图中更新。
- 要在滚动条上撤销步骤,请按下 Ctrl Z (⌘ Z).
- 在滚动条上重做一步,请按 CtrlY (⌘Y).
- 要将滑块重置为默认值,请单击滚动条。一个上下文菜单显示。选择 重置选定 。
当您创建完成您的动画后,导航到 媒体和播放控件 ,然后单击 … 按钮。弹出菜单显示。
选择 保存 或 保存为 保存情绪动画。动画显示在 探险器 窗口中作为 1> AnimSaves1> 对象的子女 (它本身是 4> 装备4> 的子骨架)。
(可选) 为您的心情动画分配资产 ID 并将其保存到 工具箱 以便在您的体验中使用,
在 Explorer 窗口中,右击您的新情绪动画。一个上下文菜单显示。
选择 保存到 Roblox 。显示 资产配置对话框 。
填写以下字段:
- 标题 :您插件的名称。
- 描述 :用户潜在期望插件做什么的描述。
- 创建者 :您想将创建者归为插件的创建者。
点击 提交 按钮。一段时间后,资产配置对话框显示您的心情Animation.AnimationID,您可以使用它来为您的体验设置心情。
设置心情
每个角色都有一个可以动画的头,一个子 动画 子 LocalScript 子 Class.String

编辑动画ID
您可以根据您的体验中的每个角色设置特定的心情,例如根据用户触发事件时编辑其心情的 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 下面的情绪对象。例如,以下 Script 将每个角色的 2>情绪2> 5> Class.StringValue5> 移除为快速。
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)