我如何在 ROBLOX 上对任何类型的砖块进行 Cframe![替代文字][1]
14 回答
Workspace.Brick.CFrame = CFrame.new(0, 0, 0)
这使得工作区中的 Brick 的 CFrame 为 0、0、0(在底座内部)
Workspace.Brick.CFrame = Workspace.Brick.CFrame * CFrame.Angles(0, 0, 0)
这使得工作区中的砖有倾斜。使用 math.pi*x ,其中每个 x = 1 使砖块朝该方向倾斜 1 弧度。
首先,去你的地方,然后点击 RobloxStudio(左边的黑色按钮,上面写着“iii”),然后,点击工具箱按钮(有 2 个工具,橙色和蓝色),然后,点击“向下箭头”(黑色)然后,点击免费模型。之后单击搜索栏并输入“编辑 cframe”,然后单击空白点,然后单击“1”,但首先放入至少 2 个砖块,然后单击一个砖块并使用显示的 gui。仅此而已。
使用 CFrame 库和对象成员来控制 CFrame 值。例如:
CFrame.new()
将创建一个新的 CFrame,其矩阵设置为单位矩阵。您可以通过传入 3 个原始 X、Y、Z 值或 Vector3 值来为 CFrame 设置位置。
CFrame.new(Vector3.new(0, 5, 0) == CFrame.new(0, 5, 0)
还有向矢量旋转的能力。
CFrame.new(Vector3.new(0, 5, 0), CFrame.new(0, 2, 0))
通过使用 CFrame.Angles 函数,您可以创建欧拉角来旋转 CFrame。
CFrame.new() * CFrame.Angles(math.rad(20), 0, 0)
请注意,当使用欧拉角时,角度以弧度表示,因此为了将弧度转换为度数,我使用了 Lua 中的 math.rad 函数。还有 CFrame 值的成员,因此您可以从 CFrame 中检索其旋转。
CFrame.new():toEulerAnglesXYZ()
还有一些属性,比如位置的“p”和 CFrame 指向的向量的“lookVector”。
CFrame.new().p
CFrame.new().lookVector
可以使用组件访问矩阵本身。
CFrame.new():components()
也可以使用对象和世界坐标更改 CFrame 值。
CFrame.new():toObjectSpace(CFrame.new()) -- a tad pointless
您还可以将算术运算应用于 CFrames(以及 CFrames/Vector3s 彼此)
CFrame.new() + CFrame.new(0, 2, 0)
这只是我脑海中的一些初步信息,因此我无法保证这些信息的准确性。查看 ROBLOX Wiki 了解更多信息。
Workspace.Brick.CFrame = CFrame.new(0, 0, 0) -- 基本上改变名为“Brick”的工作区中零件的位置。为此使用 CFrmae 很好,因为有了它,您可以遍历对象。
Workspace.Brick.CFrame = Workspace.Brick.CFrame * CFrame.Angles(0, 0, 0) --使用新方法:3,这将工作区中名为“Brick”的零件在其轴上旋转 x 弧度 x = 你的数量 你应该这样做
这是我制作的 C-Frame 工具包: http ://www.roblox.com/Bubbas-C-frame-Tool-Pack-item?id= 41704811 这些工具非常不言自明。
只需在您的游戏中插入一个砖块。锚定它。然后转到免费模型。输入 cframe 或 cframe 工具。然后选择单击它然后抓住它。按下砖块然后取决于您获得的 cframe 工具类型。;D
酷是错误的。
Workspace.Brick.CFrame = CFrame.new(0, 0, 0)
- 基本上更改名为 的工作区中零件的位置Brick
。使用CFrmae
它很好,因为有了它,您可以遍历对象。
Workspace.Brick.CFrame = Workspace.Brick.CFrame * CFrame.Angles(0, 0, 0)
-- 使用新方法:3,这将工作空间中的一个零件旋转Brick
x 以它的轴命名Radians *x = your amount
好吧,这是最简单的方法之一,而不是使用工具。您可以在 Roblox Studio 中打开命令栏,甚至可以在构建中打开。然后输入这个
x = Game.Selection:Get()[1] x.CFrame = x.CFrame + Vector3.new(0, 0, 0)
将 更改为(0, 0, 0)
您想要的位置
例子:
(1, 2, 3)
希望我有所帮助,
〜宾基普
我找到了一种非常简单的 CFrame 积木方法。打开 ROBLOX studio,前往查看 > 输出和查看 > 工具栏 > 命令。现在,在 Workspace 中选择您希望 CFrame 的砖块。在命令栏中,放置以下脚本:
v = Game.Selection:Get()[1] v.CFrame = v.CFrame + Vector3.new(0, 0, 0)
并输入它。将最后三个数字 (0, 0, 0) 更改为您希望砖块移动的螺柱。第一个数字是左右,第二个是上下,第三个是近远(深度)。
由于多种原因,这就是我 CFrame 的方式:
- 很快
- 如果您将变量设置为非常小的小数,则可以非常精确地放置砖块。
您不必经常在脚本中重新输入积木的名称,您只需选择要 CFrame 的积木。
~Davillion
请参阅http://wiki.roblox.com/index.php/CFrame_positioning
game.Workspace.Brick.CFrame = CFrame.new(0, 10, 0)
用于定位
game.Workspace.Brick.CFrame = Workspace.Brick.CFrame * CFrame.fromEulerAnglesXYZ(0, 0, 0)
用于倾斜
只需编辑 () 之间的值
The easiest way to cframe is through a cframe tool (get one on free models or the catalog, be aware some might be infected), there are some problems with that though, cframe tools only work well on anchored bricks, and they do not tell you if you are going inside the brick or not, cframing with the command bar will allow you to cframe but without having bricks going into other bricks. I reccomend the cframe tool because you can use it easily and build mode people ajust alot easier, and it's fun for the advanced player to play around with something fun like that. Plus the cframe tool has more options, you can see what degree and place it's at, ajust at will, no typing, you can go inside other bricks, and it's pretty easy to see if it's overlapping or not. Just deselect and you'll see. Use a CFRAMER TOOL, NOT A ANIMATOR! There's a huge difference in mechanics, and the fact that it will acually cooperate. I've never gotten an animator to cooperate. :P
您可以通过代码设置一块砖的 CFrame。您可以将积木的 CFrame 设置为等于 CFrame 对象。有关“CFrame”的信息可以在这里找到:“ https://wiki.roblox.com/index.php?title=CFrame ”请注意,“CFrame.new()”的坐标和旋转为 (0, 0, 0)。
local cFrameObject = CFrame.new()
brick.CFrame = cFrameObject
另一种影响积木 CFrame 的方法是使用 ROBLOX Studio 插件或在游戏中使用 CFrame 工具。
坐标系(CFrame)是一种表示位置的方式,要使用它,您需要使用 Vector3 或另一个 CFrame,您可以通过多种方式更改 Frame: 1:获取另一个 CFrame 您可以获取零件的 CFrame 并将其用作参考如果您想添加一些数学运算以将其更改为您想要的
reference = workspace.InsertYourPartHere
part = Instance.new("Part",workspace)
part.CFrame = reference.CFrame + Vector3.new(0,(reference.Size.Y / 2),0)
2:使用 Vector3 和 CFrame 制作新的 CFrame,您可以更改零件的位置
part = Instance.new("TrussPart",workspace)
part.CFrame = CFrame.new(Vector3.new(math.random(0,2487),math.random(0,8),math.random(0,2487)))
这就是 CFrame 的基础知识......还有更多的 CFrame 函数,例如 CFrame.Angles,它可以自我解释