坎巴拉吧 关注:25,756贴子:96,909

教程:如何自制焊接组件

只看楼主收藏回复

一楼防吞


IP属地:四川1楼2023-12-08 18:31回复
    准备工作:首先,你需要PreciseEditor这个MOD,

    其次,你要用来焊接的组件不要有贴图替换功能,比如B9XH的部分组件,这会导致如果你不把贴图替换模组放进去焊出来的组件表面是一团花,但放进去又会导致tweakscale这个至关重要的MOD对该组件无法生效……


    IP属地:四川2楼2023-12-08 18:35
    回复
      先说下游戏里的坐标系规定

      在VAB中面向发射台,X轴为前正后负,Y轴为上正下负,Z轴为左正右负,X、Y、Z分别对应的是航天器的俯仰、横滚和偏航轴,也叫横轴、竖轴、立轴
      关于旋转方向:面向一格轴的顺向(如面向发射台,那X轴即为顺向),逆时针旋转为正,顺时针旋转为负,不过这一点知道就行了,实际上基本用不上


      IP属地:四川3楼2023-12-08 19:02
      回复
        我们先看CFG文件,一楼的图是一个焊接好的重型车架,全部由B9HX的组件焊接而成,根组件是中间的 HX0-U Universal Module ,除此之外还有4个RCS模块,4个HX转375模块和4个HX转LLL尺寸组件模块,具体文件名就不一一列出了,焊接组件第一步就是找到你需要的组件的CFG文件
        打开 HX0-U Universal Module 这个组件的CFG,可以看到最上面是这样的:

        首先我们在MODLE这个模块里加上三行:
        position = 0.0, 0.0, 0.0
        scale = 2,2,2
        rotation = 0, 0, 0
        变成:

        这里的scale = 2,2,2是因为我将组件放大了一倍,因此在调用模型时就要相应的写上放大倍数。


        IP属地:四川4楼2023-12-08 19:15
        回复
          但有的时候,我们看到的是这样的:

          解决方法很简单,就是把mesh那一行换成
          MODEL
          {
          model = B9_Aerospace_HX/Parts/Structure_HX/model_hx_size0_structure
          position = 0.0, 0.0, 0.0
          scale = 2,2,2
          rotation = 0, 0, 0
          }
          这样的格式即可,其中model = 后面的路径是组建的模型所在的路径,一般和组件CFG在同一文件夹里,直接将其文件夹路径复制进来,删掉MOD文件夹之前的部分,再在后面添上/模型文件名 即可,模型文件后缀为.mu,注意直接复制资源管理器的路径进来斜杠是反的,要修改一下。


          IP属地:四川5楼2023-12-08 19:32
          回复
            有了以上准备之后我们就可以添加模型了,下面是模型添加完的CFG,由于一共有13个组件,所以要添加12个模型,相同组件每一个都要单独添加,我们先看前8个,后面4个的设置方式有所不同:

            前8个模型所对应的组件是直接贴附在根组件 HX0-U Universal Module 上的,因此他们的设置方式很简单,把组件拖到你想要的位置,最好是左右对称,轴对称或镜面对称根据需要切换,然后鼠标对准组件,按P调出PreciseEditor的界面:

            注意界面左上角的按钮,现在显示的是local,即其相对于根组件的坐标,正好CFG里需要填入的也是相对于根组件的坐标,所以直接在local模式下把每个组件的坐标值填入CFG中的position一行内即可,对于有缩放的组件,同样要把缩放值填入scale一行,这里XYZ三个轴的缩放是可以不同的,但不建议这样做,一是因为游戏里无法直接体现单个轴的缩放导致你对最终成果的形状没有概念,而是如果这个组件上你打算设置连接点的话,你只能添加完模型之后保存退出重进游戏才能找准连接点位置(直接算也可以,但是麻烦,更何况有些组件的中心并不在其可视模型的中心上,如此一来你连组件的空间坐标都难以确定)。
            组件旋转值和组件的坐标是相对还是绝对无关,因此可以直接填入rotation一行。


            IP属地:四川6楼2023-12-08 19:54
            回复
              然后是后四个模型:

              这四个模型对应的组件的特殊性在于它们不是直接连接在根组件上的,因此position一栏的填法稍微麻烦一点,首先对准根组件按P

              将左上角按钮点成Absolute,即绝对坐标,记下这个坐标值,再对那四个组件进行相同的操作,其相对于根组件的坐标等于 自身的绝对坐标 减 根组件的绝对坐标,将算出来的值填入即可,组件的旋转同样不受影响,照样填入,缩放也是同上。


              IP属地:四川7楼2023-12-08 20:03
              回复
                到这里模型焊接就完成了,现在设置连接点,先上图:

                每个值的含义注释里都谢了,从前往后7个值分别是X坐标,Y坐标,Z坐标,X轴朝向,Y轴朝向,Z轴朝向,连接点大小。
                其中XYZ坐标都是绝对坐标,XYZ朝向只能有一个非零,1即改轴正向,例如Z轴朝向为1则连接点朝左
                这里我决定使用原有组件上的连接点:上面的两个(朝向上),下面的两个(朝向下),左侧(在SPH中的下方)上下各两个(分别朝左右)这样就把连接点定义的4-6位搞定了,至于链接点的绝对坐标,如果有装DSEV的飞艇MOD的话,其中的HL-10 Type1 Extension和HL-10 Type1 Extension是很好用的工具,因为其中央连接点正好位于模型重心,所以将其中央连接点连在你想要的连接点上,再按P得出绝对坐标填进前三位即可。
                如果没有这个MOD,就找个原版的钢板连上去,用PreciseEditor微调Y轴直到连接点正好位于钢板厚度的中心,然后同样读出绝对坐标填入前三位即可。
                最后一个值随意,反正HX的7.5米组件是4,你硬要弄个40我也没办法……


                IP属地:四川8楼2023-12-08 20:20
                收起回复
                  有事要出门,回来再更新收尾工作


                  IP属地:四川9楼2023-12-08 20:21
                  回复
                    回来了,继续更新,做完上面这几步主要工作就完成了,接下来是一些细节和适配性问题。
                    首先是对称性,你的模型在轴对称或者镜面对称的位置有两个连接点不等于系统会自动识别并对称安装两个部件,因此要在组件属性里加这么一句:
                    stackSymmetry = n
                    如果是两点对称,那么n=1,三点对称(只能是轴对称),n=2,以此类推,如果你设置了六个轴对称的连接点,但这一行是
                    stackSymmetry = 2
                    那你安装组件的时候会发现系统会让你先对称安装三个,再对称安装另外三个(说实话我觉得这样更好,想都装一样的组件也就多个复制,但这样可以实现三个点装一种,另三个点装另一种,而且不会影响重心)
                    这一行添加在定义组件质量阻力强度断裂力矩等等参数的那一段代码里,具体放哪儿无所谓,我习惯放在断裂力矩后面,单独空一行出来放也没问题。


                    IP属地:四川10楼2023-12-08 23:28
                    回复
                      做完以上步骤就是添加功能模组了和资源之类的了,这部分随意,但最好不要添加下列模组:
                      涉及到贴图变化的
                      涉及到组件动画的
                      任何转轴铰链类的
                      以及所有你看不明白有什么用的……
                      特殊情况:焊的是发动机的话,请用发动机作为根组件并保留其所有模组和特效参数,并且不要把其他组件焊到发动机喷口下面,除非你对特效参数非常的了解,否则这玩意儿看起来会非常诡异……


                      IP属地:四川11楼2023-12-08 23:36
                      回复
                        一开始忘了说,CFG记事本就能打开,但最好还是用功能全一些的编辑软件,我用的notepad++,很好找,接下来的适配性设置要用到notepad++的功能。
                        做完以上工作就可以保存了,别忘了文件最上方的name一行要起个新名字,比如我就用根组件的B9_Structure_HX0_S直接改了个B9_Structure_HX0_S_RoverFrame然后另存为一个新的CFG文件,和根组件的CFG文件放在同一个文件夹中,后面的title改不改无所谓,只要name不同系统就能读取这个组件。
                        如果你要适配其他模组的话,比如让这个组件具备可缩放功能,复制根组件的name,比如我这个例子里的B9_Structure_HX0_S,按Ctrl+F调出搜索选项,选择文件查找

                        讲目录设置为gamedata,点搜索,会找到这么个文件

                        打开它,上图是已经改过的,所以怎么改就很简单了:

                        直接添一项你这个文件的配置,就是上图中选中的部分,即可。
                        如果你搜根组件的name搜出来更多的patch文件,那依此处理,或者如果你觉得不需要这项功能,也可以不管。
                        至此大功告成,enjoy!


                        IP属地:四川12楼2023-12-08 23:49
                        回复
                          关于为什么不用焊接MOD:
                          1:至今我没有找到当前版本可用的焊接MOD……
                          2:在焊接MOD还可用的时候,就有不少莫名其妙的海妖问题
                          3:最重要的一点,焊接MOD无法改变组件形状,但这种方法可以
                          以及@太长无法显示2 @致命的角度 此贴可值一精否?


                          IP属地:四川13楼2023-12-09 01:14
                          收起回复
                            大佬牛逼


                            IP属地:江苏14楼2023-12-09 08:34
                            回复