渲染学习笔记
本文最后更新于1 天前,其中的信息可能已经过时,如有错误请留言

https://support.apple.com/en-us/102041?utm_source=chatgpt.com

Blender导出模型到Unity

  • 在Unity中Add Package By name:输入com.unity.cloud.gltfast
  • Blender中全选,应用“旋转 + 缩放”

导出格式选择.glb 2.0 (其实FBX也可以)

写实场景渲染

  • 离线渲染offline Rendering:Blender
  • 实时渲染 Real-Time Rendering:Unity
  • 非真实渲染 NPR(Non‑Photorealistic Rendering)
  • 基于物理的渲染 PBR

渲染数据

  • 模型
  • 材质
  • 动态元素和特效
  • 摄影测量:通过多张二维影像,解算出物体和场景的三维坐标、形状与尺寸并重建模型的技术

渲染过程

光照模型(Illumination Model)

  • 局部光照模型
    • Lambert漫反射模型
    • Gourmand光照模型
    • Phong 光照模型
    • 改进的Blinn-Phong模型
  • 全局光照模型
    • 基于光线追踪实现
      • 路径追踪(基础蒙特卡洛GI算法)
        • 双向路径追踪
        • Metropolls
      • 递归光线追踪(基础反射/折射,非完整GI)
      • 分布式光线追踪
    • 其他GI实现技术
      • 光子映射
      • 基于点的全局光照
    • 辅助效果(非完整GI)
      • 环境光遮蔽(Ambient Occlusion ):只算局部遮挡无光线反弹,只加缝隙阴影,是 “假细节阴影”
环境光遮蔽

阴影

大气渲染

  • 体积光(Volume light),光束
  • 物理光照

采样 (Sampler)

抗锯齿

渲染输出

后处理(Post Process)

上面提到的光照模型、材质等有很多交错的地方,比如SSR和SSAO,甚至下面会提到输出部分的物理相机部分在实时渲染引擎也算是后处理的内容,可以说实时渲染的后处理合并了渲染输出。

  • 物理相机模拟
  • 人眼观察模拟
  • 调色 or 颜色分级
  • 抗锯齿

贴图文件

https://www.a23d.co/blog/different-maps-in-pbr-textures?utm_source=chatgpt.com#_1-albedo-map

1. BaseColor / Albedo:颜色贴图

作用:决定物体本身的颜色和图案。

  • 主要决定你纹理的颜色。在金属纹理中,它决定了材料反射的颜色。
    • 图案要么是单色图像,要么是平面光图像。照明必须是平的。不应该显示阴影,因为源照片的照明可能与您的不同,应该由灯光实时计算

2. Normal Map:法线贴图

决定每个像素参与光照计算时使用的法线方向

  • 模拟了光与物质表面相互作用的方式
  • 让平面看起来有凹凸,但几何形状不会被法线图所改变

3. Roughness:粗糙度贴图

注:Gloss贴图一般是1 – X的Roughness贴图

决定了光线分布在模型表面的密度

  • 粗糙的表面比光滑的表面向更多的方向散射光线,导致反射更模糊而不是更清晰
  • 值范围为0.0到1.0。当粗糙度等于0.0时,反射清晰,您的模型根本不会散射光线,从而在材料上产生更清晰、更明亮的反射和照明。当粗糙度等于1.0时,反射变得模糊。光线会更加分散在你的材料中。光线和反射在模型上更加分散,但因此它们看起来要暗得多
  • 这些地图是灰度的,白色代表最粗糙的表面,黑色代表有光泽、光滑的表面。

注意:
Unity URP Lit 里主要叫 Smoothness,它和 Roughness 是反的:

Smoothness = 1 - Roughness

也就是:

Roughness 白 = 粗糙

Smoothness 白 = 光滑

4. Metallic / Metalness:金属度贴图

指的是一个表面对周围环境的反射程度

  • 金属度为 0.0 时,固有色会完全显现,材质呈现塑料或陶瓷质感(即完全不反射)
  • 金属度为 0.5 时,材质表现为烤漆金属质感;
  • 当金属度达到 1.0 时,表面几乎完全失去固有色,仅单纯反射周边环境。(完全反射)
    例如:金属度 1.0、粗糙度 0.0 时,表面就和现实中的镜面一模一样。
  • 金属度贴图同样为灰度图,但制作时最好只用纯白、纯黑两种数值,中间过渡交由粗糙度贴图来控制
  • 金属度贴图中黑色区域,会将固有色贴图作为漫反射颜色(即纹理受光后呈现的本色);
  • 白色区域,会以固有色来决定反射的色调与亮度,同时材质的漫反射颜色变为纯黑。此时不再需要漫反射本色,因为该区域所有色彩与细节都将由环境反射提供,所以漫反射直接置黑即可。

高光贴图(Specular Map)

  • 用来控制表面反射高光的颜色和强度
  • 如果你用金属度贴图来制作黄铜材质,
    需要在基础色贴图的对应区域绘制黄铜色调,这样反射效果才能让材质呈现出黄铜的质感。
  • 在 Specular 工作流里,金属的反射颜色主要由 Specular Map 决定。BaseColor 更多表示非反射部分的漫反射颜色。
    基础色贴图上的黄铜区域则需要设为纯黑色,你得在高光贴图上绘制黄铜的色彩细节,才能实现同样的效果,对理想金属来说,漫反射很弱,所以金属区域的 BaseColor 往往会变暗,甚至接近黑色。

5. AO / Occlusion:环境遮蔽贴图(可能也叫Cavity)

环境光遮蔽会为物体缝隙、凹陷处添加阴影效果,让画面看起来更真实。在渲染时,这张贴图会叠加到基础色(Albedo)上,用来定义物体表面对光线的反应程度

  • 它是一张灰度图:白色区域代表能接收大部分光线,而深色区域代表光线难以到达的地方。环境光遮蔽的数值范围在 0.0 到 1.0 之间:0.0 代表完全黑暗(被遮蔽),1.0 代表无遮蔽。

注意:
AO 不是主要阴影,它只是补充“小范围遮挡感”。真正的大阴影还是由灯光和阴影系统负责。

6. Height / Displacement:高度贴图(也叫Bump)

作用:记录表面哪里高、哪里低

  • 法线贴图和高度贴图的共同点是,二者都能为基础网格添加细节效果。两者的核心区别在于:高度贴图会向 3D 网格中添加实际数据,并提升模型的多边形数量;而法线贴图不会改变网格本身
  • 可以用于视差、位移、地形起伏等效果。
  • 高度贴图是一种灰度贴图:黑色代表模型的最低凹陷处,白色代表模型的最高凸起,中间的灰色调则对应过渡的高度。它的优势在于,提供的细节在任何角度、任何光照条件下都能完美呈现;但缺点是,它需要对模型进行曲面细分(Tessellation),这会显著增加渲染耗时。因此,法线贴图因使用便捷性,成为了更主流的选择。

8. Opacity / Alpha:透明度贴图

作用:决定哪些地方透明,哪些地方不透明。

  • 透明度贴图可以让材质的指定区域变得透明。在制作玻璃、低多边形树枝或贴花时,这张贴图至关重要!
  • 它常被用于树木或贴花的制作(如上图所示):你可以在单个多边形平面上绘制一整簇叶子,再用透明度贴图隐藏掉多余的部分。将多个这样的多边形分层叠加,就能用极低的性能消耗做出真实的树木效果。
  • 透明度贴图为灰度图:白色代表完全不透明,黑色代表完全透明,中间的灰色调则对应不同程度的半透明效果。数值上,0.0 为不透明,1.0 为透明。

第二节课内容

TA 光照模型 – 美术中的黑白关系、影调、高光

空间变换 – 美术中的透视理论(近大远小)

原画给一张图,然后交给地编、TA

很多时候其实是建模的人出了问题,空间变换有问题,但是却交给TA,扣了很长时间Shader,但也没有用,TA一定要正确的做事情,不一定要通过复杂的方式解决问题,而是要选择最适合项目的角度解决问题

我现在目前做的是美术做的事情,根据原画还原场景。

shader和所有事情都相关,但不是所有问题都需要动shader,比如空间变换

谁的问题就给谁,就比如GI有问题,导致暗部死黑,
如果是直接光照有问题,那就有可能是光照模型有问题,但光照模型是你自己写的,你知道肯定没问题,所以一定是别的地方
然后会怀疑间接光照,LightMap,AO,SSAO
想表达的是,很多时候在不正确的地方付出了200%的力,但是效果只提升了1%,我们要的是付出很少的力实现很好的效果,立竿见影的效果,所以一定要正确的找到导致这个问题的主要原因是什么(定位问题的能力)

然后才能谈解决问题的能力,也就是技术选型,我们在有限的时间很难进行创新,所以就需要对市面上有的技术进行筛选,可以从论文中拿到技术然后用在论文中,实现1+1(美术模块和shader模块)大于10的效果。
不要想着自己创造技术,很多时候是模型上的技术A和Shader上的技术B和引擎上的技术C,有了这些技术积累才有可能能迸发出灵感,所以丰富技术矩阵很重要,光有程序技术矩阵是不够的,还要有美术技术矩阵

现在问矩阵问得少了,但是PBR问得多了

unity自带的原生烘焙,GI涉及的效果器在Scene面板中(天空盒的左边)

尽可能逼近要的效果,工作中也是这样给你的,给一张技术原画,然后去复刻

K大透视课程

Ramp贴图:

(45 封私信 / 80 条消息) Unity URP Shader 与 HLSL 自学笔记五 Ramp贴图实现风格化漫反射 – 知乎

学习笔记如有侵权,请提醒我,我会马上删除
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇