unity 发光字体_unity文本自发光效果
项目要求一个文本自发光的效果,网上搜索了一下法线并没有找到有关代码,于是只能自己动手写了一个,先上效果吧
这里其实只用到了简单的模糊效果,本来想用的高斯模糊,但是发现效果还不如简单的模糊效果。下面是片元着色器的代码
float getTransparent(sampler2D MainTex, float2 uv)
{
fixed4 result = tex2D(_MainTex, uv);
return result.a;
}
fixed4 frag (v2f i) : COLOR
{
fixed4 lightCol = fixed4(0.0f, 0.612f, 1.0f, 1.0f);
fixed4 result = tex2D(_MainTex,i.uv);
float accAlpha = 0;
float offsetValue = _OffsetValue;
int lev = 7;
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, -7));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, -6));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, -5));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, -4));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, -3));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, -2));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, -1));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, 0));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, 1));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, 2));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, 3));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, 4));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, 5));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, 6));
++lie;
}
for(int lie = 0 - lev; lie <= lev;)
{
accAlpha = accAlpha + getTransparent(_MainTex, i.uv + offsetValue*float2(lie, 7));
++lie;
}
fixed4 col = 1*result.a + lightCol.rgba*(1.0f - result.a);
col.a = result.a + accAlpha/(float)((2*lev+1)*(2*lev+1));
col.a = col.a*(col.a + 1);
return col;
}
unity的shader貌似不能嵌套for循环,就只能如此了,例子这里是取了每点周围五个像素作为源色彩,求得均值作为当前像素色彩。
unity 发光字体_unity文本自发光效果相关推荐
- unity 发光字体_Unity 游戏开发技巧集锦之创建自发光材质
Unity 游戏开发技巧集锦之创建自发光材质 Unity游戏开发技巧集锦教程大学霸内部资料 创建自发光材质 自发光材质(self-illuminated material)是指自己会发光的材质.生活中 ...
- unity 发光字体_Unity中字体的一些知识
Unity中的字体常用的有:内置字体,外部导入的字体,自定义的字体. 1,内置字体. 内置字体一般是指unity自带的字体,Windows下unity自带字体为Arial,如果游戏中使用Arial字体 ...
- unity 发光字体_Unity UGUI 使用艺术字体
道具准备 字体制作 菜单栏上单击 Edit -> Open Image Manager. 再单击 Image -> Import image,把你要做成位图字体的图片依次导入进来.如果是中 ...
- unity 发光字体_[转载]Unity3D做彩色的字体的详细教学
效果是这样的: 1-1.jpeg (15.73 KiB) 被浏览 24 次 详细的实现方法: 1 首先随便扔进去一个字体,最简单的比如扔进去一个arial. 设置好Font Size,比如24 Cha ...
- unity 发光字体_Unity3D 设置OnGUI中的字体样式、字体颜色、字体大小等
1:字体样式 从系统盘,如C:\Windows\Fonts找一个.ttf格式的字体库,放到Assets目录下. 此时选中该字体库,在Inspector面板可以修改字体的大小,试了一下修改字体的颜色(F ...
- unity 太阳自发光_unity shader基础之——unity中实现环境光、自发光
上篇主要讲的是unity中的光照模型及其原理,还有几种光照类型(自发光.环境光.漫反射.高光反射),后面几篇文章就开始在unity中实现这几种光照类型,本篇在unity实现自发光.环境光. 一.uni ...
- 迄今为止最好的《权力的游戏》字体和文本效果
<权力的游戏>是电视上规模最大,谈论最多的幻想戏剧之一,吸引了全世界观众的猛ma. 从谚语到商品,<权力的游戏>已经激发了我们日常生活中的许多事物. 随着设计师成为<权力 ...
- 修改 VSCode 的工作台重叠样式表实现任意效果, 记录一个发光字体
插件 Custom CSS and JS Loader 用于重新加载为自己的css文件 GlassIt-VSC 或者 Windows opacity win平台用于透明化背景 建立自己的 .css文件 ...
- CSS3发光字体几种效果
<!DOCTYPE html> <html> <head> <!-- 超酷炫的CSS3发光字体,可自定义喔!!--> <meta http-equ ...
最新文章
- SpringMVC入门学习---拦截器
- Could not initialize class sun.awt.X11GraphicsEnvironment
- ansible自己总结(playbook)
- OpenCV与c语言图像融合
- Nacos注册中心的部署与用法详细介绍
- 推荐一些能能提高生产力的 Python 库
- IOS零碎技术整理(3)-获取wifi列表
- vscode+php+phpstudy:断点调试(f5后vscode无法继续下一步;浏览器无法断点,直接返回执行结果的解决方法)
- install python 3.5.0_Mac 下安装Python3.5出现“python3-3.5.0 already installed, it's just not linked”错误...
- 【python爬虫】报错module requests has no attribute get
- js 指定滚动条位置
- 使用alias简化命令输入
- JavaEE Design Patter(2)
- python 打开txt文件
- Deecamp 面试翻车记录
- 使用ArrayList集合,对其添加10个不同的元素,并使用Iterator遍历该集合
- Django 博客开发教程 8 - 博客文章详情页
- win快捷键失效,win+d,win+e等快捷键功能修复
- 拆解一个居家隔离监测的无线门磁
- Ubuntu软件安装与更改镜像源(超详细)
热门文章
- PRML(3)--Chapter2(上)-概率分布-二元变量、多项式变量、高斯分布、指数族分布
- 论中国足球教练排名,“神奇教练”米卢说第二,没人敢称第一
- 从无秘和知乎看中国社交产品的特点
- 设计模式的六大设计原则
- java中前加加和后加加的案例
- 以太坊2.0迁移之际,会有哪些机会和挑战?| Sodium线上发布会
- Zhong__Centos安装Redis
- 长达1.5年华强北耳机微妙体验
- 解决:联想电脑开机壁纸图片在哪可以找到?
- 2010年互联网风云人物