如何给unity立方体(3d-Cube)设置颜色

如何给unity立方体(3d-Cube)设置颜色,第1张

场景中右键创建一个立方体,

Project窗口中创建一个材质

选中立方体,在Inspector窗口中的立方体对象的MeshRenderer 组件中 设置为 PinkColor材质

楼上错误。这个是设置材质球的颜色

建议楼主去看看相关Texture2D的接口方法,可以轻松解决。

我记得是Getpixel接口,获取某一个点、区域的像素、像素块。得到的是一个color或者color[]。你进行编辑之后。Setpixel录入你修改的数据。然后,Apply。完成修改。

这些都是调用的Texture2D类方法。

希望对你有帮助。望采纳~~~

已知颜色A与颜色B,颜色B覆盖在颜色A上,最终输出的结果为颜色C。

A为缓存色,B为当前色,C为输出色

正常透明度混合-

描述:正常透明度混合

公式:当前颜色 x 当前透明度 +(1 - 当前透明度)x 缓存颜色

shader:fixed4 C = B x Ba + A x (1 - Ba);

正片叠底-

描述:颜色叠加,使像素重合部分的颜色更暗。像素覆盖顺序随意调换不会改变结果

公式:当前颜色 x 缓存颜色

shader:fixed4 C = A B;

滤色-

描述:与正片叠底相反,重合部分的像素更亮

公式:1 - (1-当前颜色)x (1-缓存颜色)

shader代码:fixed4 C = 1 - (1 - A) (1 - B);

叠加 - -

描述:结合滤色与正片叠底,基色的像素重合部分比较亮的会更亮,比较暗的会跟暗

公式:如果当前颜色 <= 05 返回1,否则返回 0 该值记做 w;

w x 缓存色 x 当前色 x 2 + (1 - w) x (1 - (1 - 缓存色) x (1 - 当前色) x 2)

shader代码:

if(A > 05){

fixed4 C = 1 - 2 (1 - A) (1 - B);

}else{

fixed4 C = 2 A B;

}

反色

描述:取得与缓存色相反的颜色

公式:1 - 缓存颜色

shader代码:fixed4 C = 1 - A;

变暗-

描述:缓存颜色 x 缓存颜色与当前颜色中最小的那个

公式:缓存颜色 x min(缓存颜色,当前颜色)

shader代码:fixed4 C =A min(A,B) ;

变亮-

描述:缓存颜色 x 缓存颜色与当前颜色中最大的那个

公式:缓存颜色 x max(缓存颜色,当前颜色)

shader代码:

fixed4 C =A max(A, B) ;

减色

描述:缓存颜色减掉当前颜色的值

公式:缓存颜色 - 当前颜色

shader代码:fixed4 C = A - B;

划分

描述:缓存颜色除当前颜色的值

公式:缓存颜色 / 当前颜色

shader代码: fixed4 C = A / B ;

颜色加深

描述:

公式:缓存颜色 - ((1 - 缓存颜色) x (1 - 当前颜色)) / 缓存颜色

shader代码:fixed4 C = A - ((1-A) (1-B)) / B;

颜色减淡

描述:

公式:缓存颜色 + ((缓存颜色 x 当前颜色) / (1 - 当前颜色))

shader代码:fixed4 C = A + (A B) / (1 - B);

线性加深

描述:

公式:当前颜色 + 缓存颜色 - 1

shader代码:fixed4 C = B + A -1;

线性减淡

描述:

公式:缓存颜色 + 当前颜色

shader代码:fixed4 C = A + B;

强光

描述:

公式:如果当前色 <= 05 返回1,否则返回0,记作w;

w x 缓存色 x 当前色 x 2 + (1 - w) x (1 - (1 - 缓存色) x (1 - 当前色) x 2);

shader代码:

fixed4 ifFlag= step(B, fixed4(05, 05, 05, 05));

fixed4 C = ifFlag A B 2 + (1 - ifFlag) (1 - (1 - A) (1 - B) 2);

柔光

描述:

公式:如果当前色 <= 05 返回1,否则返回0,记作w;

w x 缓存色 x 当前色 x 2 + (1 - w) x (1 - (1 - 缓存色) x (1 - 当前色) x 2);

shader代码:

fixed4 ifFlag = step(B, fixed4(05, 05, 05, 05));

fixed4 C = ifFlag (A B 2 + A A (1 - B 2)) + (1 - ifFlag) (A (1 - B) 2 + sqrt(A) (2 B - 1));

亮光

描述:

公式:如果当前色 <= 05 返回1,否则返回0,记作w;

w x (缓存色 - (1 - 缓存色) x (1 - 2 x 当前色) / (2 x 当前色)) + (1 - w) x (缓存色 + 缓存色 x (2 x 当前色 - 1) / (2 x (1 - 当前色)));

shader代码:

fixed4 ifFlag = step(B, fixed4(05, 05, 05, 05));

fixed4 C = ifFlag (A - (1 - A) (1 - 2 B) / (2 B)) + (1 - ifFlag) (A + A (2 B - 1) / (2 (1 - B)));

点光

描述:

公式:如果当前色 <= 05 返回1,否则返回0,记作w;

w x (min(缓存色, 2 x 当前色)) + (1 - w) x (max(缓存色, ( 当前色 x 2 - 1)));

shader代码:

fixed4 ifFlag = step(B, fixed4(05, 05, 05, 05));

fixed4 C = ifFlag (min(A, 2 B)) + (1 - ifFlag) (max(A, ( B 2 - 1)));

线性光

描述:

公式:缓存色,+ 2 x 当前色 - 1;

shader代码: fixed4 C=A+2B-1;

实色混合

描述:

公式:如果当前色 + 缓存色 <= 1 返回1,否则返回0,记作w;

w x (0) + (1 - w) x (1);

shader代码:

fixed4 ifFlag = step(A + B, fixed4(1, 1, 1, 1));

fixed4 C = ifFlag (fixed4(0, 0, 0, 0)) + (1 - ifFlag) (fixed4(1, 1, 1, 1));

深色

描述:

公式:如果当前色的rgb分量 + 缓存色 <= 1 返回1,否则返回0,记作w;

w x (0) + (1 - w) x (1);

shader代码:

fixed4 ifFlag = step(Br + Bg + Bb, Ar + Ag + Ab);

fixed4 C = ifFlag (B) + (1-ifFlag)(A);

颜色制式

RGBA :红、绿、蓝、透明度

HSL: hue(色相)、saturation(饱和度)、lightness(亮度)

HSV: hue(色相)、saturation(饱和度)、value(色调)

HSB: hue(色相)、saturation(饱和度)、brightness(明度)

以上就是关于如何给unity立方体(3d-Cube)设置颜色全部的内容,包括:如何给unity立方体(3d-Cube)设置颜色、unity3d Texture2d如何设置图片的像素颜色、请问在Unity的像素Shader里返回的颜色的计算模式是什么样的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9499035.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存