纳金网
标题:
UGUI Text渐变效果实现(Gradient)
[打印本页]
作者:
烟雨
时间:
2015-6-25 07:41
标题:
UGUI Text渐变效果实现(Gradient)
UGUI自带两个字体效果--Outline 和 Shadow
而渐变效果实现木有,以下是社区中的实现,供参考使用:
https://www.youtube.com/watch?v=gkGSrjZNEzQ(此视频是一个专业插件,很强大)
另外一个简单实现:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
[AddComponentMenu("UI/Effects/Gradient")]
public class Gradient : BaseVertexEffect {
[SerializeField]
private Color32 topColor = Color.white;
[SerializeField]
private Color32 bottomColor = Color.black;
public override void ModifyVertices(List<UIVertex> vertexList) {
if (!IsActive()) {
return;
}
int count = vertexList.Count;
float bottomY = vertexList[0].position.y;
float topY = vertexList[0].position.y;
for (int i = 1; i < count; i++) {
float y = vertexList[i].position.y;
if (y > topY) {
topY = y;
}
else if (y < bottomY) {
bottomY = y;
}
}
float uiElementHeight = topY - bottomY;
for (int i = 0; i < count; i++) {
UIVertex uiVertex = vertexList[i];
uiVertex.color = Color32.Lerp(bottomColor, topColor, (uiVertex.position.y - bottomY) / uiElementHeight);
vertexList[i] = uiVertex;
}
}
}
复制代码
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5