如何获得 roblox 模型的大小值

我正在制作一个涉及使用 Part 的

Size

属性的游戏。但是,由于模型没有 Size 属性,所以我想知道如何获取模型的 Size 属性。 我希望得到一个不适用其他 Part(如数字值)来存储它的答案。 谢谢!

点赞
用户9922866
用户9922866

正如您所述,Model没有Size属性,因为它是从BasePart类继承的,而BasePart类不是Model的父类。

如果您所说的模型“大小”是指其边界框的尺寸,则Model类具有一个成员函数:GetExtentsSize()

Roblox参考文章可以在此处找到,文章中说:

返回包含模型中所有BasePart的最小边界框的大小。如果存在Model.PrimaryPart,则边界框将对齐到该部件。如果未设置主要部件,则该函数将选择模型中的某个部件来对齐边界框。由于选择该部件不是确定性的,因此建议设置Model.PrimaryPart以获取此函数的一致结果。

请注意,此函数仅返回最小边界框的大小,开发人员必须使用自己的方法来获取边界框的位置。

正如此描述所指出的那样,为没有主要部件的模型调用此函数可能会产生不一致的结果。在Roblox Studio中编辑时,您可能已经选择了一个模型,将其复制,然后看到副本的边界框与原始的不同。我想这就是该文章所指的该种不一致性。

还有一个名为GetBoundingBox()Model类成员函数,它返回一个描述包含模型所有零件的体积的元组。请注意,尽管如此,但我在快速搜索后才发现这个函数,并且我还没有时间看它是如何工作的。

2020-11-23 13:29:34