Skip to content

ModelUnit ​

ModelUnit 是用于组织多个 SpaceUnit 子对象并以统一枢轴进行整体移动的模型容器。

概览 ​

ModelUnit 是用于组织多个 SpaceUnit 子对象并以统一枢轴进行整体移动的模型容器。

继承自 SpaceUnit;可通过 World:CreateUnit("ModelUnit", ...) 创建;返回单个单位

函数 ​

MoveTo ​

签名:MoveTo(position: Vector3)

将模型整体移动到指定的世界空间位置。

参数类型说明
positionVector3目标位置

按已设置的枢轴移动模型

lua
-- @runtime client
local World = game:GetService("World")
local model = World:CreateUnit("ModelUnit", {
    Name = "MovingModel",
    WorldPivot = CFrame.New(0, 0, 0),
})
if model == nil then return end
World:CreateUnit("WorldUnit", { Name = "Child", Parent = model })
model:MoveTo(Vector3.New(10, 5, 0))
print("移动后位置:", model.Position)
model:Destroy()

属性 ​

名称类型默认值说明
PrimaryPartSpaceUnit-模型的核心部件,作为整体移动和物理模拟的参考基准。设置后枢轴跟随该部件;未设置时由 WorldPivot 决定。
WorldPivotCFrame-未设置 PrimaryPart 时使用的世界空间枢轴。直接赋值只更新 ModelUnit 自身枢轴,不会移动子对象;PivotTo、MoveTo 等操作以它计算位移增量。
PositionVector3[0.0, 0.0, 0.0]模型在世界空间中的位置,是调用 PivotTo 的便捷属性。
RotationQuaternion[0.0, 0.0, 0.0, 1.0]模型在世界空间中的四元数旋转,是调用 PivotTo 的便捷属性。