4 一个当年人

尚未进行身份认证

暂无相关描述

等级
博文 214
排名 1w+

【unity shader 入门精要 读书笔记】获取深度和法线纹理

前言在第12章【屏幕后处理效果】中,我们学习的屏幕后处理效果都只是在屏幕颜色图像上进行各种操作来实现的。然而,很多时候我们不仅需要当前屏幕的颜色信息,还希望得到深度和法线信息。例如,在进行边缘检测时,直接利用颜色信息会使检测到的边缘信息受物体纹理和光照等外部因素的影响,得到很多我们不需要的边缘点。一种更好的方法是,我们可以在深度纹理和法线纹理上进行边缘检测,这些图像不会受...

2019-06-12 22:05:49

【unity shader 入门精要 读书笔记】运动模糊

运动模糊是真实世界中的摄像机的一种效果。如果在摄像机曝光时,拍摄场景发生了变化,就会产生模糊的画面。运动模糊在我们的日常生活中是非常常见的,只要留心观察,就可以法线无论是体育报道还是各个电影里,都有运动模糊的身影。运动模糊效果可以让物体运动看起来更加真实平滑,但在计算机产生图像中,由于不存在曝光这一物理现象,渲染出来的图像往往都棱角分明,缺少运动模糊。在一些诸如赛车类型的游戏中,为画面添加运动模糊...

2019-06-12 22:05:13

【unity shader 入门精要 读书笔记】调整屏幕的亮度、饱和度和对比度

实现一个非常简单的屏幕特效----调整屏幕的亮度、饱和度和对比度。BrightnessSaturationAndContrast.csusingUnityEngine;usingSystem.Collections;publicclassBrightnessSaturationAndContrast:PostEffectsBase{private...

2019-05-30 22:21:40

【unity shader 入门精要 读书笔记】建立一个基本的屏幕后期处理脚本系统

屏幕后处理,通常指的是在渲染完整个场景得到屏幕图像后,再对这个图像进行一系列操作,实现各种屏幕特效,使用这种技术,可以为游戏画面添加更多的艺术效果,例如景深【depthoffield】、运动模糊【motionblur】等。因此,想要实现屏幕后处理的基础在于得到渲染后的屏幕图像,即抓取屏幕,而unity为我们提供了这样一个方便的借口-----OnRenderImage函数:...

2019-05-30 22:16:23

【unity shader 入门精要 读书笔记】折射

当光线从一种介质【例如空气】斜射入另外一种介质【例如玻璃】时,传播方向一般会发生改变。当给定入射角时,可以使用斯涅耳定律【Snell'sLaw】来计算反射角。当光从介质1沿着和表面法线夹角的方向斜射入介质2时,可以使用如下公式计算折射光线和法线的夹角其中n1和n2分别是两个介质的折射率【indexofrefraction】折射率是一项重要的物理...

2019-05-29 21:46:26

【unity shader 入门精要 读书笔记】更复杂的光照

渲染路径【RenderingPath】5.x之前:ForwardRenderingPathDeferredRenderingPathVertexLitRenderingPath5.1之后:主要改变:1、顶点照明渲染路径被抛弃【但目前仍然可以对之前使用了顶点渲染路径的兼容】2、新的延迟渲染路径代替了原来的延迟渲染路径。【同样也兼容旧版本】可以...

2019-05-14 22:17:24

【unity shader 入门精要 读书笔记】透明

一、透明1、透明度测试【AlphaTest】它采用一种“霸道极端”的机制:只要有一个片元的透明度不满足条件【通常是小于某个阈值】,那么它对应的片元就会被舍弃。被舍弃的片元将不会再进行任何处理,也不会对颜色缓冲产生任何影响;否则,就会按照普通的不透明物体的处理方式来处理它,即进行深度测试、深度写入等。也就是说,透明度测试是不需要关闭深度写入的,它和其他不透明物体最大的不同就是它会根据透...

2019-05-06 22:24:34

【unity shader 入门精要 读书笔记】纹理(2)

一、渐变纹理纹理可以用于存储任何表面属性。一种常见的用法就是使用渐变纹理来控制漫反射光照的结果。在之前计算漫反射光照时,是使用表面法线和光照方向的点积结果与材质反射率相乘来得到表面的漫反射光照。但有时,会需要更加灵活地控制光照结果。即使用一张渐变纹理来控制漫反射光照。Shader"UnityShadersBook/Chapter7/RampTextur...

2019-05-04 10:07:23

【unity shader 入门精要 读书笔记】纹理(1)

一、基础纹理1、基础纹理实现:Shader"Custom/TextureSingle"{Properties{_Color("Color",color)=(1,1,1,1)_MainTex("MainTex",2d)=""{}_Specular("Specular",Color)...

2019-04-28 22:06:20

【unity shader 入门精要 读书笔记】高光反射模型

高光公式:1、逐顶点的实现模式:Shader"Custom/SpecularVertex"{Properties{_Diffuse("Diffuse",Color)=(1,1,1,1)_Specular("Specular",Color)=(1,1,1,1)_Gloss("G...

2019-04-25 22:45:29

【unity shader 入门精要 读书笔记】基础光照模型实践

光照模型的公式:Cdiffuse=(Clight*Mdiffuse)max(0,n*I)漫反射=环境光*材质的漫反射系数*表面法线与光源方向的点积。[0,1]1、逐顶点光照模型的实践。Shader"Custom/DiffuseVertex"{Properties{_Diffuse("Di...

2019-04-20 23:57:43

【UnityEditor】制作一个unity ui 脚本自动生成器

制作这个东西最初的想法是因为在之前的公司工作的时候,发现有一个这个蛮方便的,离职后,发现要自己写一些UI的赋值和定义的内容,实在是太麻烦了,然后就想这自己做一个简单版本的UI脚本生成器,优化自己的工作效率,然后结合目前的内容,做一个简单的版本的。只是实现了一些相对来说比较基本的内容。先看一下图吧:点击一下,然后选择制作好的UI预设:这里做了一些判断,只能选...

2019-03-18 09:26:32

【H5戏开发】H5入门

最近因为工作需要,要学习一下H5,所以在这里记录一下找到个相关博客: 入门系列的博客:http://www.cnblogs.com/niklai/tag/TypeScript/官方的:https://www.tslang.cn/docs/home.html  官方的API手册:https://layaair.ldc.layabox.com/api/https...

2018-07-04 20:47:10

在编辑器上使用方向键移动UGUI节点

做项目的时候,想起来了NGUI可以使用方向键来移动UI节点,然后久顺着这个思路,在网上找了一下,然后搞定了。其实是非常简单的。usingUnityEngine;usingUnityEditor;publicclassMoveUINodeByArrow{publicstaticboolisMoveUIByArrow=true;[InitializeOnL...

2018-06-03 20:12:00

UGUI Draw Call 优化

参考的博客http://blog.jobbole.com/84323/http://gad.qq.com/article/detail/13605https://blog.uwa4d.com/archives/QA_UGUI-1.html重要:https://www.jianshu.com/p/8a9ccf34860e3、UGUI会在每帧渲染时,将相邻的,同材质,同贴图的对象进行合并(这里还有其它...

2018-04-15 20:45:42

【unity】使用编辑器代码修改预设

usingUnityEngine;usingUnityEditor;usingSystem.IO;usingSystem.Collections.Generic;usingSystem;usingAssets.Plugins.Scripts.Util;publicclassCListMaskEditor:MonoBehaviour{//[MenuIte...

2018-04-03 21:02:03

Lua元表与元方法详解(转)

原文链接: http://www.jb51.net/article/55812.htmLua中提供的元表是用于帮助Lua数据变量完成某些非预定义功能的个性化行为,如两个table的相加。假设a和b都是table,通过元表可以定义如何计算表达式a+b。当Lua试图将两个table相加时,它会先检查两者之一是否有元表,然后检查该元表中是否存在__add字段,如果有,就调

2017-12-23 18:16:50

unity 读取手机电量

usingUnityEngine;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem;usingUnityEngine.iOS;publicenumNetworkWorkSituation{NotRe

2017-09-08 21:42:53

使用shader实现UI按钮置灰的操作

shader代码Shader"Custom/Gray"{ Properties { [PerRendererData]_MainTex("SpriteTexture",2D)="white"{} _Color("Tint",Color)=(1,1,1,1) _StencilComp("StencilComparison",Float)=8

2017-08-19 10:45:23

unity debug.log()富文本输出

参考的API: https://docs.unity3d.com/Manual/StyledText.html直接上代码:usingUnityEngine;usingSystem.Collections;publicclassColorLog:MonoBehaviour{ //Usethisforinitialization voidSt

2017-08-14 20:39:01
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。