太空工程师吧 关注:36,536贴子:506,578

[教程]从零开始制作MOD的指导教程

只看楼主收藏回复


以我的两个代表性MOD镇楼(ID: 1407416585和1406330892 )
首先~原谅我咕咕咕了两年~实在是没时间去写这个教程~
群里叫开服务器,然后又嫌弃太肝玩不动,所以就又有时间写了~
为了防止度娘吞楼,我会一边制作文档一边写,文档以及用到的工具会发度盘或者STEAM指南中,速度比较慢,尽量在这两天写完~
帖子随便来个加精置顶就好~
前言:
MOD制作是一个非常费时费力的工作,当初我去找各种文档的时候也是十分辛苦,全是英语阅读理解起来比较困难不说,大部分文档和实际还有很大的出入,需要独自去深入研究...
就以碰撞模型来说,官方教程中的矩阵转换数值为1,STEAM 指南的教程则为0.01,然后都是错误的,我自己长时间尝试后才确认实际上应该为0.25....
如果你想制作一个MOD,本帖将只会引导你进行入门!(其实已经很硬核了)
更多的制作内容还需要你自己去研究!
本帖内容不涉及任何C#脚本,仅以游戏自身文件修改为例子.


IP属地:新疆1楼2020-03-17 14:26回复
    制作前的准备:
    在mod制作前你需要准备以下软件:
    3D建模: Blender , 3Dmax , Maya (本帖使用Blender+3Dmax,Blender在steam可以下载到)
    物理碰撞插件: Havok Tools(只可在3Dmax和Maya中使用,早已停止个人下载)
    贴图制作: PS + NVIDIA DDS 贴图插件 (网上都可以弄到)
    文本编辑: Notepad++ (这个比较方便)
    游戏开发工具包: Space Engineers - MOD SDK (STEAM中可以下载到)
    部分工具我会在度盘中发出,并回复在此楼!


    IP属地:新疆2楼2020-03-17 14:29
    回复
      1.模型相关
      此部分不会教你如何建模,建模可以去小破(B)站找Blender教程(学习成本低,并且简单易懂好操作)
      1.1 官方模型导入
      Blender需要插件:
      3D Viewport pie Menus (非必要)
      Material Utilities(清理垃圾材质)
      在游戏开发工具包中
      SpaceEngineersModSDK\OriginalContent\Models\Cubes\....
      你可以找到全部的游戏方块模型
      在Blender 中导入(左上角导入>FBX文件)你会看到这样的情况:

      部分官方模型子项目会偏移父集1.25/0.25/0.125倍数的数值
      选中父集后按Ctrl+I反选
      然后按G>X/Y/Z 输入数值可以在指定轴移动
      (如果你需要在Blender中显示官方的贴图,在Steam游戏指南中搜Blender有相关的指南)


      IP属地:新疆3楼2020-03-17 14:32
      收起回复
        1.2垃圾材质清理:
        选中全部物体按Shift+Q>选择Clean Slots>Clean Material Slots 进行材质清理
        在旧版中可以选择全部物体一次清理,但新版Blender只能在右上角一个一个清理,这个阶段可能会卡住,耐心等待即可.
        清理完成后,按Shfit+Q>选择Specials>Merge Base Names
        在弹出窗口中点亮Auto Rename/Replac >然后点确定
        这样你就得到一个干净的官方模型了


        IP属地:新疆4楼2020-03-17 14:33
        回复
          1.3 碰撞模型制作:
          在制作完模型或者修改完官方模型后,你需要制作一个碰撞模型:

          注意:
          碰撞模型使用的物体优先级为:
          球>胶囊>圆柱>立方体>凸定点的块
          如果你需要某个位置有凹陷你得用更多的块来制作凹陷的效果
          但是方块过多会影响游戏性能一般为5>10个块最佳!
          碰撞模型过于复杂会导致Havok工具无法导出或其他问题!
          如果你的碰撞模型有位移/旋转等等操作,你需要选中全部
          按ALT+空格选择Translate
          然后Ctrl+A选择位置和旋转
          保证每个块的坐标轴都位于世界坐标轴中心,并且方向对齐
          否则碰撞模型导出后模型会有移位!


          IP属地:新疆5楼2020-03-17 14:37
          回复
            1.4 导出碰撞模型:
            因为本帖中是在Blender制作,所以需要将碰撞模型导出为FBX文件
            然后在3Dmax中导入FBX,增加碰撞效果.
            (新版Blender模型在3Dmax中调整轴向偶尔会有模型变形,所以建议在Blender中制作好再用3Dmax导出碰撞,也可能只是我的操作问题)

            选中一个物体
            在顶部菜单栏中选择Havok Content Tools>Physics>Create Rigid Body
            创建刚体,你用了几个块就需要几次


            IP属地:新疆6楼2020-03-17 14:41
            回复
              一直说是广告贴,烦人



              IP属地:新疆7楼2020-03-17 14:46
              回复
                1.5模型相关补充:
                游戏中大型块为2.5米一格,小型为0.5一格,模型制作时也需要按照这个尺寸
                官方模型中有许多十字形状的空物体,这些物体是方块模型的关键.
                不同的物体名称会有不同的功能.列如:
                thruster_flame_01 为推进器火焰,你添加了几个这个空物体就有几个火焰效果
                detector_conveyor_small_001 为小型块可操作的物流通道标记
                detector_conveyor_001 为可操作的大型物流通道标记(大小型并不通用)


                IP属地:新疆8楼2020-03-17 14:55
                回复
                  1.6 材质贴图相关:
                  注意,如果你在建模时使用了官方模型的材质名称可以略过贴图的制作,并且让模型贴图更接近游戏原版方块!
                  在你制作模型时记得给你模型的每一个块进行UV 具体操作如下
                  选择一个块,按TAB>选择所有面/定点/线>U>U点确定即可自动UV
                  否则可能会出现模型贴图缺失,变形等等问题...
                  .DDS贴图文件我会在游戏图标部分再讲一次~
                  游戏中贴图分为3个文件,分别为:
                  *_cm.dds RGB通道为颜色/Alpha通道为金属度
                  *_ng.dds RGB通道为法线/Alpha通道为光泽
                  *_add.dds R通道为添加纹理-AO/G通道为自发光/B通道为视差/Alpha通道为自定义蒙版
                  愿意自制贴图的可以去中世纪工程师的STEAM游戏指南中搜索[Modding for textures]官方文档,里面有详细的介绍,这里只需要知道这点内容即可~


                  IP属地:新疆9楼2020-03-17 14:57
                  回复
                    中场休息~
                    至此为止,你已经制作了,模型文件*.fbx/物理碰撞文件*.hkt,你需要将他们组合才能在游戏中使用~
                    所以你会用到官方的MwmBuilder.exe来组合他们,你可以在以下位置找到它:
                    游戏目录:***\SpaceEngineers\Tools\MwmBuilder
                    开发包目录:***\SpaceEngineersModSDK\Tools\MwmBuilder
                    *号为你的STEAM库文件夹


                    IP属地:新疆10楼2020-03-17 15:07
                    回复
                      2.MwmBuilder.exe
                      MwmBuilder程序并不能直接打开(如果你直接打开他只会一闪而过~)
                      所以你需要按>Win键+R,就是那个弹出开始菜单的键,输入CMD运行


                      IP属地:新疆11楼2020-03-17 15:14
                      回复
                        打开后按照以下操作:
                        1.输入盘符 - MWM所在的盘符(我这为D:)
                        2.输入cd D:\MOD\MWM - MWM文件路径(我这为D:\MOD\MWM)
                        3.输入 MwmBuilder.exe 运行

                        MWM你只需要记住两个命令:
                        /e 输出xml 文件
                        /o 输出到指定路径
                        用法:
                        MwmBuilder.exe /e /o:D:\MOD\MWM\xx
                        有xml文件后
                        MwmBuilder.exe /o:D:\MOD\MWM\xx
                        正常使用时会提示找不到在指定路径找不到贴图
                        如果使用时报其他错误,先检查你的xml文件
                        确保XML文件没有问题后还是报错,你就需要进行DLL文件修复,网上自行找工具修复!
                        MWM需要VC++的运行库,请提前安装!


                        IP属地:新疆12楼2020-03-17 15:39
                        回复
                          2.1 MWM所需的XML文件:
                          MWM需要XML文件对模型的材质贴图进行定义
                          如果没有这个文件游戏中模型会没有贴图,显示为紫色
                          如果你使用自制材质并用了 [ /e ] 命令导出XML文件,你需要自行添加材质路径
                          如果你使用的是官方的材质名称,你可以到这个位置复制XML文件:
                          开发包:***\SpaceEngineersModSDK\OriginalContent\Materials
                          路径中的Materials.xml
                          并做以下修改:
                          首行<MaterialsLib Name="Default Materials">修改为
                          <?xml version="1.0"?>
                          <Model Name="Default">
                          最后一行</MaterialsLib>修改为</Model>
                          在这个文件中:
                          <Material Name="Emissive">为模型使用的材质名称
                          <Parameter Name="ColorMetalTexture">*****_cm.dds</Parameter>为贴图路径

                          注意:
                          在这里添加的路径必须和MOD文件夹的路径相同,你需要在MOD文件夹下创建相同的文件夹存放贴图文件
                          如果你使用的是官方的材质名称,则不需要创建也可以使用贴图!


                          IP属地:新疆13楼2020-03-17 15:56
                          收起回复
                            在MWM文件夹下创建一个文件夹,用于存放模型/碰撞体积/XML文件,也可以直接导出游戏使用的模型在这个文件夹中.
                            MWM使用时,如果不指定模型所在的文件夹,它就会在自身文件夹中查找相关的FBX文件,所以需要将这些文件直接塞到它的目录下!
                            文件都准备就绪后在CMD中输入
                            MwmBuilder.exe /o:D:\MOD\MWM\xx
                            即可在目录下生成游戏需要的文件!


                            IP属地:新疆14楼2020-03-17 16:01
                            收起回复
                              3.游戏文件的修改
                              你需要新建一个文件夹来存放你的MOD模型,贴图以及数据文件
                              它应该包含:
                              Data(数据文件夹)
                              Models(模型文件夹)
                              Textures(贴图文件夹)
                              thumb.jpg(上传STEAM需要的首页图片)
                              在MOD的文件夹中你必须保证没有文件是中文的,否则上传后会变成乱码,导致MOD数据文件无法识别模型/贴图等等
                              在制作MOD数据是你可能需要到游戏目录下的Data文件夹找到相关的*.sbc文件
                              路径为:
                              游戏目录:***\SpaceEngineers\Content\Data
                              一个基础的游戏方块会需要以下文件:
                              CubeBlocks.sbc(方块的各种信息)
                              BlockCategories.sbc(方块的类别文件用于在G键菜单中显示)
                              我们先将游戏的数据文件,模型,贴图都放到它们该在的文件夹中再看看如何制作方块数据


                              IP属地:新疆15楼2020-03-17 16:21
                              回复