- 博客(335)
- 收藏
- 关注
原创 Unity相关blog声明
经人提醒,还是有必要声明一下,我的Unity相关blog目前都是自己跟着唐老狮(是“狮”不是“师“)的视频学习做的相关笔记,仅仅只是为了方便自己学习,所以一些注解写的都是【我自己能看懂就行】的程度,我一个菜鸡而已其中也不存在推销什么的利益关系,因此不会加入相关链接什么的(但还是要说老师讲课的确很nice),如果想学的更清楚请自行去搜索相关视频,若有任何侵权请麻烦告知,谢谢!...
2022-04-12 22:47:52
826
原创 Entities - 遍历与查询
在中说过可以将 Component 按照数据访问类型进行划分,分别是 Entity,Chunk,Element,数据与查询中也是如此。
2025-09-21 20:11:46
955
原创 Entities - System 和 SystemGroup
if (!= null)else创建一个基类 SceneSystemGroup ,主要是通过当前场景的名字,来开启 / 关闭 SystemGroup上述代码会自动创建三个 SystemGroup,然后 CubeRotateSystemGroup / CubeRotateWithIJobEntitySytemGroup 会创建在 RotateCubeSystemGroup 目录下,并根据场景名字进行启用。
2025-09-14 17:53:55
765
原创 Entities - Components 类型
HasNoEntityReferences - 不包含任何Entity引用ChunkComponentType - 被转换成ChunkComponentsZeroSizeInChunkType - Chunk只存储了0个字节的component类型这些都是通过 位 来标注的,有些甚至是通过多个 位 组个生成的。
2025-09-14 16:42:29
494
原创 Entities - Jobs 基础知识
以上图程序为例,这里使用两种方式实现在 Profiler 中看到,耗时大概为 2ms在 Profiler 中看到,耗时大概为 0.2ms,效率大概优化了十倍,而在 Job 结构体中使用了 [BurstCompile] ,可以将代码优化为 SIMD 指令,如果在 Execute 中讲 Vector3 后续转为 mathmatic 库中的 float3 类型,还能进一步效率优化。
2025-09-14 15:20:13
725
原创 Addressable-引用计数
当通过加载使用可寻址资源时,Addressables会在内部帮助我们进行引用计数,使用资源时,引用计数+1,释放资源时,引用计数-1,当可寻址资源的引用为0时,就可以卸载它了为了避免内存泄露(不需要使用的内容残留在内存中),我们要保证加载资源和卸载资源是配对使用的AB包也有自己的引用计数(Addressables把它也视为可寻址资源)从AB包中加载资源时,引用计数+1,从AB包中卸载资源时,引用计数-1,当AB包引用计数为0时,意味着不再使用了,这时会从内存中卸载。
2025-06-15 16:03:48
358
原创 Addressable-配置相关
主要用于配置Addressable打包(构建)加载AB包时使用的一些变量,这些变量定义了可以添加自定义变量,以便在打包加载时使用,之后在设置 组中打包和加载路径相关时,都是使用这里面的变量。
2025-06-07 21:57:25
870
原创 Adddressable-Label
相同作用的不同资源,我们可以让他们的资源名相同,通过标签Label区分他们来用途用于之后的动态加载,利用名字和标签可以单独动态加载某个资源,也可以利用它们共同决定加载哪个资源。
2025-05-18 14:53:06
169
原创 Addressable-加载指定资源
自定义类,比如继承AssetReferenceT<Material>类 即可自定义一个指定类型的标识类该功能主要用于Unity2020.1之前,因为之前的版本不能直接使用AssetReferenceT泛型字段。
2025-05-18 14:27:56
588
原创 噪声雾效
总体而言,就是Unity自带的全局雾效只能满足最基础的效果,较为局限。因此所谓的噪声雾效,其实就是在我们之前已经实现的屏幕后处理效果中的全局雾效中结合噪声和内置时间参数,去实现出不规则、动态的全局雾效,让我们的雾效更具动态感,真实感!
2025-02-09 16:00:31
272
原创 水波效果
水波效果指在计算机图形学中模拟水面波纹的视觉效果,通常用于游戏、动画或者其他虚拟场景中。主要用于体现水体的动态感,比如水的波动、反射、折射、透明等,可以让人感觉像真实的水一样流动闪耀。
2025-02-07 23:19:59
310
原创 噪声算法 & 纹理
噪声是一种程序生成的随机或伪随机数据,在图形学中常用来创建各种自然现象和复杂纹理效果。。就因为噪声数据具有以上这些特点,我们可以利用噪声来实现一些特殊效果,比如:,地形生成,云层效果,烟雾效果、水面模拟、消融效果、
2025-01-25 16:08:43
1293
原创 素描风格渲染
素描风格渲染(HatchingStyleRendering),是一种非真实感渲染(NPR),主要目的是使3D模型看起来像手绘素描的视觉效果。这种风格的渲染常用于游戏、动画和电影中,用来创造一种独特的艺术风格。
2025-01-18 21:50:14
410
原创 卡通风格渲染
卡通风格渲染(CartoonShading),也称为非真实感渲染(NPR)或卡通渲染(ToonShading)主要目的是使3D模型看起来更像手绘的二维卡通或漫画风格,而不是逼真写实的3D渲染效果。这种风格的渲染常用于游戏、动画和电影中,用来创造一种独特的艺术风格。
2025-01-14 23:52:01
705
原创 书本翻页效果
将需要在旋转前利用三角函数Sin让顶点在Y轴上进行偏移即可,并且0~90~180度之间变换时,0和180度不需要起伏感,90度时起伏感最大(页面最弯曲)
2025-01-14 22:29:28
404
原创 物体切割效果
在游戏开发中,物体切割效果就是物体看似被切割、分割或隐藏一部分的视觉效果。这种效果常用与游戏和动画中,比如角色攻击时的切割效果,场景中的墙壁切割效果等等。
2025-01-05 22:07:50
508
原创 遮挡半透明效果
普通的半透明效果非常容易实现,只需要设置混合因子即可。而要实现类似X射线的效果,也就是边缘不透明,中间透明的效果,可以利用尼尔反射的公式来得到:R(θ) 表示入射角为θ时时的反射率R0 是垂直入射某介质时的反射率V 是视角方向单位向量(入射角)N 是顶点法线单位向量将得到的 入射角为θ的反射率 作为自定义颜色的A值,便可以得到类似的结果。
2025-01-05 21:33:31
684
原创 流光效果
在 Unity Shader 中的流光效果是一种动态的视觉效果,通常用于给材质增加一种闪光或光线移动的效果,使物体表面看起来像是有光在流动。这种效果常用于武器光效、能量护盾、传送门等等,可以让物体看起来更加生动富有科技感。
2025-01-05 15:45:02
809
原创 利用深度法线纹理实现边缘检测效果
根据刚才进行的深度和法线值的比较,只要其中之一(深度或者法线)满足了大于自定义阈值的条件,那么该像素就在边缘上,就使用描边颜色进行颜色处理,关键计算规则如下。
2024-12-22 23:32:01
435
原创 利用深度纹理实现全局雾效
既然Unity中已经提供了全局雾效,那为什么还要自己来实现呢?总体而言,就是Unity自带的全局雾效只能满足最基础的效果,较为局限。因此通过结合深度纹理来制作屏幕后处理的全局雾效,来感受同一种效果的不同实现思路。
2024-12-22 22:22:28
767
原创 Unity全局雾效
Exponential Squared(指数的平方)的计算公式:f = 1 – e^(−(density−|d|)²)它通过在场景中加入雾的效果,使得距离摄像机较远的物体看起来逐渐被雾气覆盖,从而创造出一种朦胧、模糊的视觉效果。全局雾效(Global Fog)是一种视觉效果,用于在3D场景中模拟大气中的雾气对远处物体的遮挡。Unity自带的全局雾效的实现原理,start代表雾开始的距离(可控)end代表雾最强时的距离(可控)这里的距离都是相对于摄像机的。这里的距离都是相对于摄像机的。d代表里摄像机的距离。
2024-12-22 16:44:00
1265
原创 深度和法线纹理
屏幕后期处理效果的基本原理就是当游戏画面渲染完毕后通过获取到该画面的信息进行额外的效果处理 之前的边缘检测、高斯模糊、Bloom、运动模糊等效果都是的因此可以通过屏幕空间的深度纹理和法线纹理进行优化。
2024-12-08 17:00:27
1226
原创 运动模糊效果
运动模糊效果,是一种用于 模拟真实世界中快速移动物体产生的模糊现象 的图像处理技术,当一个物体以较高速度移动时,由于人眼或摄像机的曝光时间过长,该物体会在图像中留下模糊的运动轨迹。这种效果游戏、动画、电影中被广泛应用,以增加视觉真实性和动感。
2024-12-07 21:03:03
1170
原创 Bloom 效果
Bloom效果(中文也可以叫做高光溢出效果),是一种的图像处理技术,,使得画面中较亮的区域“扩散”到周围的区域,造成一种朦胧的效果。
2024-12-07 20:20:20
1222
原创 高斯模糊
高斯模糊效果是一种用于平滑图像并减少图像噪声和细节的图像处理技术,高斯模糊的主要目的是使图像的边缘和细节变得模糊和平滑,高斯模糊相当于利用 Shader 代码自动给屏幕图像进行模糊处理高斯滤波核也称为高斯核,它其实就是一个 N x N 的卷积核,它的大小可以自定义,但是一般会是一个 奇数 x 奇数 的大小,通常会是一个 3x3 、5x5、7x7、9x9 的大小,高斯滤波核中各元素的具体值,我们通过高斯函数来确定。
2024-12-01 20:04:12
2231
原创 边缘检测
边缘检测的主要目的是找到图像中亮度变化显著的区域,这些区域通常对应于物体的边界,边缘检测相当于利用 Shader 代码自动给屏幕图像进行描边处理。
2024-11-10 21:50:20
1313
原创 亮度、饱和度、对比度基本原理
想要改变图像颜色的亮度,只需要对图像的每个像素进行加法(减法 - 加负数)或乘法(除法 - 乘小数)运算即可实现。
2024-11-10 14:59:14
2988
原创 屏幕后期处理
屏幕后期处理效果( Screen Post-Processing Effects)是一种在渲染管线的最后阶段应用的视觉效果,允许在场景渲染完成后对最终图像进行各种调整和效果处理,从而增强视觉体验常见的屏幕后期处理效果有:景深、模糊、色彩调整 等等。
2024-11-10 14:28:22
859
原创 代码修改材质参数
Mesh Renderer和Skinned Mesh Renderer都继承Renderer,可以用里式替换原则父类获取、装载子类对象可以利用渲染器中的material或者sharedMaterial来获取物体的材质,如果存在多个材质,可以使用renderer.materials或renderer.sharedMaterials来获取。
2024-11-10 13:55:22
1001
原创 顶点动画的注意事项
批处理会让对象失去独立性,相当于将多个对象之间独立的模型空间坐标系合并为一个坐标系从而影响顶点的相对位置和变换矩阵等信息,导致顶点动画结果异常,因此我们通过渲染标签来关闭批处理。
2024-11-03 19:11:43
691
原创 顶点动画-广告牌
广告牌效果是一种图形技术,用于确保对象(通常是二维纹理面片 或 精灵(Sprite)图片)始终面向摄像机,同时在某些轴上保持固定的方向(一般分为全向广告牌和轴对齐广告牌)如果想要实现出 垂直广告牌效果,那只需要在计算轴向向量时进行修改即可,只需要在计算normal向量时,让其的y值变为0即可,相当于normal向量只在 xz 平面变化。在3D游戏中非常有用,它可以确保无论从哪个角度看、对象始终面向玩家,创造出一种始终可见的效果。再定义一个新坐标系的中心点(相对于模型空间的),就是一种特殊的轴对齐广告牌,
2024-11-03 16:34:04
521
原创 滚动的背景
不停地利用时间变量对uv坐标进行偏移运算,超过1的部分从0开始采样;小于0的部分从1开始采样。滚动的背景使用的美术资源图片,往往是首尾循环相连的。
2024-11-03 15:22:30
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅