内置UI特效----------------------------------------------------------------------------
新建一个Text -----AddComponent----UI---Effects下有三个
( shadow, 阴影
outline, 描边
position as UV1 ?
)
阴影:
effect color: 阴影颜色,
effect distance 阴影距离.
Use Graphic alpha 阴影与原文本透明通道是否进行叠加.
如果勾选Use Graphic alpha 属性.那么,当调节字体本身颜色的透明度时.阴影部分的透明度页会跟着变化.
如果不勾选Use Graphic alpha,当调节字体本身颜色的透明度时,阴影部分的透明度不会变化.
对比图如下.
当勾选Use Graphic alpha 属性.那么,当调节字体本身颜色的透明度时.阴影部分的透明度页会跟着变化.
描边:
描边距离不要太大.不然不好看.
可以把Effect distance 设大一点.就可以看到.他是把原文本本身复制了四份.然后设置他与文本本尊的相对位置颜色而已.
新建一个guiTest.cs
using UnityEngine.UI;
在脚本类中.可以直接定义一个Outline变量. 选中Outline,按F12进去看看.有啥东东.
public class uguiTest : MonoBehaviour
{
public Outline outline;
public Shadow shadow;
}
描边类继承自阴影类,并且重写了他的"修改顶点"方法
public override void ModifyVertices (List verts){...}
阴影类中 ModifyVertices函数里 调用了一次 base.ApplyShadow (...)
描边类中 ModifyVertices函数里 调用了四次 base.ApplyShadow (...)
position as UV1 这个效果:
UGUI 示例 : Lighting
这个示例的Background 上就有 position as UV1脚本. 启用禁用,这个脚本.发现背景上的斜纹.会显示或者不显示.
新建一个Image,给他加一个position as UV1 脚本
新建一个材质球,材质球shadder选择 UI/lit/Detail
在project中搜到 法线贴图DiagonalStripes 拖拽到.材质球的shadder 第三个空上.
效果对比图:
unity3d 阴影颜色