如何获得方块的侧面位置,以便您可以完美地将另一个方块放置在它旁边
2019-6-7 0:2:51
收藏:0
阅读:296
评论:1
一个示例,图像两个块,
Part1和Part2,Part1在游戏中被放置为正常块,而Part2使用脚本放置到游戏中,然后在将其放置到工作区之前,脚本获取Part1的侧面位置,然后将Part2的位置放置为Part1的侧面,然后将其放置到工作区中。
然后Part2将完美地位于Part1旁边。
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

假设您的意思是没有 CSG 操作的简单零件,您可以进行一些简单的数学计算来将它们排列起来。
尝试这样做:
local function createRandomBlock(name, brickColor) -- 创建一个随机大小的块 local part = Instance.new("Part") part.Name = name part.Size = Vector3.new(math.random(1,10), math.random(1,10), math.random(1,10)) part.BrickColor = brickColor part.Anchored = true part.CanCollide = false part.Transparency = 0.5 part.Parent = game.Workspace part.BottomSurface = Enum.SurfaceType.Smooth part.TopSurface = Enum.SurfaceType.Smooth return part end -- 将零件 1 置于空中,随机旋转 local twoPi = 2 * math.pi local testCFrame = CFrame.new(Vector3.new(0,10,0)) testCFrame = testCFrame * CFrame.Angles(math.random(0,twoPi), math.random(0,twoPi), math.random(0,twoPi)) local testBlock = createRandomBlock("Test", BrickColor.White()) testBlock.CFrame = testCFrame -- 相对于测试块开始放置块 local pFront = createRandomBlock("Front", BrickColor.Red()) pFront.CFrame = testBlock.CFrame + (testBlock.CFrame.LookVector * (testBlock.Size.Z + pFront.Size.Z) * 0.5) local pBack = createRandomBlock("Back", BrickColor.Red()) pBack.CFrame = testBlock.CFrame + (-1 * testBlock.CFrame.LookVector * (testBlock.Size.Z + pBack.Size.Z) * 0.5) local pRight = createRandomBlock("Right", BrickColor.Blue()) pRight.CFrame = testBlock.CFrame + (testBlock.CFrame.RightVector * (testBlock.Size.X + pRight.Size.X) * 0.5) local pLeft = createRandomBlock("Left", BrickColor.Blue()) pLeft.CFrame = testBlock.CFrame + (-1 * testBlock.CFrame.RightVector * (testBlock.Size.X + pLeft.Size.X) * 0.5) local pTop = createRandomBlock("Top", BrickColor.Green()) pTop.CFrame = testBlock.CFrame + (testBlock.CFrame.UpVector * (testBlock.Size.Y + pTop.Size.Y) * 0.5) local pBottom = createRandomBlock("Bottom", BrickColor.Green()) pBottom.CFrame = testBlock.CFrame + (-1 * testBlock.CFrame.UpVector * (testBlock.Size.Y + pBottom.Size.Y) * 0.5)这个例子将一个块放置在原点并随机定向。然后它添加零件并将它们粘在测试块的侧面。