openttd吧 关注:3,583贴子:13,577

回复:自制一张选取较大范围现实地形的灰度图的一种可行思路

只看楼主收藏回复

2.6.如果有色彩范围选择无法锁定的,实际上是海洋的噪点,则需要你使用魔棒或者矩形选框工具,点击左上角工具的第二项保证选区叠加,然后一个个手工处理。这里不做详细讲解。


IP属地:四川来自Android客户端16楼2026-08-15 10:06
回复
    2.7.手工处理完毕之后,可以右键存储选区(此处不做演示)。选好海洋之后,需要使用铅笔工具涂色。如果你的PS是刚下载好的,那么铅笔的画笔设置需要进行调整,使得不透明度100%,平滑为0%,保证效果与电脑自带的画图工具的铅笔工具的绘制效果基本一致即可。


    IP属地:四川来自Android客户端17楼2026-08-15 10:07
    回复
      2026-08-27 07:29:21
      广告
      不感兴趣
      开通SVIP免广告
      2.8.然后使用取色工具取某种海洋的颜色(我选的是浅海天蓝色),把铅笔工具调最粗,然后把海洋选区全涂一遍,得到如图所示效果:
      最后另存为“彩色图.png”。此外,这样导出的地形图的海岸线可能还不够精确,可以把海岸线精修之后,存储一个专门的海洋选区。在接下来的步骤中备用。


      IP属地:四川来自Android客户端18楼2026-08-15 10:08
      回复
        三、位图初步预处理及灰度地图的初始生成
        我们在GEBCO下载的这个“位图”,因为含有海洋地形信息,不能直接导出为png灰度图。此时我们需要一个专业地图处理工具——Global Mapper 26。这个软件的中文版获取途径请自行在网络搜索,网上教程非常丰富。
        1.然后我们使用这个专业软件打开上述“位图”:



        IP属地:四川来自Android客户端19楼2026-08-15 10:10
        回复
          2.然后在以下提示框中做如图所示的选择:



          IP属地:四川来自Android客户端20楼2026-08-15 10:12
          回复
            3.打开以后,在左下角选择Gradient着色器。


            IP属地:四川来自Android客户端21楼2026-08-15 10:13
            回复
              4.将左侧地形颜色最左端的颜色选取对应的海拔范围从-10391调整至一个接近于略超过-50m的值的范围。(笔者注;我尝试过-3m~-5m范围,效果不好,需要太多手工调整,灰度图手工调整又很麻烦。只能通过先取-50m的数值再利用其它配套地图的海洋范围框定大致准确的海岸线)


              IP属地:四川来自Android客户端22楼2026-08-15 10:14
              回复
                5.1.然后左上角点选“文件”——“导出”——“栅格/影像样式”导出:


                IP属地:四川来自Android客户端23楼2026-08-15 10:15
                回复
                  2026-08-27 07:23:21
                  广告
                  不感兴趣
                  开通SVIP免广告
                  5.2.注意在提示框中做出如图所示选择:




                  IP属地:四川来自Android客户端24楼2026-08-15 10:15
                  回复
                    5.3.命名导出的灰度图,耐心等待导出完毕。


                    IP属地:四川来自Android客户端25楼2026-08-15 10:16
                    回复
                      6.导出完毕后,因为我们是直接基于从GEBCO原始tif文件,在Global Mapper 26上导出的,所以导出来的图片大小并不是16384px*16384px的。此处我们需要使用PS将图片加工为16384px*16384px,具体步骤参考针对“彩色图”加工的对应部分,此处不进行细化演示,只展示调整图片大小之后的效果。


                      IP属地:四川来自Android客户端26楼2026-08-15 10:16
                      回复
                        三、如何瞒天过海,使用彩色图的“海洋选区”覆盖灰度图的“海洋”
                        众所周知(?),的是,OpenTTD地形灰度图里的“海洋”RGB颜色值为0;0;0.而陆地颜色为A;A;A(0<A<=255)。而我前文已经叙述,直接用Global Mapper将绘色范围下限直接定义为-3m~-5m的值,导出的效果并不好,会让很多低洼陆地的RGB数值也整成0;0;0,最后导入游戏就是汪洋大海。而将绘色范围下限定义为一个-50m~-60m的数值,可以保证现实中的海岸线附近的低洼陆地颜色的RGB一定大于0.且容易想见,这种导出方法本质上是强行把-50m~-60m定义为“海平面”,视觉效果如图所示:


                        IP属地:四川来自Android客户端27楼2026-08-15 10:18
                        回复
                          我们接下来的步骤本质上是:借用“彩色图”制作出来的“海洋选区”,重新框定更准确的“海洋”范围,然后再使用铅笔工具,低成本地使得图示虚线与实际海岸线之间RGB值不为0;0;0的部分改为0;0;0——把海拔0m到-50m的地方还给大海,且几乎不需要额外修改陆地。
                          1.我们首先把灰度图的索引模式改为RGB颜色:


                          IP属地:四川来自Android客户端28楼2026-08-15 10:19
                          回复
                            2.我们同时打开之前修改好的“彩色图”,打开之前存储的海洋选区,或者使用魔棒工具,又或者使用色彩范围功能框选大海,然后存储选区,如图所示:


                            IP属地:四川来自Android客户端29楼2026-08-15 10:21
                            回复
                              2026-08-27 07:17:21
                              广告
                              不感兴趣
                              开通SVIP免广告
                              3.使用Ctrl C+Ctrl V大法,将海洋选区粘贴过来为新图层


                              IP属地:四川来自Android客户端30楼2026-08-15 10:21
                              回复