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色,真彩色。最常用。
32位
:一般指,在24位真彩色基础上,增加8位的透明通道。
鹅卵石-png_demo
这是 uPNG 到 pebble 的端口,用于支持压缩图像。 由于压缩尺寸较小,这将允许存储的图像数量为资源的 4 倍 + 从 javascript/companion_app 传输更快。 目前 Pebble 图像是一种称为 PBI 的非标准位图格式,如此处所述: :
png.h 中提供了 2 个函数以方便移植:
GBitmap* gbitmap_create_with_png_resource(uint
32
_t resource_id);
GBitmap* gbitmap_create_with_png_data(uint8_t *data, int data_bytes);
要从使用 PBI 图像切换到 PNG 图像,请将 appinfo.json 从类型“png”更新为类型“raw”,并将对 gbitmap_create_with_res
0-1 创建颜色
Color
color
=new
Color
(R,G,B,A);// R、G、B、A取值范围是0-1 实质:表示 255 的百分比
Color
color
=new
Color
(R,G,B);//A 默认为1
0-255 创建颜色
Color
32
color
32
=new(r,g,b,a)//r、g、b、a取值范围是0-255
使用
Color
Studio 2,您可以利用颜色理论创建程序性颜色组合,使它们看起来很好地结合在一起。
1) 使用集成在易于使用的编辑器窗口中的各种工具创建吸引人的调色板,
2) 使用强大的像素绘制窗口在编辑器中创建或编辑纹理和精灵,
3) 在编辑器和运行时重新激活游戏对象和精灵。
_Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5
_Glossiness("Smoothness", Range(0.0, 1.0)) = 0.5
_GlossMa
pS
cale("Smoothness Scale", Range(0.0, 1.0)) = 1.0
[Enum(Metallic Alpha,0,Albedo Alpha,1)] _SmoothnessTextureChannel ("Smoothness texture channel", Float) = 0
[Gamma] _Metallic("Metallic",
可以看到,在Gamma空间下,我是用
PS
输出的70%透明度的纯黑色的图片,和使用windows自带应用打开的图片没有任何区别,我们打开图片的设置,有一个sRGB选项(下文会详解sRGB选项),不管开启还是关闭这个选项,图片都不会有变。由于
PS
是使用Gamma空间进行图片制作和输出的,所...