自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Houdini初学遇到的一些操作易忘记录

Houdini初学者一些比较容易忘记的操作记录。1.布局符合自己操作习惯的Houdini界面将布局页面左右分或者上下分,每个窗口的小三角形按钮都可以进行该操作。将窗口保存成自定义名称的布局,下次可以直接切换。2.拿到一个hip文件,里面的节点已经保存成hda了,该如何重新保存成hda(不需要复制节点里面的内容)进入Asset Manager对该hda节点进行Duplicate的操作,会弹出以下界面,重新选择Library的路径,就可以将hda重新复制一份保存到该路径了。对比该Ass

2021-10-11 11:30:33 458

原创 图形学基础知识点易混淆

渲染管线:应用阶段 —— 几何阶段 —— 光栅化阶段应用阶段,主要就是加载显存,设置渲染状态(场景,相机,模型,灯光,材质,纹理),调用Draw Call,也就是CPU向GPU发送渲染命令,来渲染指定图元。几何阶段,拿到图元/三角网格顶点所包含的一系列信息(顶点位置,法线,切线,颜色等),在vertex shader中进行处理。主要是两个处理,顶点变换和逐顶点光照计算。然后GPU会帮我们进行裁剪和屏幕映射的操作,裁剪是在裁剪空间做的,用w分量去比较。屏幕映射之前要先进行齐次除法得到NDC空间下的坐标

2021-08-22 17:53:59 254

原创 屏幕后处理故障艺术/图块错位+扫描线

RGB分离效果和可分离的RGB分离效果在上文提过了。这篇文章会总结一下几个效果的实现方式。Image Block 图块错位Scan Line 扫描线Wave Effect 波浪线这三种效果实现的思考过程以及实现方式。一样是参考了毛前辈的文章,然后做了点自己的理解。1.Image Block 图块错位首先我能想到的生成一下均匀图块的方式是,将UV坐标分别乘以相同系数然后用floor函数,向下取整,然后以此作为 “Seed”传入RandomNoise函数,来产生不断扰动的UV图块。但是这样产

2021-04-08 14:37:58 510

原创 屏幕后处理故障艺术效果

最近在做故障艺术中的RGB Split效果。RGB分离的效果可以做很多变化,本篇文章的重点部分是在SelectiveRGB效果上,也就是单独的对屏幕中的某个东西做RGB效果。因为之前也没写过屏幕后处理的东西,想记录这次过程中遇到的一些问题。本次的屏幕后处理效果有参考毛前辈的效果,然后加上自己思考做了很多改动变化等。首先,做屏幕后处理我们需要建立一个基本的屏幕后处理脚本系统。这个基类脚本用来检查一系列条件是否满足,比如是否支持渲染纹理和屏幕特效,是否支持当前的Unity Shader等等,并且在这个脚本

2021-04-08 14:37:15 339

原创 ComputeScreenPos和ComputeGrabScreenPos/折射和反射/使用切线空间中法线对屏幕纹理坐标进行偏移

读本书第一遍的时候,好多知识点一知半解就过去了,没有仔细思考。读本书第二遍的时候发现很多知识点都能够串联起来了,也因此解决了很多之前对本书困惑的地方。1.reflect(i,n)函数在高光反射模型和在计算反射的时候的应用2.UnityShader中的玻璃效果本书中,使用GrabPass来实现玻璃等透明材质的模拟。首先,书里实现了玻璃的反射+折射两个效果。并且使用GrabPass来对物体后面的图像进行复杂的处理,比如法线的模拟折射效果,不再是简单的与屏幕颜色进行混合。(之前是使用lerp函数进行混合,l

2021-01-04 16:26:51 2045 4

原创 关于Unity中的渲染路径/前向渲染/延迟渲染/TBDR

长期以来被渲染路径搞得晕头转向,尤其是前向渲染和延迟渲染。重读第二遍入门精要感觉有必要把这些模糊的知识点串联记录起来。1.什么是渲染路径?渲染路径指的是场景中光照的渲染方式。到底是用前向渲染的方式,还是用延迟渲染的方式。使用不同的方式决定了不同的光照计算结果。只有为shader正确的选择和设置需要的渲染路径,该shader的渲染路径才能正确被执行。2.不同的摄像机可以使用不同的渲染路径。通过Camera组件中的Rendering Path来指定。3.什么是前向渲染路径?完成一次完整的前向渲染,需要

2021-01-04 11:36:02 876

原创 关于三角形重心坐标插值/锯齿/抗锯齿/延迟渲染中的抗锯齿问题

我们都知道,在渲染流水线中,顶点着色器对输入的顶点数据进行处理(如顶点的坐标变换和光照计算)以后,GPU会进行进行齐次除法并将顶点从三维空间转换到二维的屏幕坐标,接着将这些所需要的着色数据发送到光栅化阶段。在光栅化的三角形遍历,我们知道,需要检查所有像素是否被一个三角形网格所覆盖,如果被覆盖,就会生成一个片元。首先,这一步具体是什么意思呢?图中每一个小矩形就是一个像素pixel,而每个小矩形中心的点就是“采样点”。整个大三角形就是“三角形网格”。检查每个像素是否被三角形网格覆盖的意思即为,每个像素的

2021-01-02 23:16:42 1832

原创 Amplify shader editor_案例分析4_Burn

案例中的几个要点。1.手动设置Normal map。一般我们需要在Inspector中将法线纹理的类型选择为Normal map 如下图。如果我们没有设置Normal map,我们需要将法线纹理的颜色值重新映射回法线方向,如下。这样也是可以得到正确的法线方向。fixed4 normal = tex2D(_Bump, i.uv); norm.xyz = norm.xyz * 2 - 1一般来说我们将纹理设置为Normal map,再调用UnpackNormal函数就可以得到正确的法线方向的值。

2020-07-27 15:41:32 569

原创 Amplify shader editor_案例分析3_UV Distortion

如何做一个UV Distortion?我自己尝试做了一下,思路就是两张向不同方向运动的纹理叠加在一起就可以了。UV运动的方向由Panner上的Speed决定这样做确实可以。只不过没有调节速度的选项,也没有加入调节Distortion强度的选项。如果要加入调节speed选项,我们可以通过speed*time再赋值给time,这样就可以通过speed来调节速率了。虽然跟案例有点不太一样,但最终效果是一样的。...

2020-07-24 19:09:26 665

原创 Amplify shader editor_案例分析2_Animated Fire

如何做一个Animated Fire主要是让UV坐标移动按我们给定的速度和时间移动起来。如果要做丰富一点的变化,还可以加入强度,让强度滑块在时间内做正弦变化。需要使用到的节点是Panner。Panner节点根据时间值将UV坐标或其他Vector 2位置移动指定的Speed。如果在“ 时间”输入端口上未设置任何输入,则使用Unity计时器提供连续的平移动画。在这种情况下,“时间”属性充当Unity计时器值的乘数。 另一方面,如果在“时间”输入端口上建立了连接,则它将假定该值为最终值,并且在内部不使用

2020-07-24 15:24:38 351

原创 Amplify shader editor_案例分析1_Community Dissolve Burn

刚开始学习Amplify shader editor,很多节点只知道单独用法,但是不清楚连接节点以后是什么作用。开始学习,希望能坚持。BTW,很感谢学习过程中的朋友,老师的帮助,帮我解决了很多很多问题!!这个是Example里面的节点图。说一下我自己的理解。最开始我非常不能理解为什么需要用两个remap,和两次oneminus。各有各自的作用。先分析一下如何做这个Dissolve Burn效果。首先我们需要一张类似噪声图,作为遮罩,这样低于clip的部分将会被切掉。其次我们需要一张有颜色的burn

2020-07-23 21:36:50 510

原创 ShaderGraph学习_消融效果学习理解

消融效果的shader(上下/左右/)学习理解想要实现自上而下/自左到右消融效果,需要达到:1.模型自上而下消失 2.模型边缘发光先讲消失。如何让模型消失?用一张不规则的noise图,Alpha中,让模型沿着Alpha切割,...

2020-07-22 11:31:43 472

原创 《Shader 入门到精要》 Reading Note - Chapter 4

三维坐标轴的三个坐标轴被称为该坐标系的基矢量(basis vector)三个坐标轴相互垂直,长度为1,这样的基矢量被称为标准正交基(orthogonal basis)旋向性(handedness)在模型空间和世界空间中 Unity使用的是左手坐标系/在观察空间中,Unity使用的是右手坐标系矢量的存在意义是为了和标量区分开来矢量是指n维空间中一种包含了膜和方向的有向线段 (矢量的膜表示的...

2020-03-02 07:15:40 84

原创 《Shader 入门到精要》Reading Note - Chapter 3

Unity中的四种Unity Shader模版1. Standard Surface Shader产生一个包含标准光照模型的表面着色器模版2. Unlit Shader不包含光照(但有雾的效果的基本的顶点/片元着色器)3. Image Effect Shader为实现各种屏幕后处理效果提供一个基本模版4. Compute ShaderUnity Shader 最重要的任务还是指定...

2020-03-02 07:14:55 69

原创 Unity Shaders and Effects CookBook - ReadingNote- Chapter1

Post-Processing1.anti-aliasing 抗锯齿消除显示器输出的画面中图物边缘出现凹凸锯齿的技术抗锯齿通常是因为高清晰度的信号以低分辨率表示或无法准确运算出3D图形坐标定位所导致的图形混叠2.Grain 颗粒效果3.Vignette 渐晕效果 https://github.com/Unity-Technologies/postProcessing/wiki/Vign...

2020-02-29 18:51:58 126

原创 《Shader 入门到精要》 Reading Note - Chapter 2

1.Shader 就是着色器2.渲染流程三个阶段: 应用阶段(Apppplication Stage), 几何阶段(Geometry Stage),光栅化阶段(Rasterizer Stage)应用化阶段 CPU负责——最重要的是输出渲染所需要的几何信息(渲染图元 rendering primitives)几何化阶段 GPU负责——把顶点坐标变化到屏幕空间再交给光栅器处理——对渲染图元进行...

2020-02-29 18:48:18 100

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除