我正在製作一個遊戲,允許放置一些建築物,並且程序性地旋轉 。Roblox - 旋轉模型
我發現了,我試圖將下面的輪換代碼:
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度旋轉很遠,但是它只是在旋轉到空中並隨意着陸之後才最終落在旋轉的位置上。
我不太確定,但我懷疑有一種更好的方式可以在模型順利旋轉的情況下完成此操作。任何幫助將不勝感激。
感謝, 安迪
這並不提供答案的問題。要批評或要求作者澄清,請在其帖子下方留言。 - [來自評論](/ review/low-quality-posts/11774220) –
我已經更新了我的答案,所以希望更清楚和有用的東西。 – UristMcSparks
請注意,如果您試圖旋轉其中具有「人形」的模型,則需要將模型的「PrimaryPart」設置爲「HumandoidRootPart」;模型的其他物理部分將不起作用。 – fastmultiplication