首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Roblox旋转模型

Roblox旋转模型
EN

Stack Overflow用户
提问于 2016-03-06 05:31:08
回答 2查看 6.9K关注 0票数 1

我正在开发一款游戏,它允许一些建筑物被放置并按程序旋转。

我找到了下面的循环代码,我正在尝试合并这些代码:

代码语言:javascript
复制
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

它在我的建筑放置脚本中按如下方式调用:

代码语言:javascript
复制
local center = model:GetModelCFrame()
TransformModel( model:GetChildren(), center, center * CFrame.Angles(0,math.rad(45),0), true )

所以代码是有效的,在某种程度上...这个模型确实有些旋转,但只是在它跳入空中并随意着陆后,最后才稳定在旋转的位置,尽管在跳跃在空中并稳定下来的物理效应之后,它远不是精确的45度旋转。

我不太确定,但我怀疑有一种更好的方法来实现这一点,其中模型平滑地旋转。任何帮助都将不胜感激。

谢谢,安迪

EN

回答 2

Stack Overflow用户

发布于 2016-03-26 02:24:34

GetModelCFrame是一个不推荐使用的方法。建议使用PrimaryPartGetPrimaryPartCFrameSetPrimaryPartCFrame。设置主零件将指定模型中的特定零件作为可通过其CFrame四处移动的基础。这种方法的好处是,如果您使用这些方法转换模型的PrimaryPart,模型中的所有其他部分也将进行转换,以保持它们与PrimaryPart的偏移量。

在放置建筑物和支柱时,通常需要使此部分成为底部的平面部分,表示建筑物的迹线。

例如,考虑以下模型:

在这种情况下,制作主要部分的最佳部分将是底部的部分。如果你的模型中没有包含在几何体中的零件,那么你可以制作一个不可见的、不可见的、cancollide错误的零件作为基础。在下面的示例中,有一个树模型,它的基数不是很大,但我们希望确保它足够大,从而不会与附近的其他对象重叠:

在这种情况下,黄色部分应该在运行时完全透明。

因此,就以您想要的方式实际确定模型方向的代码而言,您所要做的就是使用新的CFrame调用SetPrimaryPartCFrame。TransformModel函数简单地变成:

代码语言:javascript
复制
local function TransformModel(model, newCFrame)
    model:SetPrimaryPartCFrame(newCFrame)
end 

当您想要调用此函数将模型旋转45度时:

代码语言:javascript
复制
local model = game.Workspace.Model
model.PrimaryPart = model.Base
local rotatedCFrame = model:GetPrimaryPartCFrame() * CFrame.Angles(0, math.rad(45), 0)

TransformModel(model, rotatedCFrame)
票数 5
EN

Stack Overflow用户

发布于 2016-03-06 10:13:39

我相信我找到了一个适合我的问题的答案,尽管我不确定这是否是解决它的最好方法。我创建了一个额外的部分作为基础,这是确切的宽度和高度的模型,然后模型坐在新的基础部分的顶部,基础是锚定。这似乎已经解决了它--有没有更好的方法?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35820144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档