更新:这已在Unity 5.3中修复
我为Sprites写了一个Chroma Shader.它基于Unity的buildin着色器Sprites-Diffuse Shader,你可以在这里下载
我添加了一个纹理来映射第二种颜色和颜色属性.
着色器在Windows/Android设备上运行良好.但在IOS上,色度图似乎有一个偏移量.
我很欣赏每一个提示.
_Color = Black
_ChromaColor = Orange
Run Code Online (Sandbox Code Playgroud)
Shader "Sprites/Chroma"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_ChromaTex ("Chroma Map", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1)
_ChromaColor ("ChromaColor", Color) = (1,1,1,1)
[MaterialToggle] PixelSnap ("Pixel snap", Float) = 0
}
SubShader
{
Tags
{
"Queue"="Transparent"
"IgnoreProjector"="True"
"RenderType"="Transparent"
"PreviewType"="Plane"
"CanUseSpriteAtlas"="True"
}
Cull Off
Lighting Off
ZWrite Off
Blend One OneMinusSrcAlpha …Run Code Online (Sandbox Code Playgroud)