主题
ModelUnit
ModelUnit 是用于组织多个 SpaceUnit 子对象并以统一枢轴进行整体移动的模型容器。
概览
ModelUnit 是用于组织多个 SpaceUnit 子对象并以统一枢轴进行整体移动的模型容器。
继承自
SpaceUnit;可通过World:CreateUnit("ModelUnit", ...)创建;返回单个单位
函数
MoveTo
签名:MoveTo(position: Vector3)
将模型整体移动到指定的世界空间位置。
| 参数 | 类型 | 说明 |
|---|---|---|
position | Vector3 | 目标位置 |
按已设置的枢轴移动模型
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()属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
PrimaryPart | SpaceUnit | - | 模型的核心部件,作为整体移动和物理模拟的参考基准。设置后枢轴跟随该部件;未设置时由 WorldPivot 决定。 |
WorldPivot | CFrame | - | 未设置 PrimaryPart 时使用的世界空间枢轴。直接赋值只更新 ModelUnit 自身枢轴,不会移动子对象;PivotTo、MoveTo 等操作以它计算位移增量。 |
Position | Vector3 | [0.0, 0.0, 0.0] | 模型在世界空间中的位置,是调用 PivotTo 的便捷属性。 |
Rotation | Quaternion | [0.0, 0.0, 0.0, 1.0] | 模型在世界空间中的四元数旋转,是调用 PivotTo 的便捷属性。 |
