1,先说Unity Color与Color32:
官网文档:
Unity - Scripting API: Color
Unity - Scripting API: Color32
Color和Color32可互转。Unity默认貌似用的是Color。那区别是什么呢?
Color: 使用Float (4字节,32位!) 对应一个通道。那么RGBA=4个*4字节*8=128 bit !
大有大的好处。能表示的色彩数量也越高。甚至可以跟HDR直接做结合(float,当然可以表示1以上的数据啊)。
Color32: 使用Byte(1字节8位) 对应一个通道,所以RGBA=4个*1字节*8 = 32 bit
小有小的好处。理论上更快,占用内存更低,是Color的1/4。缺点是固定256*256*256=16777216色。无法表示多的色彩。想表示HDR,数据容量已经不够了,解决方案是靠多图或额外增加数据。但是Unity内部是个黑盒,再更底层渲染算法那里的处理也更是说不清楚,所以如果只是想表现1600万色,用这个理论上更优一些。
可以用断点看一下:
2, 再说说 PS通道:
通道:用位去表示,能支持的信息数量。
最常用的8位通道:用8bit (1个字节)的信息,去描述通道内的信息。
那么,颜色模式 为RGB颜色,8位通道。8*3通道(RGB)=对应24位色彩。8位,能表示的数据范围是0-255,所以可以展示:256*256*256=16777216 个色彩。再加上8位,描述这个像素的透明度的Alpha通道,也正好对应了Unity的Color32数据格式。
PS通道,16位以上的,支持的格式就不多了。所以暂时不讲。
3,显示设备,例如显示器参数问题:
目前主流10亿色显示器,大多数是8抖10的。当然除了显示器,其他显示设备也有更高色深的。暂时不提。
4,常用色深:
想起了多年前,考系统分析师的教材:
色深(Color Depth): 用位bit(不是字节) 去表示色彩数量。
1位:2种颜色,单色光,黑白二色。
8位:256种颜色。比较常用的就是Gif图。
16位:部分老游戏、老操作系统使用的。
( 红色占5 个位、蓝色占5 个位、绿色占6 个位,所以红色、蓝色、绿色各有32、32、64 种变化,总共可以组合出64K 种颜色)
24位:目前最常用。有16,777,216色,真彩色。最常用。文章来源:https://www.toymoban.com/news/detail-413396.html
32位:一般指,在24位真彩色基础上,增加8位的透明通道。文章来源地址https://www.toymoban.com/news/detail-413396.html
到了这里,关于Unity Color对比Color32、对应PS的通道解释的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!