随笔分类 - Unity3D
本专栏收录了Unity3D相关技术栈
摘要:
### 1 非真实渲染 [法线贴图和凹凸映射](https://zhyan8.blog.csdn.net/article/details/129510719)中讲述了普通光照的渲染原理,实现的效果比较贴近真实世界(照相写实主义,Photorealism),非真实渲染(Non-Photoreali
阅读全文
![【Unity3D】素描特效](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230813101411090-1626208578.png)
摘要:
1 前言 边缘检测特效中使用屏后处理技术,通过卷积运算计算梯度,检测每个像素周围像素的亮度差异,以识别是否是边缘像素;选中物体描边特效中也使用了屏后处理技术,通过 CommandBuffer 获取目标物体渲染后的模板纹理,并将模板纹理模糊化,使得模板纹理的边缘向外扩张,再将模糊化后的模板纹理与原
阅读全文
![【Unity3D】基于深度和法线纹理的边缘检测方法](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230812103323995-1673463261.png)
摘要:
1 前言 屏幕深度和法线纹理简介中对深度和法线纹理的来源、使用及推导过程进行了讲解,激光雷达特效中讲述了一种重构屏幕像素点世界坐标的方法,本文将沿用激光雷达特效中重构像素点世界坐标的方法,实现平面光罩特效。 假设平面光罩的高度为 shieldHeight,高亮线的宽度为 lineWidth,
阅读全文
![【Unity3D】平面光罩特效](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230812103430386-490313908.png)
摘要:
### 1 前言 [屏幕深度和法线纹理简介](https://zhyan8.blog.csdn.net/article/details/131056029)中对深度和法线纹理的来源、使用及推导过程进行了讲解,[激光雷达特效](https://zhyan8.blog.csdn.net/articl
阅读全文
![【Unity3D】流动雾效](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230812103124132-305504799.png)
摘要:
## 1 由深度纹理重构世界坐标 [屏幕深度和法线纹理简介](https://zhyan8.blog.csdn.net/article/details/131056029)中对深度和法线纹理的来源、使用及推导过程进行了讲解,本文将介绍使用深度纹理重构世界坐标的方法,并使用重构后的世界坐标模拟激光
阅读全文
![【Unity3D】激光雷达特效](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230812091243262-846707606.png)
摘要:
## 1 前言 **1)深度纹理和法线纹理的含义** 深度纹理本质是一张图片,图片中每个像素反应了屏幕中该像素位置对应的顶点 z 值相反数(观察坐标系),之所以用 “反应了” 而不是 “等于”(或 “对应” ),因为深度纹理中颜色的值域是 [0, 1],而顶点 z 值相反数不一定在该区间,另
阅读全文
![【Unity3D】屏幕深度和法线纹理简介](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230812091042819-1430090344.png)
摘要:
### 1 运动模糊原理 开启混合(Blend)后,通过 Alpha 通道控制当前屏幕纹理与历史屏幕纹理进行混合,当有物体运动时,就会将当前位置的物体影像与历史位置的物体影像进行混合,从而实现运动模糊效果,即模糊拖尾效果。主要代码如下: ```cpp Pass { Blend SrcAlpha
阅读全文
![【Unity3D】运动模糊特效](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230811210243981-781619868.png)
摘要:
1 Bloom 特效原理 Bloom 特效是指:将画面中较亮的区域向外扩散,造成一种朦脓的效果。实现 Bloom 特效,一般要经过 3 个阶段处理:亮区域检测、高斯模糊、Bloom 合成。 本文完整资源见→Unity3D Bloom 特效。 1)亮区域检测 根据亮度阈值检测亮区,如下
阅读全文
![【Unity3D】Bloom特效](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230811210111783-192908136.png)
摘要:
### 1 高斯模糊原理 [边缘检测特效](https://zhyan8.blog.csdn.net/article/details/130997882)中使用了卷积运算进行了边缘检测,本文实现的高斯模糊特效同样使用了卷积运算,关于卷积核和卷积运算的概念,读者可以参考[边缘检测特效](https
阅读全文
![【Unity3D】高斯模糊特效](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230810210838258-1464403962.png)
摘要:
### 1 边缘检测原理 边缘检测的原理是:检测每个像素周围的像素亮度差,如果亮度差异较大,就将该像素识别为边缘,并进行边缘着色。 本文完整资源见→[Unity3D边缘检测特效](https://download.csdn.net/download/m0_37602827/87858084)
阅读全文
![【Unity3D】边缘检测特效](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230810210014843-1462028303.png)
摘要:
### 1 屏幕后处理流程 调整屏幕亮度、饱和度、对比度,需要使用到屏幕后处理技术。因此,本文将先介绍屏幕后处理流程,再介绍调整屏幕亮度、饱和度、对比度的实现。 本文完整资源见→[Unity3D调整屏幕亮度、饱和度、对比度](https://download.csdn.net/downloa
阅读全文
![【Unity3D】调整屏幕亮度、饱和度、对比度](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230809211215503-942232054.png)
摘要:
### 1 前言 广告牌特效是指:空间中的一个 2D 对象始终(或尽可能)面向相机,使得用户能够尽可能看清楚该 2D 物体。广告牌特效一共有以下 3 种: - 正视广告牌:广告牌始终以正视图姿态面向相机,即广告牌的 x、y、z 轴正方向始终指向相机的 x、y、z 轴正方向; - 血条广告牌:游戏
阅读全文
![【Unity3D】广告牌特效](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230809210957449-557788745.png)
摘要:
### 1 前言 [立方体纹理(Cubemap)和天空盒子(Skybox)](https://zhyan8.blog.csdn.net/article/details/130791333)中介绍了生成立方体纹理和制作天空盒子的方法,本文将使用立方体纹理进行采样,实现反射、菲涅耳反射和折射效果。另
阅读全文
![【Unity3D】反射和折射](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230808225044576-83225248.png)
摘要:
### 1 立方体纹理(Cubemap) 本文完整资源见 → [立方体纹理(Cubemap)和天空盒子(Skybox)](https://download.csdn.net/download/m0_37602827/87805725) 。 **1)立方体纹理简介** 立方体纹理是指由上、
阅读全文
![【Unity3D】立方体纹理(Cubemap)和天空盒子(Skybox)](https://img2023.cnblogs.com/blog/3135663/202308/3135663-20230808224744941-876413489.png)
摘要:
1 需求实现 绘制魔方 中基于OpenGL ES 实现了魔方的绘制,实现较复杂,本文基于 Unity3D 实现了 2 ~ 10 阶魔方的整体旋转和局部旋转。 本文完整代码资源见→基于 Unity3D 的 2 ~ 10 阶魔方实现(Windows+Android)。下载资源后,对于 Windo
阅读全文
![【Unity3D】魔方](https://img2023.cnblogs.com/blog/3135663/202306/3135663-20230618202514806-1979511479.png)
摘要:
## 1 阴影原理 光源照射到不透明物体上,会向该物体的后面投射阴影,如果阴影区域存在其他物体,这些物体不被光源照射的部分就需要渲染阴影。因此,我们可以将阴影的生成抽象出 2 个流程:物体投射阴影、物体接收阴影。 ![img](https://img-blog.csdnimg.cn/ebc92b
阅读全文
![【Unity3D】阴影原理及应用](https://img2023.cnblogs.com/blog/3135663/202306/3135663-20230618202056868-693092381.png)
摘要:
### 1 法线贴图原理 [表面着色器](https://zhyan8.blog.csdn.net/article/details/126882367)中介绍了使用表面着色器进行法线贴图,实现简单快捷。本文将介绍使用顶点和片元着色器实现法线贴图和凹凸映射,实现更灵活。 本文完整代码资源见→[
阅读全文
![【Unity3D】法线贴图和凹凸映射](https://img2023.cnblogs.com/blog/3135663/202306/3135663-20230618201913110-1592498026.png)
摘要:1 前言 本文梳理了笔者在学习 Unity3D 的过程中,对 Unity3D 的理解和学习路线,以帮助读者循序渐进地学习 Unity3D,后续笔者仍会持续更新 Unity3D 相关技术栈,并同步到本文中。 1.1 专栏文章特点 知识系统:专栏从资源管理、物理引擎、音视频、UGUI、UI Tool
阅读全文
摘要:
# 1 空间 ## 1.1 左右手坐标系及其法则 ### 1.1.1 左右手坐标系 ![img](https://img-blog.csdnimg.cn/cf64950ca3e2419391edc866be4cb3be.jpeg) 左手坐标系与右手坐标系 Unity 局部空间、世界空间、裁剪空间
阅读全文
![【Unity3D】空间和变换](https://img2023.cnblogs.com/blog/3135663/202303/3135663-20230320222832053-1030258069.png)
摘要:
1 源码路径 Unity Shader 常量、变量、结构体、函数一般可以在 Unity Editor 安装目录下面的【Editor\Data\CGIncludes\UnityShader】目录下查看源码,主要源码文件如下: UnityCG.cginc UnityShaderUtilities.c
阅读全文
![【Unity3D】Shader常量、变量、结构体、函数](https://img2023.cnblogs.com/blog/3135663/202303/3135663-20230320222510675-1451091553.png)