HumanoidDescription

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

人形描述 是一个存储 R6 和 R15 架构的描述的对象。它可以是 applied 以设置装骨架的缩放、服装( Shirt , Pants , ShirtGraphic )、Accessories , AnimationsBodyColors

您可以使用以下函数获得一个人形描述:

还见:

概要

属性

方法

活动

属性

AccessoryBlob

未复制
不可写入脚本
读取并联

一种 JSON 格式的分层服装阵列,其中每个表在阵列中描述一个饰品的资产ID、配件类型、订单和(可选)泡泡的键值对。这可以在 HumanoidDescription 的属性窗口中编辑。

要从 Luau 进行更改(建议直接编辑 JSON),请使用 HumanoidDescription:SetAccessories()HumanoidDescription:GetAccessories() 。这些方法也可以启用与刚性配件一起工作,通过将包括刚性配件参数设置为真实来设置。

BackAccessory

未复制
读取并联

返回配件 是一个由逗号分开的列表 of资产ID,决定在描述为applied时应添加哪些配件。列表不能包含重复项。

如果您尝试应用与现有描述共享任何资产但不同的配件属性的新描述,将抛出错误。

还见:

BodyTypeScale

读取并联

身体类型比例 决定了从标准 R15 身体形状(0)到更高和更瘦的身体类型(1)的形状被插补的因子。超出 0 到 1 范围的值被夹住。当描述通过 Humanoid:ApplyDescription() 应用时,该值映射到 身体类型比例 NumberValue 内的 Humanoid

注意,当这个属性的值为 0 时,ProportionScale 属性没有效果。

还看到也看到

ClimbAnimation

读取并联

当这个描述是 到一个 时, 攀爬动画 确定在其 播放时播放。

还见:

DepthScale

读取并联

深度比例 决定了深度(回到前面距离)的 Humanoid 缩放因素,以及所有不附在其头上的配件。当描述通过 Humanoid:ApplyDescription() 应用时,该值映射到人形内部的 身体深度比例 NumberValue

还看到也看到

Face

读取并联

脸部 确定要将脸部资产 ID 设置为 appliedHumanoid 。提供的资产ID类型 必须为面 类型资产,而不是装饰或图像类型素材。

实际面部纹理使用头部命名为“面”或“面”的 Decal 渲染。

还见:

FaceAccessory

未复制
读取并联

面部配件 是一个分开列表的资产ID,决定在描述为applied应添加哪些配件(例如眼镜)。列表不包含重复项。

如果您尝试应用与现有描述共享任何资产但不同的配件属性的新描述,将抛出错误。

还见:

FallAnimation

读取并联

当这个描述是 到一个 时, 坠落动画 确定在其 播放时播放。

还见:

FrontAccessory

未复制
读取并联

前部配件 是一个由逗号分开的列表 of资产ID,决定在描述为applied时应添加哪些配件(例如奖牌或领带),通常附在躯干前部(例如奖牌或领带)。列表不包含重复项。

如果您尝试应用与现有描述共享任何资产但不同的配件属性的新描述,将抛出错误。

还见:

GraphicTShirt

读取并联

图形T恤 决定了一个 实例在 被调用时使用的 。资产类型必须为 T恤 ,而不是 贴花图像

还看到也看到

HairAccessory

未复制
读取并联

头发配件 是一个由逗号分开的列表 of资产ID,决定在描述为applied应添加哪些配件,通常是附在其头上的头发。列表不包含重复项。

如果您尝试应用与现有描述共享任何资产但不同的配件属性的新描述,将抛出错误。

还见:

HatAccessory

未复制
读取并联

帽配件 是一个由逗号分开的列表 of资产ID,决定在描述为applied应添加哪些配件,通常是附在其头部上的。列表不包含重复项。

如果您尝试应用与现有描述共享任何资产但不同的配件属性的新描述,将抛出错误。

还见:

未复制
读取并联

决定头的资产ID为 appliedHumanoid

还见:

HeadColor

未复制
读取并联

头部颜色 决定了描述时 BodyColors.HeadColor3BodyColors.HeadColorHumanoid 当描述是 applied

还见:

HeadScale

读取并联

头部缩放 决定通过哪个因素将 对象的 Humanoid 缩放,以及任何附加到它上的配件(例如由 HatAccessoryHairAccessory 指定的)。当描述通过 应用时,该值映射到 头部缩放 内的 。

还看到也看到

HeightScale

读取并联

高度比例 决定了 Humanoid 的高度(上至下距离)以及所有附在头部上的配件的缩放因子。当描述通过 Humanoid:ApplyDescription() 应用时,该值映射到 身高比例 NumberValue 内的 Humanoid

还看到也看到

IdleAnimation

读取并联

当这个描述是 到一个 时, 空闲动画 确定在其 速度几乎为零时播放。

还见:

JumpAnimation

读取并联

当这个描述是 到一个 时, 跳跃动画 确定在其 播放时播放。

还见:

LeftArm

未复制
读取并联

左臂 确定左臂的资产ID为appliedHumanoid

还见:

LeftArmColor

未复制
读取并联

左臂颜色 决定了描述时 BodyColors.LeftArmColor3BodyColors.LeftArmColorHumanoid ,当描述是 applied 时。对于 R15 和 Rthro 装备,此属性控制左臂的上部、下部和手部。

还见:

LeftLeg

未复制
读取并联

左腿 决定左腿的资产ID为appliedHumanoid

还见:

LeftLegColor

未复制
读取并联

左腿颜色 决定了描述时 BodyColors.LeftLegColor3BodyColors.LeftLegColorHumanoid ,当描述是 applied 时。对于 R15 和 Rthro 装备,此属性控制左腿的上部、下部和脚部。

还见:

MoodAnimation

读取并联

NeckAccessory

未复制
读取并联

颈部配件 是一个由逗号分开的列表资产ID,决定在描述为applied应添加哪些配件(例如围巾或项链)。列表不包含重复项。

任何配件都可以在此属性中使用,即使它是用于进入不同的配件位置。例如,用于放在你背上的配件(例如披风)可以包含在 HairAccessory 中。如果您尝试应用与现有描述共享任何资产但不同的配件属性的新描述,将抛出错误。

还见:

Pants

读取并联

裤子 决定了当 PantsTemplatePants 上调用时 Humanoid:ApplyDescription() 由一个 Humanoid 实例使用的 。资产类型必须为 裤子 ,而不是 贴花图像

还看到也看到

ProportionScale

读取并联

比例尺寸 决定了 Humanoid 杆的宽度(0)或窄度(1)。超出 0 到 1 范围的值被夹住。当描述通过 应用时,该值映射到 身体比例比例尺 内的 。

请注意,当 BodyTypeScale 的值为 0 时,此属性没有影响。

还看到也看到

RightArm

未复制
读取并联

右臂 确定右臂的资产ID为appliedHumanoid

还见:

RightArmColor

未复制
读取并联

右臂颜色 决定了描述时 BodyColors.RightArmColor3BodyColors.RightArmColorHumanoid ,当描述是 applied 时。对于 R15 和 Rthro 机械人,此属性控制右臂的上部、下部和手部。

还见:

RightLeg

未复制
读取并联

右腿 决定右腿的资产ID为appliedHumanoid

还见:

RightLegColor

未复制
读取并联

右腿颜色 决定了描述时 BodyColors.RightLegColor3BodyColors.RightLegColorHumanoid 当描述是 applied 。对于 R15 和 Rthro 装备,此属性控制右腿的上部、下部和脚部。

还见:

RunAnimation

读取并联

当这个描述是 到一个 时, 运行动画 确定在其 播放时以中等速度播放。

还见:

Shirt

读取并联

衬衫 决定了 ShirtTemplate 在调用 Shirt 时被使用的 Humanoid:ApplyDescription() 实例,当 Humanoid 被调用时。资产类型必须为 衬衫 ,而不是 贴花图像

还看到也看到

ShouldersAccessory

未复制
读取并联

肩部配件 是一个由逗号分开的列表资产ID,决定在描述为applied应添加哪些配件(例如附在肩部的生物)。列表不包含重复项。

如果您尝试应用与现有描述共享任何资产但不同的配件属性的新描述,将抛出错误。

还见:

SwimAnimation

读取并联

当这个描述是 到一个 时, 游泳动画 确定在其 播放时播放

还见:

Torso

未复制
读取并联

躯干 确定躯干的资产ID为 appliedHumanoid

还见:

TorsoColor

未复制
读取并联

躯干颜色 决定了描述时 BodyColors.TorsoColor3BodyColors.TorsoColorHumanoid 当描述是 applied 。对于 R15 和 Rthro 装备,此属性控制躯干的上部和下部。

还见:

WaistAccessory

未复制
读取并联

腰部配件 是一个由逗号分开的列表 of资产ID,决定在描述为applied应添加哪些配件(例如腰带)。列表不包含重复项。

如果您尝试应用与现有描述共享任何资产但不同的配件属性的新描述,将抛出错误。

还见:

WalkAnimation

读取并联

当这个描述是 到一个 时, 步行动画 确定在其 播放低速时播放

还见:

WidthScale

读取并联

宽度比例 决定了宽度(左至右距离)的 Humanoid 被缩放到什么因子,以及所有附在它头上的配件。当描述通过 Humanoid:ApplyDescription() 应用时,该值映射到 身体宽度比例 NumberValue 内的 Humanoid

还看到也看到

方法

AddEmote

()

添加表情 将添加一个表情资产到描述中,给予其名称和资产ID。资产ID必须为“表情”资产(见特色表情在目录中)。

您可以添加多个具有相同名称的表情。所有同名的表情都可以使用 RemoveEmote 来删除。如果具有相同ID的表情在相同名称下添加,EmotesChanged将触发。

还见:

参数

name: string

用于确定添加哪个表情的字符串。例如:"Salute"

默认值:""
assetId: number

一个表情资产 ID。

默认值:""

返回

()

GetAccessories

返回虚拟形象的当前配件表。如果第二个参数(包括刚性配件)为真,返回的表也会包含刚性配件属性的入口。

参数

includeRigidAccessories: boolean

如果刚性附件从刚性附件属性中也应包含在返回数组中,将设置为真值。假意味着只包含来自配件 blob 的分层服装配件。

默认值:""

返回

返回一个阵列,每个条目指定一个特定配件的 AccessoryType、AssetId、IsLayered、顺序和泡泡。

代码示例

This code sample prints out all the asset ids and types of the accessories in the HumanoidDescription.

Get Accessories

local includeRigidAccessories = true
local accessoriesTable =
game:GetService("Players"):GetHumanoidDescriptionFromUserId(1):GetAccessories(includeRigidAccessories)
for _, accessoryInfo in ipairs(accessoriesTable) do
print(tostring(accessoryInfo.AssetId) .. " " .. tostring(accessoryInfo.AccessoryType))
end

GetEmotes

获取表情符号 返回这个描述中已经 addedset 的表情符号词典。该词典的键是表情名称,值是为该名称的非空集合的表情ID。

例子


local hd = Instance.new("HumanoidDescription")
hd:AddEmote("Salute", 3360689775)
local emotes = hd:GetEmotes()
for name, ids in emotes do
print(("The emote %s has %d ids:"):format(name, #ids))
for _, id in ids do
print(id)
end
end

还见:


返回

一个包含键为表情名称和值为表情资产ID阵列的表情词典。例如:


{
Salute = {3360689775},
Agree = {4849487550},
Disagree = {4849495710}
}

.

GetEquippedEmotes

GetEquippedEmotes 返回一个阵列表,表示每个装备的表情符号的 NameSlotSetEquippedEmotes 设置为它是如何设置的。

例子


local hd = Instance.new("HumanoidDescription")
hd:SetEmotes({Salute = {3360689775}, Agree = {4849487550}})
hd:SetEquippedEmotes({"Salute", "Agree"})
-- 循环过装备的表情:
for _, t in hd:GetEquippedEmotes() do
print(("In slot %d: emote %s is equipped"):format(t.Slot, t.Name))
end

还见:


返回

描述每个表情装备的名称和插槽的一组表。例如:


{
{Slot = 3, Name = "Salute"},
{Slot = 2, Name = "Agree"},
{Slot = 1, Name = "Disagree"},
}

.

RemoveEmote

()

移除表情符号 移除所有表情符号从描述中被移除 addedset 在指定名称下。如果没有添加指定名称的表情符号,不会抛出错误,EmotesChanged 不会 发触发。

还见:

参数

name: string

表情的名称为它曾是 setadded

默认值:""

返回

()

SetAccessories

()

接受一个表,该表设置虚拟形象的配件和相关属性。如果第二个参数(包括刚性配件)为真,则此函数也可用于设置刚性配件在刚性配件属性中。在这种情况下,没有订单的任何表条目都会被视为刚性配件,并根据配件类型放置在相应的属性中。

参数

accessories: Array

每个输入为每个配件指定配件类型、资产ID、可堆叠以及排序和泡泡。

默认值:""
includeRigidAccessories: boolean

如果包含刚性配件,将设置为真值,如果传递的阵列中包含刚性配件(它们必须不指定顺序)。

默认值:""

返回

()

代码示例

This code sample adds two accessories to a HumanoidDescription.

Set Accessories

local humanoidDescription = Instance.new("HumanoidDescription")
local originalSpecifications = {
{
Order = 1,
AssetId = 123456789,
Puffiness = 0.5,
AccessoryType = Enum.AccessoryType.Sweater,
},
}
humanoidDescription:SetAccessories(originalSpecifications)
local updatedSpecifications = humanoidDescription:GetAccessories(false)
local newIndividualSpecification = {
Order = 2,
AssetId = 987654321,
Puffiness = 0.7,
AccessoryType = Enum.AccessoryType.Jacket,
IsLayered = true,
}
updatedSpecifications[#updatedSpecifications + 1] = newIndividualSpecification
humanoidDescription:SetAccessories(updatedSpecifications)

SetEmotes

()

设置表情符号 将此描述中的所有表情符号设置为与 GetEmotes 返回的表情符号相似的表。它触发 EmotesChanged

例子


local emotes = {
Salute = {3360689775}, -- 语法注释:也可以使用 ["Salute"] = ...
Agree = {4849487550},
Disagree = {4849495710}
}
local hd = Instance.new("HumanoidDescription")
hd:SetEmotes(emotes)

还见:

参数

emotes: Dictionary

一个包含键为表情名称和值为表情资产ID阵列的表情词典。例如:


{
Salute = {3360689775},
Agree = {4849487550},
Disagree = {4849495710}
}

.

默认值:""

返回

()

SetEquippedEmotes

()

设置装备的表情符号 设置当前装备的表情符号给予一个阵列的表情名称,因为它们被传送到 AddEmoteSetEmotes 。它还可以接受类似于 GetEquippedEmotes 返回的一组表。调用此函数会触发 EquippedEmotesChanged .

例子


local hd = Instance.new("HumanoidDescription")
hd:SetEmotes({Salute = {3360689775}, Agree = {4849487550}})
-- 可以提供一个阵列的字符串...(索引是插槽号)
hd:SetEquippedEmotes({"Salute", "Agree"})
-- ...或由 GetEquippedEmotes(插槽和名称键设置) 返回的表阵列
hd:SetEquippedEmotes({{Slot = 1, Name = "Salute"}, {Slot = 2, Name = "Agree"}})

还见:

参数

equippedEmotes: Array

一组表情名称。例如:


{ "Disagree", "Agree", "Salute" }

– 或 – 一个描述每个表情装备的名称和插槽的表阵列。例如:


{
{Slot = 3, Name = "Salute"},
{Slot = 2, Name = "Agree"},
{Slot = 1, Name = "Disagree"},
}

.

默认值:""

返回

()

活动

EmotesChanged

更改表情 在表情是 addedremovedset 时描述发。事件以新的表情表发射,由 GetEmotes 返回。

如果 AddEmote 以相同的名称和ID调用现有的动作,此事件将触发。

还见:

参数

newEmotes: Dictionary

一个包含键为表情名称和值为表情资产ID阵列的表情词典。例如:


{
Salute = {3360689775},
Agree = {4849487550},
Disagree = {4849495710}
}

.


EquippedEmotesChanged

装备的表情已更改 在装备的表情被设置在此描述中使用 SetEquippedEmotes 时触发。它提供新装备的表情在像 GetEquippedEmotes 返回的表中。

例子


local hd = Instance.new("HumanoidDescription")
hd.EquippedEmotesChanged:Connect(function(equippedEmotes)
print(("We have %d emotes equipped"):format(#equippedEmotes))
for _, t in equippedEmotes do
print(("In slot %d: emote %s is equipped"):format(t.Slot, t.Name))
end
end)
hd:SetEquippedEmotes({"Salute", "Agree"}) --> We have 2 emotes equipped

还见:

参数

newEquippedEmotes: Array

描述每个表情装备的名称和插槽的一组表。例如:


{
{Slot = 3, Name = "Salute"},
{Slot = 2, Name = "Agree"},
{Slot = 1, Name = "Disagree"},
}

.