Garyjel
为啥这个边是灰色的?

Mikoto。
啊?没太听懂
你不能改颜色的吗

PercyDan
就要是灰色的
颜色在textures\colormap\grass.png

Garyjel
Mikoto。 发表于 2020-6-24 20:10
啊?没太听懂
你不能改颜色的吗

就是怎么用那个灰色草方块的顶面

Garyjel
PercyDan 发表于 2020-6-24 20:12
就要是灰色的
颜色在textures\colormap\grass.png

这是啥东西

Garyjel
PercyDan 发表于 2020-6-24 20:12
就要是灰色的
颜色在textures\colormap\grass.png

那怎么用这个东西

Neverimagined
Garyjel 发表于 2020-6-24 20:16
那怎么用这个东西

建议阅读wiki上“生物群系”部分中的“生物群系颜色”部分

爱心魔王FHC
本帖最后由 爱心魔王FHC 于 2020-6-24 22:10 编辑
Garyjel 发表于 2020-6-24 20:16
那怎么用这个东西

https://wiki.biligame.com/mc/%E7%94%9F%E7%89%A9%E7%BE%A4%E7%B3%BB
本来草方块是灰色的,然后利用这个贴图根据不同的生物群系进行上色




⊙u⊙
本帖最后由 ⊙u⊙ 于 2020-6-24 13:11 编辑

那张贴图根据草方块所在的群系和高度进行定位,把定位到的颜色覆盖到草方块的灰色区域

你要做的就是找到贴图里对应的那一个点,修改该点的颜色


foliage——用于大部分树叶
grass——用于草地




系统给每个群系都分配了一个温度湿度值,温度又因高度有所变化,最后根据游戏内方块调整后的温度和湿度定位uv点
也就是说,影响一个草/树叶/方块的为当前所在群系的温度、湿度和海平面的高度




温度——temperature
湿度——rainfall/downfall
调整后温度——adj_temperature
调整后湿度——adj_rainfall/downfall
高度——elevation   *海拔高度为y=64
clamp(value,min,max)——clamp函数,使代入的值限定在min和max之间。
     如clamp(value,0.0f,1.0f)
         value=0.7f时,最终的值为0.7f
         value=-2.0f时,最终的值为0.0f
         value=1.1f时,最终的值为1.0f

  1. adj_temperature = clamp(temperature - (float)elevation*0.00166667f,0.0f,1.0f)
  2. adj_rainfall = clamp(rainfall,0.0f,1.0f) * adj_temperature
复制代码
个人对以上两条代码的理解...
调整后温度 = clamp(温度 - 海拔高度差*0.00166667,0.0f,1.0f)
调整后湿度 = clamp(湿度,0.0f,1.0f) * 调整后温度

既是
若方块坐标y<=64时,调整后温度为 = clamp(温度,0.0f,1.0f)
若方块坐标y>64时,调整后温度为 = clamp(温度-(y-64)*0.00166667f,0.0f,1.0f)
调整后湿度 = clamp(湿度,0.0f,1.0f) * 调整后温度
因为到1.13为止都没有湿度>1.0f或<0.0f的群系,所以调整后湿度简单地记作 调整后温度*湿度



快速获得colormap的贴图uv点
原版colormap,以grass.png为例,尺寸为256*256像素,根据以上稍做整理,就可快速得出位于贴图下草方块对应群系的颜色选取点
  1. 代入:群系温度,群系湿度,方块所在的y轴高度

  2. b = y - 64
  3. 若 b < 0.0,b = 0.0

  4. a = 群系温度 - b*0.00166667
  5. 若 a > 1.0,a = 1.0
  6. 若 a < 0.0,a=0.0

  7. uv:( 256 - 256*a -1, 256 - 256*a*群系湿度 -1)
复制代码




以平原、海洋、沙漠和冷针叶林为例
"plains": { "temperature": 0.8, "downfall": 0.4  }
"ocean": { "temperature": 0.5, "downfall": 0.5  }
"desert": { "temperature": 2.0, "downfall": 0.0  }
"taiga_cold": { "temperature": -0.5, "downfall": 0.4  }

位于y为64或以下高度的平原草方块的uv点为 b=0,a=0.8,uv:(256-256*0.8-1,256-256*0.8*0.4-1)=(50.2,173.08)=(50,173)
位于y为255高度的平原草方块的uv点为 b=255-64,a=0.8-b*0.00166667,uv:(131.693496,205.677399)=(131,205)

位于y为64或以下高度的海洋草方块的uv点为 b=0,a=0,uv:(127,191)
位于y为255高度的海洋草方块的uv点为 b=191,a=0,uv:(208,231)

位于y为64或以下高度的沙漠草方块的uv点为 b=0,a=1,uv:(-1,255)???   0,255
位于y为64或以下高度的沙漠草方块的uv点为 b=0,a=1,uv:(-1,255)???   0,255

位于y为64或以下高度的冷针叶林草方块的uv点为 b=0,a=0,uv:(255,255)
位于y为255高度的冷针叶林草方块的uv点为 b=191,a=0,uv:(255,255)




*




海洋群系,金块为海平面高度,此高度颜色一致
http://wx3.sinaimg.cn/large/006WiyOmly1frxo3jvprwj30oz0iwwux.jpg


y=255时,同一高度的海洋群系颜色
http://wx2.sinaimg.cn/large/006WiyOmly1frxo3lo30xj30xb0epn29.jpg


俯视图...
http://wx4.sinaimg.cn/large/006WiyOmly1frxo3eo74oj30rx0ilb1n.jpg
http://wx3.sinaimg.cn/large/006WiyOmly1frxo3o6wd4j31070j47l6.jpg


平原超平坦...
http://wx2.sinaimg.cn/large/006WiyOmly1frxo3r3yn0j30mo0ff0uh.jpg
http://wx2.sinaimg.cn/large/006WiyOmly1frxo3pokduj30rx0gpadg.jpg






以材质的角度上说,可能mc里最厉害的就是草/草方块和树叶方块了...
我从pca从不知道哪里扒下来的1.13群系温湿值,感谢dalao

masai123
你在什么网站里做的啊!

SHEEP_PLAINS
额,这不是根据生物群系定的吗