minecraft吧 关注:2,529,698贴子:31,664,316
  • 9回复贴,共1

【建筑和地形制作向】MC BIM的构想与实现(长期更)

取消只看楼主收藏回复

作为一名多年沉浸创造模式的玩家,深感搭建大型mc场景的种种不便和无力。虽然“肝”是个办法,“肝”完也能收获各方的称赞,但不代表“肝”是唯一可行且值得提倡的行为,毕竟这玩意是拿命换的。有没有效率更高的办法呢?


IP属地:广东1楼2024-02-10 00:36回复
    强如牛顿也是站在巨人肩膀总结物理知识的。同理,想提升建模效率,就要借用前人的理念和工具。我觉得引入BIM这个概念是合适的。BIM(Building Information Modeling建筑信息模型),土建行业的朋友应该不会陌生。简单来说BIM就是一个信息赋予器,比如你建立一个立方体,赋予了墙体的特性,你就可以把它当成墙体来编辑,设定它的墙厚、墙高、墙身材料等。你还可以为各种几何体赋予不同的特性,如把平面设定为楼板,把弧面设定为幕墙。最后这些带有不同信息的几何体组合在一起,就是一座带有一系列建筑信息的几何体模型。模型信息化的好处是,与这栋建筑相关的参数都可以随时调整,如各种窗的尺寸,各种梁柱的横截面尺寸,所用的材料等等。在MC里如何迁移这个概念呢?


    IP属地:广东2楼2024-02-10 00:53
    回复
      在我的构想中,有两种工作流可实现MC BIM.
      工作流1:
      工具:Rhino(Sketchup),Objtoschematic,Worldedit
      第一步用三维建模软件(rhino,su等)搭建场景模型,并为不同类型的构件(墙 、窗 、柱等)赋予不同颜色,把构件信息转换为颜色,导出obj文件;第二步用Objtoschematic像素化三维模型,由于objtoschematic的像素化过程是根据三维模型的颜色,转换成相似颜色的方块,所以objtoschematic能以颜色为载体,传递各类的构件信息,导出mc可识别的schem文件;第三步借助Worldedit导入schem文件,最后//replace xx yy替换成目标方块。
      工作流2:
      工具:Rhino+Grasshopper,mcfunction
      第一步在Rhino建模;第二步借助Grasshopper完成赋予信息和像素化的操作,导出mcfunction文件;第三步配置好mcfunction相关文件;最后mc里执行/function,生成建筑。


      IP属地:广东3楼2024-02-10 01:43
      回复
        生成效果参考:
        里昂汇流博物馆复原






        目前只简单区分了“水晶”和“云”的材质,接下来会继续深化


        IP属地:广东4楼2024-02-10 02:07
        回复
          案例一:
          弧面幕墙小屋
          使用工作流1
          1.使用Rhino建模(需要一定的软件基础,建议b站自学)

          2.为不同的构件放到不同的图层,赋予不同的颜色

          3.文件》另存为》导出obj文件


          注意选“多边形网格物件”,确定;确定;导出。


          IP属地:广东8楼2024-02-11 01:23
          回复
            4.进入ObjToSchematic Web编辑:

            选择obj文件载入

            objtoschematic会自动为不同颜色的构件重新赋色。不需要大改,颜色之间有区分度就行了,注意玻璃对应的材质应把不透明度改小(图中第三行)。这些颜色是生成方块的依据,我们接下来会看到。

            size按建筑模型的高度改,Colour accuracy调到最高
            Voxelise Mesh!!

            生成色块以后,把色块转换为颜色相近的mc方块。把抖动关掉,把Colour accuracy调到最大。
            Assign blocks!!

            最后导出schem文件
            现在的建筑材质看上去很离谱,没关系,我们用we替换掉就行了


            IP属地:广东9楼2024-02-11 01:59
            回复
              5.导入mc:
              确保安装好Worldedit
              把schem文件放入.minecraft\config\worldedit\schematics中
              打开游戏,输入指令//schem load xx(schem文件名)
              即可生成:

              替换掉杂乱的方块后:





              IP属地:广东10楼2024-02-11 02:26
              回复


                IP属地:广东11楼2024-02-11 02:27
                回复
                  有了这套工作流,我们只需在rhino画好建筑所需的曲面,即可像素化导进mc。依托rhino强大的曲面造型功能,可轻松搞掂大型复杂曲面场景。一小时一座写字楼,一天一张冒险地图不再是遥远。


                  IP属地:广东来自Android客户端12楼2024-02-11 14:27
                  回复
                    MC BIM若要实现,有很多途径。关键之一是分类整合组件。组件分类的依据可以有很多种,我一般分为内墙,外墙,柱体,楼板,幕墙主体,幕墙横向龙骨,幕墙竖向龙骨,核心筒等。不同的组件呢,要有材质区分,方便替换。关键之二是要跟三维建模软件互动,简化复杂造型的建造成本,提高建造效率。
                    所以,如果未来(技术大佬心花怒放)要研制一个mc bim mod,建议采纳以下基本原则:
                    1.可自定义组件(方块集合)
                    2.自动为不同组件赋予特定的方块类型
                    3.允许组件组合,形成新组件
                    4.设计与rhino等建模软件联动或互动的api


                    IP属地:广东来自Android客户端13楼2024-02-12 02:20
                    回复