【质点弹簧】如何做一个不会崩溃的质点弹簧 【质点弹簧】如何做一个不会崩溃的质点弹簧 演示视频见:https://www.bilibili.com/video/BV15vPie8EEd/ 在绳索、布料、软体等软性物质的模拟上,质点弹簧绝对是最流行的一种物理模型,相关资料在网上非常多。但无一例外的都绕不过一个痛点:动不动就崩溃给你看。那有没有一种能实现绝对不会崩溃的质点弹簧模型,或者说我们能始终确切的知道它崩溃的边缘在哪里,而不是和传统质点弹 2025-12-23 技术堆栈 > 技术美术 > 仿真模拟 > 质点弹簧
【质点弹簧】质点位置积分 【质点弹簧】质点位置积分 在物理模拟中,物理系统每帧都需要根据粒子当前位置,速度,加速度等信息计算粒子下个阶段相关信息,而这种一点一点计算位置的操作被称作对粒子位置的积分。 具体而言实现这种积分效果的有两种方法: 欧拉积分法 https://zhuanlan.zhihu.com/p/355170943 欧拉积分法是根据现实中的物理公式来求解下一帧位置的,具体而言分三种: 显式欧拉方法(完全根据当 2025-12-23 技术堆栈 > 技术美术 > 仿真模拟 > 质点弹簧
【基于物理的渲染(1)】反射率方程 【基于物理的渲染(1)】反射率方程 能量守恒 光是一种能量,遵循的能量守恒原则,物体表面反射光的总量总是小于等于入射光的总量。 微表面模型 微表面模型是指采用了微分的思想看待物体表面。无论表面是粗糙还是光滑,只要从足够小的尺度下观察,它们都是由一堆微小镜面构成的,因此物体表面的每一点都可以看作采用了相同的光照计算公式。因此我们在计算光照时,只需要考虑单个微表面的实现即可。 注意微表面不是一个单个具 2025-12-23 技术堆栈 > 技术美术 > 光照模型 > 基于物理的渲染
【基于物理的渲染(2)】Cook-Torrance 【基于物理的渲染(2)】Cook-Torrance BRDF BRDF 直译为双向散射分布函数,是一种解释光反射强度的模型。双向散射是指其将反射光描述为由镜射光和漫射光两种。基于物理的 BRDF 说明该公式不能是传统的经验模型,而是遵循各种物理现象而设计的模型。 漫射光 漫射光是指光线射入物体内部,在内部多次反弹后返回的光,这类光容易被物体吸收,且反射的方向无序,因此反光将均匀的分布在照射区域。 2025-12-23 技术堆栈 > 技术美术 > 光照模型 > 基于物理的渲染
【基于物理的渲染(3)】基于图片的渲染 【基于物理的渲染(3)】基于图片的渲染 上述 CookTorrance 公式中还缺少环境光的处理,在 PBR 中环境光是用 IBL 实现的。 IBL 中由于光来自一个完整的球面,因此需要对球面积分计算,但这样工作量太大了。考虑到物体表面受到的环境光不会改变,因此可以提前预处理,将部分光照提前计算存放到环境贴图中。因此对于间接光,不能直接使用直接光的反射率方程。 在Unity中:预计算的漫射光使用S 2025-12-23 技术堆栈 > 技术美术 > 光照模型 > 基于物理的渲染
【Unity】加载纹理和网格数据 【Unity】加载纹理和网格数据 Unity 使用同步和异步两种方式加载纹理和网格到 GPU,如果资源支持,则 Unity 将默认使用异步加载。同步加载会导致游戏卡顿,但异步则不会,所以考虑性能优化,应尽可能保证资源满足异步加载条件。 工作原理 资源数据由“元数据”(标头数据)和“像素顶点数据”(二进制数据)组成。当资源被要求加载时,其中标头数据必须立即被加载,但二进制数据实际可以在后续慢慢加载。 2024-05-31 框架使用 > Unity > Unity文档笔记 > 图形
【Unity】材质 【Unity】材质 https://docs.unity.cn/cn/2022.3/Manual/Materials.html 材质简介 在 Unity 中绘制任何东西都需要网格和材质两种资源,网格描述形状,材质描述外观。 材质与着色器紧密相关,就好像是着色器的一个对象实例,必须先有着色器才能创建材质球。 基于物理的渲染材质验证器 在 PBR 渲染中,对于物体的反照率和金属度等实际有一组确认符合现 2024-05-21 框架使用 > Unity > Unity文档笔记 > 图形
【Unity】作业系统 【Unity】作业系统 https://docs.unity.cn/cn/2022.3/Manual/JobSystem.html 技术概述 作业系统是多线程技术的封装,使用户可以充分发挥 CPU 多核优势,大幅提高计算性能。 具体而言 Unity 封装了以下内容: 多线程:Unity 将根据 CPU 内核数量智能创建和分配线程,而无需用户管理。 偷窃工作:Unity 将会自动平衡各个工作线程之 2024-05-21 框架使用 > Unity > Unity文档笔记 > 脚本
【Unity】可编程渲染管线 【Unity】可编程渲染管线 Unity 最早的内置渲染管线,其代码写死在引擎内核,仅能进行一些有限的阶段控制。因此后来 SRP(可编程渲染管线)来了,使完全由用户定义渲染管线成为现实。 SRP 是一个封装的小型 API 层,提供了从 C# 脚本调度和配置渲染命令的功能。Unity 会将这些命令传递给低级图形框架,后者随后将指令发送给图形 API。 SRP 的组成部分 渲染管线实例和渲染管线资源 2024-05-31 框架使用 > Unity > Unity文档笔记 > 图形 > 渲染管线
【Unity】PassCode 语法笔记 【Unity】PassCode 语法笔记 https://docs.unity.cn/cn/2022.3/Manual/SL-ShaderPrograms.html PassCode 区域存放实际的渲染代码,目前支持 3 种写法。 固定函数着色器(过时) https://docs.unity.cn/cn/2019.4/Manual/ShaderTut1.html 一个早期旧版着色器,使用内置的 2024-04-26 框架使用 > Unity > Unity文档笔记 > 图形 > 着色器