【发布时间】:2016-06-19 14:39:02
【问题描述】:
我正在开发一款允许放置一些建筑物的游戏 程序旋转。
我发现以下我正在尝试合并的轮换代码:
function TransformModel(objects, center, new, recurse)
for _,object in pairs(objects) do
if object:IsA("BasePart") then
object.CFrame = new:toWorldSpace(center:toObjectSpace(object.CFrame))
end
if recurse then
TransformModel(object:GetChildren(), center, new, true)
end
end
end
在我的建筑放置脚本中调用如下:
local center = model:GetModelCFrame()
TransformModel( model:GetChildren(), center, center * CFrame.Angles(0,math.rad(45),0), true )
所以代码在某种程度上起作用了...模型确实会旋转,但只是在它跳到空中并随意降落之后才最终稳定在旋转的位置,尽管它与物理后的精确 45 度旋转相去甚远在空中跳跃并落下的效果。
我不太确定,但我怀疑有一种更好的方法可以在模型平滑旋转的情况下完成此操作。任何帮助将不胜感激。
谢谢, 安迪
【问题讨论】:
标签: roblox