unity3d怎么通过脚本改变颜色

unity3d怎么通过脚本改变颜色,第1张

定义renderer。
然后用不同的材质表示不同的颜色。
比如红色。你建个材质,改成红色,定义material1;
绿色,定义material2;
然后获取物体的renderer,renderermatertal=material1;
这样就是让该物体变成红色。

几种思路:

1 你可以写 Native 插件,调用本地系统的调色板,比如用 PInvoke 调用 Windows 的调色板对话框Comdlg32dll 中的 ChooseColor 函数。

2 用 NGUI 系统自己画出调色板界面。

3 调入一张色块图,取色块图上的像素颜色。示例如下:

SystemDrawingImage img = SystemDrawingImageFromFile(ApplicationdataPath + "/1jpg");
Bitmap bm = new Bitmap(img, 500, 500);
if (InputmousePositionx < 500 && InputmousePositiony < 500)
{
    SystemDrawingColor pc = bmGetPixel((int)InputmousePositionx,500 - (int)InputmousePositiony);
    
    UnityEngineColor nuc = new UnityEngineColor(pcR / 2550f, pcG / 2550f, pcB / 2550f, 10f);
    //DebugLog(pcR+ "//"+  pcG+ "//"+ pcB);
    targetrenderermaterialcolor = nuc;
}

如果你只是想改变unity3d的界面皮肤,
点击edit
->
preferences
->general
->
skin
只有两种可以选,一种是黑暗
一种是亮光

使用ClewTextmaterialcolor即可实现。
1例如设置成红色:
ClewTextmaterialcolor = Colorred;
2改字体颜色页可以使用是stylenormaltextcolor=new color(1,0,0),括号里可以改不同数字,对应不同颜色。

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

Project窗口中创建一个材质

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

1打开软件,新建工程如下图所示。点击创建工程按钮。

2在层级面板中穿件Cube,在项目面板鼠标右键中创建材质,如下图所示

3在项目面板下创建脚本文件,如图所示

4双击脚本文件打开,编写代码如下

5创建标准shader,如下图所示

6并将创建的shader替换给Cube对象

7双击打开5中创建的Shader文件,查看参数信息(参数信息的结果是为了书写4中的代码,参见经验视频)

8将3中的脚本附加给Cube。

9点击运行,结果如图。


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

原文地址: http://outofmemory.cn/yw/12899788.html

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

发表评论

登录后才能评论

评论列表(0条)

保存