![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity
文章平均质量分 69
ChiLi_Lin
卧槽!卧槽!!卧槽!!!!!
展开
-
Untiy DLL断点无法命中问题, 手动转.pdb 为 .mdb 批处理
遍历当前目录索引DLL,执行Unity的pdb2mdb.exe工具for %%i in (*.dll) do ( F:/UnityHub/2019.3.2f1/Editor/Data/MonoBleedingEdge/bin/mono F:/UnityHub/2019.3.2f1/Editor/Data/MonoBleedingEdge/lib/mono/4.5/pdb2mdb.exe ...原创 2020-04-09 23:26:58 · 1170 阅读 · 2 评论 -
Unity Shader 学习笔记(21) 模糊、高斯模糊
Unity Shader 学习笔记(21) 模糊、高斯模糊 参考书籍:《Unity Shader 入门精要》 GaussianBlur类源码:模糊均值模糊:卷积核各个元素都相等,且相加为1。即卷积后得到像素值是邻域内各像素平均值。中值模糊:即邻域内所有像素排序后中间那个,替换掉原颜色。高斯模糊:使用卷积核称作高斯核,高斯核是正方形的滤波核。高斯模糊高斯方程如下。σ为标准方差(一般原创 2017-11-23 10:47:23 · 1465 阅读 · 0 评论 -
Unity Shader 学习笔记(23) 运动模糊
Unity Shader 学习笔记(23) 运动模糊 参考书籍:《Unity Shader 入门精要》运动模糊两种常见方法: - 积累缓存(accumulation buffer),混合连续多张图像。即需要同一帧里渲染多次场景,性能消耗较大。 - 速度缓存(velocity buffer),存储各个像素当前移动速度,利用该值判断模糊方向和大小,但曲线运动较大时会出现错误。积累缓存保持之前渲原创 2017-11-23 22:49:14 · 2647 阅读 · 0 评论 -
Unity Shader 学习笔记(19) 屏幕后处理效果、调整亮度、饱和度、对比度
Unity Shader 学习笔记(19) 屏幕后处理效果、调整亮度、饱和度、对比度 参考书籍:《Unity Shader 入门精要》屏幕后处理效果(screen post-processing effects)即在渲染完场景得到屏幕图像后在进行处理的效果,如景深、运动模糊等。Unity提供接口方便处理渲染后的图像:OnRenderImage。第一个参数渲染得到纹理,第二个参数是输出到屏幕的纹原创 2017-11-22 16:11:41 · 4116 阅读 · 0 评论 -
Unity Shader 学习笔记(22) Bloom效果
Unity Shader 学习笔记(22) Bloom效果 参考书籍:《Unity Shader 入门精要》Bloom效果即较亮区域“扩散”到周围区域,形成一种朦胧效果。 实现原理:先根据一个阈值获取图像中较亮的区域,存到一张纹理,再用高斯模糊渲染这个纹理,最后混合原图即可。Bloom类:和高斯模糊类似,只是处理的不是整个屏幕,而是较亮区域。using UnityEngine;public原创 2017-11-23 15:33:44 · 1017 阅读 · 0 评论 -
3D数学 学习笔记(7) 视图、视锥、视场(Field of View)、裁切空间、屏幕空间
3D数学 学习笔记(7) 视图、视锥、视场(Field of View) 参考书籍: 《3D数学基础:图形与游戏开发》视图即摄像机的画面。可对应Unity的Canvas。指定输出窗口窗口位置在左上像素(winPosx, winPosy),整数winResx, winResy 是以像素为单位的窗口大小。 像素纵横比像素高对宽的比值,通常为1。pixPhys 指像素物理尺寸。devPhys原创 2017-10-31 11:56:13 · 5615 阅读 · 0 评论 -
3D数学 学习笔记(6) 图形管道(渲染流水线)
3D数学 学习笔记(6) 图形管道(渲染流水线) 参考书籍: 《3D数学基础:图形与游戏开发》 《Unity Shader 入门精要》 浅墨_毛星云:【《Real-Time Rendering 3rd》 提炼总结】(二) 第二章 · 图形渲染管线 The Graphics Rendering Pipeline概念性三个阶段概念性是指按照渲染流程进行的功能划分提出的。GPU流水原创 2017-10-30 17:16:13 · 1389 阅读 · 0 评论 -
Unity Shader 学习笔记(12) 渲染路径(Rendering Path)
Unity Shader 学习笔记(12) 渲染路径(Rendering Path) 参考书籍:《Unity Shader 入门精要》 官网API:ShaderLab: Pass Tags 官网API:Rendering Paths渲染路径决定了光照如何应用到Unity Shader中。Pass块内可选择的渲染路径: 前向渲染路径(Forward) 是传统的渲染方式。 原理:原创 2017-11-18 16:31:39 · 1587 阅读 · 0 评论 -
Unity Shader 学习笔记(2)Shader、ShaderLab、Cg/HLSL/GLSL
Unity Shader 学习笔记(2)Shader、ShaderLab、Cg/HLSL/GLSL 参考书籍:《Unity Shader 入门精要》 图形管道: 3D数学 学习笔记(6) 图形管道(渲染流水线) 【浅墨Unity3D Shader编程】之一 夏威夷篇:游戏场景的创建 & 第一个Shader的书写Shader是什么GPU流水线上一些可高度编程的阶段。有特定类型的原创 2017-11-09 17:39:08 · 2057 阅读 · 0 评论 -
Unity Shader 学习笔记(1) DrawCall
Unity Shader 学习笔记(1) DrawCall 参考书籍:《Unity Shader 入门精要》 图形管道: 3D数学 学习笔记(6) 图形管道(渲染流水线)DrawCall DrawCall就是一个命令,从CPU发起,GPU接收。这个命令指向一个需要被渲染的图元(primitives)列表,告诉GPU开始进行一个渲染过程。相当与OpenGL中的glDrawElements原创 2017-11-09 16:06:40 · 1167 阅读 · 0 评论 -
Unity Shader 学习笔记(10) 纹理(Texture)的属性
Unity Shader 学习笔记(10) 纹理(Texture)的属性 参考书籍:《Unity Shader 入门精要》 官网API:Textures 详解Unity3d游戏开发中Texture贴图纹理及相关属性*版本:2017.1.1f1Texture Type选择适合的类型,Unity会为Unity Shader传递正确的纹理,并对一些纹理进行优化。Defualt(默认纹理)原创 2017-11-16 11:29:04 · 2952 阅读 · 0 评论 -
Unity Shader 学习笔记(17) 程序纹理(Procedural Texture)、程序材质(Procedural Materials)
Unity Shader 学习笔记(17) 程序纹理(Procedural Texture)、程序材质(Procedural Materials) 参考书籍:《Unity Shader 入门精要》 官网API:Texture2D 程序纹理:ProceduralTextureGeneration.cs程序纹理即由计算机生成的图像。通过脚本创建一个程序纹理,再赋给材质。样例代码见上面链原创 2017-11-21 11:15:46 · 2499 阅读 · 0 评论 -
Unity Shader 学习笔记(16) 渲染纹理(Render Texture)
Unity Shader 学习笔记(16) 渲染纹理(Render Texture) 参考书籍:《Unity Shader 入门精要》 Unity 制作小地图(Minimap)系统 两种方法 官网文档:Graphics Command Buffers渲染纹理(Render Texture) GPU允许把三维场景渲染到一个中间缓冲中,即渲染目标纹理(Render Target Te原创 2017-11-21 11:12:57 · 6659 阅读 · 0 评论 -
Unity Shader 学习笔记(9) 渐变纹理、遮罩纹理
Unity Shader 学习笔记(9) 渐变纹理、遮罩纹理 参考书籍:《Unity Shader 入门精要》渐变纹理没有使用纹理,和使用两种不同渐变纹理对比: 就是通过一张梯度变换的纹理,取样赋值。可实现一些卡通风格。 使用半兰伯特模型:v2f vert(a2v v) { ... o.uv = TRANSFORM_TEX(v.texcoord,_RampTex);原创 2017-11-15 16:28:40 · 1776 阅读 · 0 评论 -
Unity Cinemachine插件学习笔记,结合Timeline实现简单场景动画
Unity Cinemachine插件学习笔记,结合Timeline实现简单场景动画*版本要求Unity2017.1及以上。 参考资料: [官方] Unity 2017.1正式版发布 【Unity】TimeLine&Cinemachine系列教程——动作特写! 如果有CSDN会员可以参考:Unity 2017.1 Timeline & Cinemachine功能解析 Ci原创 2017-09-23 14:49:37 · 11660 阅读 · 2 评论 -
Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换
Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换*版本要求Unity2017.1及以上。 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插件:Cinemachine。 Cinemachine在2017版中正式加入,结合Timeline可以轻松的制作出一下相机动画。相比Unity自带的标准相机,这个新相机插件原创 2017-09-23 00:19:52 · 12367 阅读 · 1 评论 -
Unity 将导入到Sprites文件夹内的图片自动设置类型为Sprite
Unity 将导入到Sprites文件夹内的图片自动设置类型为Sprite 官网教程:Creating Basic Editor Tools API:AssetPostprocesspor Texture的Mip Maps知识:unity之mipmap 为了省去每次导入图片修改sprite类型的步骤,就可以自定义编辑器修改之。同理查看其他相关API,也可以修改其他导入的资源初始化原创 2017-11-06 16:26:09 · 3430 阅读 · 0 评论 -
Unity Shader 学习笔记(25) 全局雾效
Unity Shader 学习笔记(25) 全局雾效 参考书籍:《Unity Shader 入门精要》 3D数学 学习笔记(7) 视图、视锥、视场(Field of View)、裁切空间、屏幕空间雾效(Fog)实现方法: - Unity内置雾效可以产生基于距离的线性或指数雾效。 - 自行编写雾效需要添加#pragma multi_compile_fog指令,并使用相关宏。缺点是需要原创 2017-11-25 13:56:18 · 11512 阅读 · 1 评论 -
Unity Shader 学习笔记(24) 深度纹理、法线纹理
Unity Shader 学习笔记(24) 深度纹理、法线纹理 参考书籍:《Unity Shader 入门精要》 3D数学 学习笔记(2) 矩阵 3D数学 学习笔记(9) 凹凸映射(bump mapping)和切线空间(tangent space)深度纹理即存深度值的纹理。深度值范围[0, 1]。深度值计算来源于顶点变换后得到的归一化设备坐标(Normalized Device原创 2017-11-24 16:49:57 · 1761 阅读 · 0 评论 -
Unity Shader 学习笔记(26) 边缘检测(深度和法线纹理)
Unity Shader 学习笔记(26) 使用深度和法线进行边缘检测 参考书籍:《Unity Shader 入门精要》 Unity Shader 学习笔记(20) 卷积、卷积核、边缘检测算子、边缘检测边缘检测使用深度和法线纹理实现,是不受图像纹理和光照影响的,仅保存了当前渲染物体的模型信息。这里使用Roberts算子实现,采样的像素法线变化大的(差值大于0.1)或深度变化大的作为边。原创 2017-11-25 16:24:01 · 3944 阅读 · 1 评论 -
Unity 内置GUIStyle 样例预览
Unity 内置GUIStyle 样例预览参考至:https://pastebin.com/index/JZKDTwnV效果如下:using UnityEditor;using UnityEngine;public sealed class GUIStyleExampleWindow : EditorWindow{ private static readonly s...原创 2019-05-09 14:28:52 · 6768 阅读 · 2 评论 -
Unity Shader 学习笔记(27)渲染轮廓线(描边)方法、卡通风格渲染、素描风格渲染
Unity Shader 学习笔记(27)渲染轮廓线(描边)方法、卡通风格渲染、素描风格渲染 参考书籍:《Unity Shader 入门精要》渲染轮廓线(描边)五种方法: - 基于观察角度和表面法线。即视角方向和表面法线点乘结果判断(接近0,表示面接近垂直与视角)。 - 过程式几何。两个Pass:第一个Pass渲染背面并且让轮廓可见(顶点外扩);第二个Pass正常渲染正面。适应于大多数表面原创 2017-11-26 00:31:21 · 9549 阅读 · 1 评论 -
Unity Shader 学习笔记(33) 全局光照(GI)、反射探针、线性空间和伽马空间、高动态范围(HDR)
Unity Shader 学习笔记(33) 全局光照(GI)、反射探针、线性空间和伽马空间、高动态范围(HDR) 参考书籍:《Unity Shader 入门精要》 【《Real-Time Rendering 3rd》 提炼总结】(八) 第九章 · 全局光照:光线追踪、路径追踪与GI技术进化编年史 官方:ReflectionProbes 官方:Global Illuminati原创 2017-12-18 10:53:30 · 1946 阅读 · 0 评论 -
Unity Shader 学习笔记(20) 卷积、卷积核、边缘检测算子、边缘检测
Unity Shader 学习笔记(20) 卷积、卷积核、边缘检测算子、边缘检测 参考书籍:《Unity Shader 入门精要》卷积(convolution)、卷积核(kernel)卷积:使用卷积核对图像每一个像素进行操作。卷积核: 四方形网格结构,每个方格都有一个权重值。也称边缘检测算子。对图像某个像素卷积时,把卷积核中心放置在像素上,依次计算每个元素和重合像素的乘积并求和,得到新的原创 2017-11-22 21:34:32 · 7690 阅读 · 0 评论 -
Unity Shader 学习笔记(32) Unity中的Standard Shader
Unity Shader 学习笔记(32) Unity中的Standard Shader 参考书籍:《Unity Shader 入门精要》 AssetStore : Shader Calibration SceneUnity中的Standard Shader这个Standard Shader是基于物理渲染的。 Unity支持两种流行基于物理的工作流程: - 金属工作流(Metall原创 2017-12-17 00:35:31 · 1213 阅读 · 0 评论 -
Unity Shader 学习笔记(31) 基于物理的渲染技术(PBS)、BRDF
Unity Shader 学习笔记(31) 基于物理的渲染技术(PBS)、BRDF 参考书籍:《Unity Shader 入门精要》 【《Real-Time Rendering 3rd》 提炼总结】(六) 第七章 · 高级着色:BRDF及相关技术基于物理的渲染技术(Physically Based Shading, PBS)是为了对光和材质之间的行为进行更加真实的建模。光在物理学上,光原创 2017-12-16 21:53:26 · 2072 阅读 · 0 评论 -
Unity Shader 学习笔记(29) 表面着色器(Surface Shader)
Unity Shader 学习笔记(29) 表面着色器(Surface Shader)基本结构 参考书籍:《Unity Shader 入门精要》 官网API:Writing Surface Shaders Unity Shader 学习笔记(3)Unity Shader模板、结构、形式 【浅墨Unity3D Shader编程】之六 暗黑城堡篇: 表面着色器(Surface S原创 2017-11-27 22:12:19 · 1868 阅读 · 0 评论 -
Unity 对选中物体实现描边效果(方法3:结合方法1的外轮廓渲染、方法2的选择网格)
Unity 对选中物体实现描边效果(方法3:结合方法1的外轮廓渲染、方法2的选择网格) Unity 对选中物体实现描边效果(方法1:指定layer的外轮廓渲染) Unity 对选中物体实现描边效果(方法2:对物体网格顶点的外扩) 完整源码:https://github.com/ZeroChiLi/ShaderTest原理 结合方法1和方法2,使用额外相机,将选中物体网格调用Gra原创 2017-12-06 13:49:42 · 11155 阅读 · 1 评论 -
Unity Shader 学习笔记(13) 混合光源、光的衰减
Unity Shader 学习笔记(13) 混合光源、光的衰减 参考书籍:《Unity Shader 入门精要》 3D数学 学习笔记(8) 光照混合光源的前向渲染一个BasePass处理平行光、四个点光源调用四次Additional Pass,四个点光源的顺序是依靠重要度排序的(光源强度、颜色、距离远近)。注意:只处理了逐像素光照,即光源渲染模式如果为Not Imoportant,则不会原创 2017-11-18 23:15:27 · 3140 阅读 · 2 评论 -
Unity 对选中物体实现描边效果(方法2:对物体网格顶点的外扩)
Unity 实现选中物体的简单描边效果 WIKI : Silhouette-Outlined Diffuse 完整源码:https://github.com/ZeroChiLi/ShaderTest原理 在完场景渲染后,再对需要描边效果的物体进行渲染,实质上就是就是在原来mesh基础上把顶点延法线方向外扩一点,再上色即可。实现简单,效果也比较劣质。 对物体再渲染一层(背面),顶点外扩原创 2017-12-04 21:59:05 · 4834 阅读 · 0 评论 -
Unity 对选中物体实现描边效果(方法1:指定layer的外轮廓渲染)
Unity 基于屏幕后处理的描边效果(指定Layer的物体) Unity Shader 学习笔记(19) 屏幕后处理效果、调整亮度、饱和度、对比度 Unity Shaderlab: Object Outlines Unity Shader-描边效果 完整源码:https://github.com/ZeroChiLi/ShaderTest原理 添加额外相机(位置等信息等同原相原创 2017-12-03 15:13:18 · 18540 阅读 · 0 评论 -
Unity Shader 学习笔记(8) 纹理映射、凹凸映射
Unity Shader 学习笔记(8) 纹理映射、凹凸映射 参考书籍:《Unity Shader 入门精要》 3D数学 学习笔记(9) 凹凸映射(bump mapping)和切线空间(tangent space)逐纹素(texel,区别与像素)控制模型的颜色。单张纹理,凹凸映射的逐顶点和逐像素对比: 纹理映射坐标(UV坐标) 定义了该定点在纹理中对应的2D坐标。通常用一个二维变量原创 2017-11-15 10:32:24 · 3532 阅读 · 0 评论 -
Unity Shader 学习笔记(14) 阴影
Unity Shader 学习笔记(14) 阴影 参考书籍:《Unity Shader 入门精要》*版本:2017.1.1f1阴影实现原理 使用Shadow Map技术。把摄像机与光源位置重合,光源的阴影部分就是摄像机看不到的地方。 前向渲染路径中,最重要的平行光如果开启了阴影,Unity就会为光源计算阴影映射纹理(shadowmap),本质就是深度图,记录光源出发到最近表面位置。两种方法原创 2017-11-19 21:13:01 · 5316 阅读 · 1 评论 -
Unity Shader 学习笔记(28) 噪声纹理、消融效果、水波效果、噪声雾效
Unity Shader 学习笔记(28) 噪声纹理、消融效果、水波效果、噪声雾效 参考书籍:《Unity Shader 入门精要》噪声纹理通过纹理深浅可以作为一些变换的阈值,或者透明度等。= 消融效果(Dissolve)常用与角色死亡、地图烧毁时效果。Burn Amount从0变化到1。 Properties { _BurnAmount ("Burn Amount", Range原创 2017-11-26 16:30:44 · 9569 阅读 · 0 评论 -
Unity Shader 学习笔记(15) 立方体纹理、反射、折射、菲涅尔反射
Unity Shader 学习笔记(15) 立方体纹理、反射、折射 参考书籍:《Unity Shader 入门精要》立方体纹理(Cubemap)是环境映射(Environment Mapping)的一种实现方法。用于模拟物体周围的环境,使用了环境映射的物体可以让物体像镜子一样反射周围环境。天空盒子(Skybox)用于模拟室内背景。创建环境映射的立方体纹理方法有三种: - 由特殊布局的纹理创建原创 2017-11-20 16:11:26 · 4218 阅读 · 0 评论 -
Unity Shader 学习笔记(18)纹理动画、顶点动画、广告牌技术
Unity Shader 学习笔记(18)纹理动画、顶点动画、广告牌技术 参考书籍:《Unity Shader 入门精要》Unity Shader的内置变量纹理动画可用于代替粒子系统模拟动画效果。帧序列动画8x8帧序列纹理动画 Properties { _Color ("Color Tint", Color) = (1, 1, 1, 1) _MainTex ("Image S原创 2017-11-21 22:55:14 · 3012 阅读 · 0 评论 -
Unity Shader 学习笔记(30) Unity中渲染优化技术
Unity Shader 学习笔记(30) Unity中渲染优化技术 参考书籍:《Unity Shader 入门精要》 Unity Shader 学习笔记(1) DrawCall 【U3d】渲染统计窗口详细介绍(Rendering Statistics Window)影响性能因素CPU负责帧率,GPU复杂分辨率。 - CPU - 过多的draw call。原创 2017-11-29 16:49:07 · 1402 阅读 · 0 评论 -
3D数学 学习笔记(9) 凹凸映射(bump mapping)和切线空间(tangent space)
3D数学 学习笔记(9) 凹凸映射(bump mapping)和切线空间(tangent space) 参考书籍: 《3D数学基础:图形与游戏开发》 《Unity Shader 入门精要》凹凸映射(bump mapping)用于修改模型表明的发型,可以模拟出模型的“凹凸感”,但不改变顶点位置。 有两种方法: 1. 高度纹理(高度映射,height map):模拟表面位移(dis原创 2017-11-02 16:36:04 · 2383 阅读 · 0 评论 -
Unity 对象池(Object Pooling)理解与简单应用
Unity 对象池理解与简单应用 参考Unity官方教程 : Object Pooling 对象池用于减少内存开销,其原理就是把可能用到到的对象,先存在一个地方(池),要用的时候就调出来,不用就放回去。而不是要用的时候创建,不用的时候销毁。 举个例子: 我有个飞机,射击子弹,按传统的方法就是,创建子弹,子弹击中目标或出界等销毁子弹。就是不断的创建与销毁,要知道创建和销毁是要消耗许原创 2017-05-11 10:38:34 · 25409 阅读 · 7 评论 -
Unity 通过代码获取从面板传入的mono脚本,并添加为GameObject的脚本组件
Unity 通过代码获取从面板传入的mono脚本,并添加为脚本组件方法。 通过Scriptable里面公有变量传入的C#脚本,并且将这个脚本作为组件添加到一个gameobject里面。1. ScriptableObject中添加脚本变量与对象预设。using UnityEditor;using UnityEngine;[CreateAssetMenu(menuName = "GameObject原创 2017-07-19 23:17:57 · 1951 阅读 · 0 评论