本帖最后由 kongbaiyo 于 2015-7-5 16:59 编辑

没错我换皮肤了!
感谢坑坑XDDD
====================前言====================

没错我换皮肤了!
感谢坑坑XDDD
====================前言====================
Minecraft中的染料只有16种颜色
这也导致了彩色羊毛粘土玻璃只有16种颜色
但是!
我们依旧可以在MC里玩起渐变!
256*256*256种颜色随意挑~[标题口胡]
来张大图


图为色相条[HSV颜色空间]
======================原理解释======================
来自群组: Command Block Logic这也导致了彩色羊毛粘土玻璃只有16种颜色
但是!
我们依旧可以在MC里玩起渐变!
256*256*256种颜色随意挑~[标题口胡]
来张大图


图为色相条[HSV颜色空间]
======================原理解释======================
眼尖的少年们会发现:[标题已剧透]
渐变条分明就是戴在装备架上的皮革胸甲!
没错!这就是将一堆有着不同颜色的皮革胸甲叠起来的效果

皮革装备之所以能改变那么多颜色
只因为它的颜色由一条NBT决定
wiki截图:[http://minecraft.gamepedia.com/Player.dat_format]

大概翻译一下:
[整数形] color: 表示皮革装备的颜色。颜色代码是由RGB值由以下公式计算出来的:
红色值<<16+绿色值<<8+蓝色值。如果这条NBT用于除皮革装备外的物品,
物品标签会显示“已染色”,但是其外观不会发生变化
也就是说 只要有对应颜色的RGB值 就能获得这种颜色的皮革装备!
接下来分析计算公式
-----------------------------------------------------------------------------
颜色代码 = 红色值 << 16 + 绿色值 << 8 + 蓝色值
-----------------------------------------------------------------------------
"+" 我们很熟悉 小学就学过
而"<<"这个运算符我们很陌生 很少见 [程序员:我们天天见到它好吧!
对这个运算符的解释 我就直接复制度娘百科了[不想看的可以直接无视]
重要的是它的数学意义:
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
也就是说 这个公式其实就是:
-----------------------------------------------------------------------------
颜色代码 = 红色值 * 65536 + 绿色值 * 256 + 蓝色值
-----------------------------------------------------------------------------
这样就非常容易理解了~
======================实践======================
渐变条分明就是戴在装备架上的皮革胸甲!
没错!这就是将一堆有着不同颜色的皮革胸甲叠起来的效果

皮革装备之所以能改变那么多颜色
只因为它的颜色由一条NBT决定
wiki截图:[http://minecraft.gamepedia.com/Player.dat_format]

大概翻译一下:
[整数形] color: 表示皮革装备的颜色。颜色代码是由RGB值由以下公式计算出来的:
红色值<<16+绿色值<<8+蓝色值。如果这条NBT用于除皮革装备外的物品,
物品标签会显示“已染色”,但是其外观不会发生变化
也就是说 只要有对应颜色的RGB值 就能获得这种颜色的皮革装备!
接下来分析计算公式
-----------------------------------------------------------------------------
颜色代码 = 红色值 << 16 + 绿色值 << 8 + 蓝色值
-----------------------------------------------------------------------------
"+" 我们很熟悉 小学就学过
而"<<"这个运算符我们很陌生 很少见 [程序员:我们天天见到它好吧!
对这个运算符的解释 我就直接复制度娘百科了[不想看的可以直接无视]
左移运算符: "<<"
运算规则:
按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
语法格式:
需要移位的数字 << 移位的次数
例如: 3 << 2,则是将数字3左移2位
计算过程:
3 << 2
首先把3转换为二进制数字
0000 0000 0000 0000 0000 0000 0000 0011
然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。
则得到的最终结果是
0000 0000 0000 00000000 0000 0000 1100,则转换为十进制是12。
重要的是它的数学意义:
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
也就是说 这个公式其实就是:
-----------------------------------------------------------------------------
颜色代码 = 红色值 * 65536 + 绿色值 * 256 + 蓝色值
-----------------------------------------------------------------------------
这样就非常容易理解了~
======================实践======================
比如我们生成一件纯红的皮革胸甲
首先纯红的rgb值是RGB(255,0,0)
代入公式
颜色代码 = 255 * 65536 + 0 * 256 + 0 = 16711680
放入指令~
-----------------------------------------------------------------------------
/give @p minecraft:leather_chestplate 1 0 {display:{color:16711680}}
-----------------------------------------------------------------------------

生成成功~

和原版用玫瑰红染料染出来的对比~[右边是原版玫瑰红~][左边是生成的纯红的~]

[在背包里][左边是玫瑰红染出来的][右边是生成的纯红的~]
原版的红可不够纯呀~
======================小软件======================
这次照例我又用vb写了一个小软件
方便大家制作自定义颜色的皮革套装~
有选色条 自动计算color值~

可以写入RGB值 也可以拉动滑条~
此处是下载~
[CBL·K_bai]自定义皮革盔甲颜色生成器.zip
(5.37 KB, 下载次数: 694)
PS.本来也想写个HSV颜色空间的 结果发现我不会换算23333333333
======================结语======================
勇敢的少年们啊 快去创造五彩的世界~~
此处提供题图存档下载:
http://pan.baidu.com/s/1kTBVH9X
@1_41421356237 感谢发现的错误(65535->65536)
首先纯红的rgb值是RGB(255,0,0)
代入公式
颜色代码 = 255 * 65536 + 0 * 256 + 0 = 16711680
放入指令~
-----------------------------------------------------------------------------
/give @p minecraft:leather_chestplate 1 0 {display:{color:16711680}}
-----------------------------------------------------------------------------

生成成功~

和原版用玫瑰红染料染出来的对比~[右边是原版玫瑰红~][左边是生成的纯红的~]

[在背包里][左边是玫瑰红染出来的][右边是生成的纯红的~]
原版的红可不够纯呀~
======================小软件======================
这次照例我又用vb写了一个小软件
方便大家制作自定义颜色的皮革套装~
有选色条 自动计算color值~

可以写入RGB值 也可以拉动滑条~
此处是下载~
PS.本来也想写个HSV颜色空间的 结果发现我不会换算23333333333
======================结语======================
勇敢的少年们啊 快去创造五彩的世界~~
此处提供题图存档下载:
http://pan.baidu.com/s/1kTBVH9X
@1_41421356237 感谢发现的错误(65535->65536)
挽回楼主尊严
好像没有意义
坑坑二字叫的我好羞射
旧版本就无解了。。哎
好NB的软件
LZ辛苦了~打了这么长的帖子,支持一下吧
围观大触发教程
本帖最后由 nnyilun 于 2015-2-11 18:33 编辑
楼主软件用不了呀!一打开就显示这个:
怎么办???
楼主软件用不了呀!一打开就显示这个:
nnyilun 发表于 2015-2-11 18:31
楼主软件用不了呀!一打开就显示这个:怎么办???
wtf win8?
似乎是缺少DLL库
其实这个软件没啥必要啦
看懂内个教程自己用计算器算颜色代码也行~
本帖最后由 nnyilun 于 2015-2-11 20:52 编辑
嗯,对!我把那个缺少的MSSTDFMT.dll文件从网上下载了~问题已修复!谢谢楼主!(win8.1系统居然不自带这个文件!!!真可恶!)还有,wtf是什么?{:10_493:}
kongbaiyo 发表于 2015-2-11 20:46
wtf win8?
似乎是缺少DLL库
嗯,对!我把那个缺少的MSSTDFMT.dll文件从网上下载了~问题已修复!谢谢楼主!(win8.1系统居然不自带这个文件!!!真可恶!)还有,wtf是什么?{:10_493:}
起码不用每次都打开ps了
nnyilun 发表于 2015-2-11 20:50
嗯,对!我把那个缺少的MSSTDFMT.dll文件从网上下载了~问题已修复!谢谢楼主!(win8.1系统居然不自带这个 ...
是What the fuck的简称 2333333
kongbaiyo 发表于 2015-2-11 21:07
是What the fuck的简称 2333333
额.....{:10_493:}
12313131 发表于 2015-2-11 20:51
起码不用每次都打开ps了
哈哈哈哈哈==唯一的用途…
顶一个..........................
顶 我要来个基佬紫[purple_wool]
三楼是我的和谐白
长姿势了。。。。。。。。。。
简直了 666
颜色代码 = 红色值 * 65535 + 绿色值 * 256 + 蓝色值
明明是65536好吗?
明明是65536好吗?
1_41421356237 发表于 2015-7-5 13:26
颜色代码 = 红色值 * 65535 + 绿色值 * 256 + 蓝色值
明明是65536好吗?
抱歉XD 写错了= =已更改!
说的就像我们看不懂wiki一样
团战可以输提莫必须死
对于用指令刷彩色皮革的用处大了
如果白色羊毛也可以这样的话,建筑党们就一定会欣喜若狂(因为他们可以将羊毛染成各种颜色,做出雕像了)
其实我觉得,卤煮可以研究下如何使武器变色
=A=做的好棒呐,然而并没有什么卵用,对于我这种生存党来说最好不要作弊不过不得不说楼主真的给力……
对了信标也是玩得起来的呢,信标彩虹什么的
对了信标也是玩得起来的呢,信标彩虹什么的
大触,建筑党的奇迹。