项目场景:

在Unity中实现给物体赋予渐变色。


问题描述:

在Unity中要实现给物体赋予渐变色,实现类似于应力云图分布的效果。

for (int j = 0; j < Num; j++)
{float Scale_y = _Heighter[j];GapInfos[j] = new GapInfo(i, 0, j, _Sphere);GapInfos[j]._Sphere.transform.localPosition = new Vector3(0, 0.5f, i * 0.01f);GapInfos[j]._Sphere.transform.RotateAround(new Vector3(0, 0, i), new Vector3(0, 0, 1), j - 90);// 颜色赋值Vector3 color = GetRGB((Scale_y - _MinHeight) / (_MaxHeight - _MinHeight)) / 255.0f;GapInfos[j]._Sphere.GetComponent<MeshRenderer>().material.color = new Color(color.x, color.y, color.z);
}

如下图实现给每个小球赋予颜色,最终实现云图效果(Red->Blue):

但是现在想将渐变色的实现实现反转,即Blue->Red,首先想到在代码中,将Color对应的rgb值分别取反,如下,但是效果与设想不一致:

Vector3 color = GetRGB((Scale_y - _MinHeight) / (_MaxHeight - _MinHeight)) / 255.0f;
GapInfos[j]._Sphere.GetComponent<MeshRenderer>().material.color = new Color(1 - color.x, 1 - color.y, 1- color.z);


原因分析:

这里对于云图颜色的取反与传统图像的取反并非同样的概念,正确做法是对归一化后获取颜色的Value值取反,这样才能实现云图颜色范围的正确“取反”效果。

Vector3 color = GetRGB(1 - (Scale_y - _MinHeight) / (_MaxHeight - _MinHeight)) / 255.0f;
GapInfos[j]._Sphere.GetComponent<MeshRenderer>().material.color = new Color(color.x, color.y, color.z);

正确效果如下:


总结:

如题,特此记录。

慕天有脂人消醉,白首偕老皆莫悔 .HDarker

Unity渐变色实现相关推荐

  1. Unity自定义UI组件(七)渐变工具、渐变色图片、渐变遮罩

    欢迎阅读Unity自定义UI组件(七)渐变工具.渐变色图片.渐变遮罩 前言 在Unity中UGUI只为我们提供了最为基础的Image和RawImage两种可展示图片的组件,但是这两种组件要展示一些特殊 ...

  2. Unity小功能记录(四)------ 已知两端颜色,显示渐变色条

    功能如题目所示,先提供参考文章链接: 颜色渐变效果:https://www.cnblogs.com/android-blogs/p/6038226.html(color.lerp可得到渐变色Color ...

  3. Unity的text从左到右的字体渐变色(参考

    参考了网上各个text渐变色的代码,但大多数是由上而下的渐变,我就思索了大概思路,也简单的,改成从左到右,基本思路不变,可以改 [AddComponentMenu("UI/Effects/G ...

  4. 【Unity】UI或3D场景自动设置渐变色背景

       给定一组色值(或者多组色值,每次随机取一组),初始化时创建图片并赋值给UI的Image或3D场景的Sprite.从下/左往上/右,按曲线渐变 using System.Collections; ...

  5. Unity 图片渐变色的实现

    示例: 实现方法: 创建一个Image 再Image组件上添加 Gradient 组件 调节Gradient组件中的Color1 和 Color2 即可 Gradient源码: /**FileName ...

  6. Unity 5 中的全局光照技术详解

    简介 全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常有挑战性,付出的代价也高,正因为如此,现代游戏会先一定程度的预先处理这些计算,而非游戏执行时实时运算. ...

  7. Unity Shader(一) Lowpoly动态低多边形 (QQ登录界面低边动画)

    前言 在逛论坛的时候偶然发现有人在问动态低多边形(Lowpoly)是如何实现的,因为经常编写UGUI拓展对顶点操作较为熟悉的我立马就想到利用继承UnityEngine.Graphic,重写OnPopu ...

  8. 04、Unity 5--全局光照技术

    本文整理自Unity全球官方网站,原文:UNITY 5 - LIGHTING AND RENDERING 简介 全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非 ...

  9. 【游戏开发创新】手把手教你使用Unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化 | 频谱 | Audio)

    文章目录 一.前言 二.获取UI素材 三.使用UGUI制作界面 1.界面布局 2.账号圆形头像 3.搜索框 4.调节UI层 5.黑色按钮悬浮高亮效果 6.纯文字按钮 7.滚动列表自适应 8.歌名与视频 ...

最新文章

  1. clip\_gradient
  2. jquery插件dataTables自增序号。
  3. 信息学奥赛一本通 1006:A+B问题 | OpenJudge NOI 1.3 01
  4. 华为鸿蒙os系统电脑有吗,华为全面启用鸿蒙OS系统!所有华为终端设备:默认搭载鸿蒙系统...
  5. 判断字符串是只是数字
  6. 远程连接另一台电脑,如何用被远程的电脑听歌
  7. qt和arcgis for qt在地图上做测距(画线和显示距离,单位km)
  8. linux删除磁盘设备,linux添加,移除scsi设备
  9. Win10 安装MySQL(解压版)
  10. 用python求正方形面积是多少_长方形正方形面积的计算
  11. AGV激光Slam导航环境要求说明
  12. 记录一次在线网页加密PDF解密过程
  13. QLCDNumber设置背景色和显示数字颜色
  14. 微信html5电子相册,如何快速制作微信H5电子相册?
  15. 阿里云增强版实人认证--银行卡要素核验
  16. 【Java学习笔记】接收命令行参数输出指定个数的斐波那契数列
  17. android recyclerView Binary XML file line #7: Error inflating class android.support.v7.widget.Recycl
  18. 思考 | 重返研一,你会怎么过?
  19. Golang的runtime
  20. [GDUT]1060: 跟XxX_Stu 玩游戏(很简单题目)

热门文章

  1. zabbix4.2之web监控
  2. 20-21-2网络管理quiz2
  3. [转]Vs解决方案的目录结构设置和管理
  4. jmeter解决不同线程组之间传递参数问题
  5. 【笔记】Java 信任所有SSL证书(解决PKIX path building failed问题)
  6. 异常:java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Workbook.getCellStyleAt
  7. 安装vim提示Depends: libpython3.5 (>= 3.5.0~b1) but it is not going to be installed的解决方法
  8. 问题 : lang.NoClassDefFoundError: org/springframework/core/annotation/AnnotatedElementUtils,的解决方法
  9. redis集群出现JedisNoReachableClusterNodeException异常(No reachable node in cluster)
  10. Java 图片处理解决方案:ImageMagick 快速入门教程