Unity渐变色实现
项目场景:
在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渐变色实现相关推荐
- Unity自定义UI组件(七)渐变工具、渐变色图片、渐变遮罩
欢迎阅读Unity自定义UI组件(七)渐变工具.渐变色图片.渐变遮罩 前言 在Unity中UGUI只为我们提供了最为基础的Image和RawImage两种可展示图片的组件,但是这两种组件要展示一些特殊 ...
- Unity小功能记录(四)------ 已知两端颜色,显示渐变色条
功能如题目所示,先提供参考文章链接: 颜色渐变效果:https://www.cnblogs.com/android-blogs/p/6038226.html(color.lerp可得到渐变色Color ...
- Unity的text从左到右的字体渐变色(参考
参考了网上各个text渐变色的代码,但大多数是由上而下的渐变,我就思索了大概思路,也简单的,改成从左到右,基本思路不变,可以改 [AddComponentMenu("UI/Effects/G ...
- 【Unity】UI或3D场景自动设置渐变色背景
给定一组色值(或者多组色值,每次随机取一组),初始化时创建图片并赋值给UI的Image或3D场景的Sprite.从下/左往上/右,按曲线渐变 using System.Collections; ...
- Unity 图片渐变色的实现
示例: 实现方法: 创建一个Image 再Image组件上添加 Gradient 组件 调节Gradient组件中的Color1 和 Color2 即可 Gradient源码: /**FileName ...
- Unity 5 中的全局光照技术详解
简介 全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常有挑战性,付出的代价也高,正因为如此,现代游戏会先一定程度的预先处理这些计算,而非游戏执行时实时运算. ...
- Unity Shader(一) Lowpoly动态低多边形 (QQ登录界面低边动画)
前言 在逛论坛的时候偶然发现有人在问动态低多边形(Lowpoly)是如何实现的,因为经常编写UGUI拓展对顶点操作较为熟悉的我立马就想到利用继承UnityEngine.Graphic,重写OnPopu ...
- 04、Unity 5--全局光照技术
本文整理自Unity全球官方网站,原文:UNITY 5 - LIGHTING AND RENDERING 简介 全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非 ...
- 【游戏开发创新】手把手教你使用Unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化 | 频谱 | Audio)
文章目录 一.前言 二.获取UI素材 三.使用UGUI制作界面 1.界面布局 2.账号圆形头像 3.搜索框 4.调节UI层 5.黑色按钮悬浮高亮效果 6.纯文字按钮 7.滚动列表自适应 8.歌名与视频 ...
最新文章
- clip\_gradient
- jquery插件dataTables自增序号。
- 信息学奥赛一本通 1006:A+B问题 | OpenJudge NOI 1.3 01
- 华为鸿蒙os系统电脑有吗,华为全面启用鸿蒙OS系统!所有华为终端设备:默认搭载鸿蒙系统...
- 判断字符串是只是数字
- 远程连接另一台电脑,如何用被远程的电脑听歌
- qt和arcgis for qt在地图上做测距(画线和显示距离,单位km)
- linux删除磁盘设备,linux添加,移除scsi设备
- Win10 安装MySQL(解压版)
- 用python求正方形面积是多少_长方形正方形面积的计算
- AGV激光Slam导航环境要求说明
- 记录一次在线网页加密PDF解密过程
- QLCDNumber设置背景色和显示数字颜色
- 微信html5电子相册,如何快速制作微信H5电子相册?
- 阿里云增强版实人认证--银行卡要素核验
- 【Java学习笔记】接收命令行参数输出指定个数的斐波那契数列
- android recyclerView Binary XML file line #7: Error inflating class android.support.v7.widget.Recycl
- 思考 | 重返研一,你会怎么过?
- Golang的runtime
- [GDUT]1060: 跟XxX_Stu 玩游戏(很简单题目)
热门文章
- zabbix4.2之web监控
- 20-21-2网络管理quiz2
- [转]Vs解决方案的目录结构设置和管理
- jmeter解决不同线程组之间传递参数问题
- 【笔记】Java 信任所有SSL证书(解决PKIX path building failed问题)
- 异常:java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Workbook.getCellStyleAt
- 安装vim提示Depends: libpython3.5 (>= 3.5.0~b1) but it is not going to be installed的解决方法
- 问题 : lang.NoClassDefFoundError: org/springframework/core/annotation/AnnotatedElementUtils,的解决方法
- redis集群出现JedisNoReachableClusterNodeException异常(No reachable node in cluster)
- Java 图片处理解决方案:ImageMagick 快速入门教程