【发布时间】:2011-05-17 14:23:15
【问题描述】:
我如何在 ROBLOX 上为任何类型的积木构建框架![alt text][1]
【问题讨论】:
-
Roblox 在 Stack Overflow 上?我不知道他们有那个......
标签: roblox
我如何在 ROBLOX 上为任何类型的积木构建框架![alt text][1]
【问题讨论】:
标签: roblox
Workspace.Brick.CFrame = CFrame.new(0, 0, 0)
这使得工作区中的 Brick 的 CFrame 为 0、0、0(在底座内部)
Workspace.Brick.CFrame = Workspace.Brick.CFrame * CFrame.Angles(0, 0, 0)
这使得工作区中的 Brick 有了倾斜。使用 math.pi*x ,其中每个 x = 1 使砖块朝该方向倾斜 1 弧度。
【讨论】:
使用 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”表示位置,“lookVector”表示 CFrame 指向的向量。
CFrame.new().p
CFrame.new().lookVector
可以使用组件访问矩阵本身。
CFrame.new():components()
还可以使用对象和世界坐标更改 CFrame 值。
CFrame.new():toObjectSpace(CFrame.new()) -- a tad pointless
您还可以将算术运算应用于 CFrame(以及 CFrame/Vector3 相互)
CFrame.new() + CFrame.new(0, 2, 0)
这只是我脑海中的一些初步信息,因此我无法保证这些信息的准确性。查看 ROBLOX Wiki 了解更多信息。
【讨论】:
首先,去你的位置,然后点击 RobloxStudio(左边的黑色按钮,上面写着“iii”),然后,点击工具箱按钮(有 2 个工具,橙色和蓝色),然后,点击“向下箭头”(黑色) 然后,单击免费模型。之后单击搜索栏并输入“编辑 cframe”,然后单击空白点,然后单击“1”,但首先放入至少 2 个砖块,然后单击一个砖块并使用显示的 gui。仅此而已。
【讨论】:
见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) 用于倾斜
只需编辑 () 之间的值
【讨论】:
cframe 最简单的方法是通过 cframe 工具(在免费模型或目录上获取一个,注意有些可能会被感染),但存在一些问题,cframe 工具仅适用于锚定砖,并且它们不要告诉您是否要进入砖块内部,使用命令栏进行 cframe 将允许您进行 cframe,但不会让砖块进入其他砖块。我推荐 cframe 工具,因为你可以轻松使用它,并且构建模式的人更容易,而且高级玩家玩这样有趣的东西很有趣。加上cframe工具有更多的选择,你可以看到它的度数和位置,随意,不用打字,你可以进入其他砖块,很容易看出它是否重叠。只需取消选择,您就会看到。使用 CFRAMER 工具,而不是动画师!机制上存在巨大差异,事实上它会真正合作。我从来没有让动画师合作过。 :P
【讨论】:
只需在您的游戏中插入一个砖块。锚定它。然后转到免费模型。输入 cframe 或 cframe 工具。然后单击它然后抓住它。按下砖块,然后取决于您获得的 cframe 工具类型。 ;D
【讨论】:
我找到了一种非常简单的 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
【讨论】:
这是我制作的C-Frame工具包: http://www.roblox.com/Bubbas-C-frame-Tool-Pack-item?id=41704811 这些工具是不言自明的。
【讨论】:
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 = 你的金额 你应该这样做
【讨论】:
嗯,这是最简单的方法之一,除了使用工具。您可以在 Roblox Studio 中打开命令栏,甚至可以在构建中打开。然后输入这个
x = Game.Selection:Get()[1] x.CFrame = x.CFrame + Vector3.new(0, 0, 0)
把(0, 0, 0)改成你想要的位置
例子:
(1, 2, 3)
希望我能帮上忙,
~TheBinkyp
【讨论】:
酷是错的。
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
【讨论】:
您可以通过代码设置积木的 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: 制作一个新的 CFrame 使用 Vector3 和 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 可以解释自己
【讨论】: