小短片创作-理论知识(三)

devtools/2024/9/23 12:04:49/

1、抗锯齿

1.相机移动的时候出现锯齿
在这里插入图片描述
2.当1个像素在三角形边缘的时候,可能取值为白色,也可能取值为黑色,表现出来就是闪烁,或锯齿
在这里插入图片描述
在这里插入图片描述
3.如果我们通过超采样将1个像素变成4个像素进行计算,得到的结果就会更准确,边缘相对就会变得柔和,代价是计算量会变大
在这里插入图片描述
在这里插入图片描述
4.TAA(时域抗锯齿):将前面4帧的结果取平均值进行输出,因为刷新频率比较高,所以效果不错
在这里插入图片描述
5.抗锯齿解决办法:人工超采样,将屏幕分辨率设置为200%
在这里插入图片描述
6.抗锯齿解决办法:将上述多个圆柱体改成一个面片,通过贴图解决

2、Mipmap

1.Mipmap的作用:在远处的物体使用较小的贴图,以减少计算资源
在这里插入图片描述
2.Mipmap作用:避免远处物体的闪烁
在这里插入图片描述
3.Mipmap制作:只要导入的贴图是2的N次方,会自动生成Mipmap
在这里插入图片描述
一般HDRI贴图会选择无Mipmap
在这里插入图片描述

3、LOD

1.可以通过Wireframe模式查看网格
在这里插入图片描述
2.可以查看LOD相关属性
2.1.右上角可以选择查看当前选中的LOD级别
2.2.右边中间的位置,可以查看当前LOD级别对应的面数百分比,一般LOD0是100%,LOD1是50%,逐渐递减,可以手动调节
2.3.右下角可以设置最大LOD数量和最低LOD的值
2.4.左上角显示当前三角面数,相机距离越远,物体在屏幕中占的位置越小,那么LOD的Level就越大,对应的面数越低
这里相机距离较远,对应面数较低
在这里插入图片描述
这里相机较近,对应面数较高
在这里插入图片描述
3.可以在命令行输入r.ForceLOD x,强制将LOD设置为对应的值
在这里插入图片描述

4、植被

1.如何添加植被:进入植被模式,选择1个植被,修改画笔大小,在场景中点击即可
在这里插入图片描述
2.在左边选中任意植被,可以设置植被的密度和半径,密度表示植被的密集程度,半径表示植被之间的最小距离,一般设置为跟植被大小差不多,可以通过StaticMesh的Approx Size查看大小
在这里插入图片描述
在这里插入图片描述
3.如果想每株植物的缩放都不一样,可以设置缩放的最小值和最大值,那么植物的缩放就会在这两个值之间随机出现大小
在这里插入图片描述
4.Z偏移:表示植物的高度会出现偏移;对齐到法线:表示植物朝向跟法线一样垂直于平面;随机Yaw和随机Pitch:表示旋转角度出现随机;墙面倾斜角度:表示超过这个角度就不绘制植被
在这里插入图片描述
5.各种绘制方式:删除:在植被模式通过Shift+鼠标左键进行删除;点击选择:可以选中单个植被;点击套索:可以选择一片植被;点击单个:一次只绘制1株植被;点击填充:一次可绘制整个平面
在这里插入图片描述
6.风吹效果:打开植被对应的材质,激活Wind效果即可
在这里插入图片描述

5、烘焙的自发光与体积光

1.什么是烘焙:将部分光照提前计算出来以节省性能,生成光照贴图(贴图)和体积光照(GI)
在这里插入图片描述
2.什么是烘焙:可烘焙的内容-静态光影:漫反射、阴影、间接光、自发光;不可烘焙的内容:动态光影、高光;Lightmass Importance Volume:用于标定烘焙范围,范围内的是高质量计算,范围外的是低质量计算;Reflection Capture(反射捕捉):用于捕捉反射信息
在这里插入图片描述
3.案例分析:自发光物体,需要选中使用静态光照的自发光,否则不会影响它周围的物体;金属物体,需要添加反射球,否则会变黑
在这里插入图片描述
4.反射球调整:要注意反射球的位置及捕捉半径,捕捉的范围太大可能影响到它不该影响的物体,比如上边橙色的反射球如果太大可能会导致右边的椅子也变成橙色而不是蓝色,这时候可以添加2个反射球同时缩小每个反射球的反射半径,调整反射球后可以重新编译反射球
在这里插入图片描述
5.体积光:打开显示->可视化->体积光照贴图,可以显示体积光(一种GI)
在这里插入图片描述
重要体积内的各种小点就是体积光,可以照亮空间内的其它物体
在这里插入图片描述
这些小点可以表现出正确的光照,比如被自发光物体影响而变红
在这里插入图片描述
玩家受体积光影响表现出一定的GI特性
在这里插入图片描述

6、烘焙的移动性

1.移动性对比
在这里插入图片描述
2.光照效果对比
在这里插入图片描述
3.要烘焙生成GI需要添加Lightmass Importance Volum,没有添加重要体积的小白人变黑了
在这里插入图片描述
4.物体如果是Movable或Stationary影子会实时刷新,如果是Static影子不会实时刷新
在这里插入图片描述
5.只有静态物体才会产生完整GI,但同时影子不会实时刷新,小白人被静态的红墙照亮了
在这里插入图片描述

7、屏幕空间效果

1.屏幕空间效果包括,SSR:屏幕空间反射;SSAO:屏幕空间环境光遮蔽;SSGI:屏幕空间全局光照。SSR和SSAO通过后处理调整,SSGI通过控制台调整。
在这里插入图片描述
2.屏幕空间反射SSR:只有当发光物体出现在屏幕中的时候才会有反射,最大粗糙度表示超过这个粗糙度就不反射。可以在场景中添加反射球并烘焙,这样当发光物体超出屏幕的时候也会有反射,缺点是烘焙后的反射是静态的不会随着发光物体的移动而变化。
在这里插入图片描述
3.不同类型反射捕捉的区别:球形反射捕捉会有畸变,盒体反射捕捉在转角处也会有畸变
3.1.球形反射捕捉效果
在这里插入图片描述
3.2.盒体反射捕捉效果
在这里插入图片描述
3.3.反射捕捉分辨率决定反射效果的质量,分辨率越高越清晰,性能消耗越大,一般是128
在这里插入图片描述
4.屏幕空间AO-SSAO:启用之后会出现AO
在这里插入图片描述
5.通过光照->缓存显示->环境光遮挡可以查看AO情况
在这里插入图片描述
在这里插入图片描述
6.SSGI打开与关闭
6.1.SSGI启动之前的效果
在这里插入图片描述
6.2.在控制台启用SSGI:r.SSGI.Enable 1
在这里插入图片描述
6.3.SSGI启用后的效果
在这里插入图片描述
6.4.启用SSGI后,后处理的SSAO就不再起作用,将使用SSGI自带的AO
在这里插入图片描述
6.5.SSGI相关的命令
在这里插入图片描述
6.6.SSGI噪点对比,质量为1有明显噪点,质量为4就会好很多
质量为1的效果
在这里插入图片描述
质量为4的效果
在这里插入图片描述
7.SSGI与烘焙结合使用
烘焙后不使用SSGI,椅子看起来有悬空感,因为缺少AO
在这里插入图片描述
打开SSGI后,椅子的接地感就很强了
在这里插入图片描述

8、光源

8.1.点光源

1.灯光类型:定向光用于模拟太阳,点光源用于模拟灯泡,聚光源用于模拟探照灯射灯,矩形光源用于模拟电视发光广告牌,天光用于模拟天空,HDRI背景由HDRI插件提供,由天光+StaticMesh组合而成
在这里插入图片描述
2.衰减半径:表示灯光的影响范围
在这里插入图片描述
3.源半径:表示这个灯光的体积大小,这里通过反射可以明显看出来灯光的大小
在这里插入图片描述
4.软源半径:表示这个灯管的边缘变得柔和,这里也可以通过反射可以明显看出来灯管的柔和程度
在这里插入图片描述
5.源长度:源长度+源半径可以用于模拟灯管效果
在这里插入图片描述
6.高光度范围:这个灯光可以产生高光的范围,有时候需要补光的时候可以把高光范围设置为0,这样灯光就不会穿帮
在这里插入图片描述
7.投射阴影:关闭后再烘焙可以极大的提升性能
在这里插入图片描述
8.半透明物体阴影:需要同时打开灯和物体的半透明阴影
在这里插入图片描述
在这里插入图片描述
9.灯光通道:默认激活通道0,哪个通道的灯光就影响哪个通道的物体,0通道灯光影响0通道物体,1通道灯光影响1通道物体
在这里插入图片描述
在这里插入图片描述
10.灯光衰减:默认是平方反比衰减
在这里插入图片描述
在这里插入图片描述

8.2.聚光源

1.衰减半径:一般让它刚好覆盖到被照射物体即可,这样可以节省性能;内部角度和外部角度:表示光照内部和外部的扩散范围。
在这里插入图片描述
2.IES贴图:模拟真实的光照纹理,IES贴图自带光照强度所以需要勾选使用IES强度,IES大部分都是聚光源的形状
在这里插入图片描述

8.3.定向光

1.源角度与源软角:太阳的大小及边缘模糊,我们可以通过反射很明显的看出来
在这里插入图片描述
2.定向光只有旋转会影响到场景,定向光的位置不会影响到场景
3.使用HDRI的时候太阳不会产生阴影,我们可以添加一个定向光以产生阴影,通过反射将定向光的反射位置和HDRI的太阳反射位置调整成一致,这样就可以模拟HDRI的太阳产生阴影了
在这里插入图片描述
4.远处物体的阴影:UE默认不计算远处物体的阴影,可以通过打开远阴影解决该问题,灯光和物体都需要打开该属性
在这里插入图片描述
在这里插入图片描述

8.4.矩形光

1.源宽度和源高度:表示矩形光的大小,在光源强度不变的情况下面积越大亮度越小,面积越小亮度越大
在这里插入图片描述
在这里插入图片描述
2.挡光板:可以调整出类似聚光灯的效果,模拟的就是挡光片的效果
在这里插入图片描述
在这里插入图片描述
3.源纹理:可以模拟光源的纹理
在这里插入图片描述

8.5.天光

1.天光的工作原理:从天光所在的位置开始,向四周捕获一张全景图,然后再贴回场景中,跟HDRI有点类似,天光可以捕获当前场景也可以使用全景贴图,贴图格式必须是HDR格式(立方体贴图)
在这里插入图片描述
在这里插入图片描述
2.源立方体贴图角度:就是天空的角度可以进行旋转;立方体分辨率:HDR贴图分辨率,太小可能会变得模糊
在这里插入图片描述
3.天空距离阈值:距离天光多远开始捕获,设置一个较小值可以捕获近处的物体
在这里插入图片描述
4.仅捕获自发光:去掉才能捕获所有物体;较低半球为纯色:去掉才能捕获下半部分;同时会存在一个问题:天空捕获了物体本身(天光捕获了这个圆球)导致物体本身(圆球)出现它自己(圆球)的反射(不正确)
在这里插入图片描述
5.天光+反射捕捉:在天空距离阈值内的反射都由天光决定,所以加了反射球也不起作用,在有反射球的情况下,需要把天空距离阈值调大
在这里插入图片描述
6.反射捕捉只能捕捉Static物体
在这里插入图片描述
7.天光可以捕获所有物体(Static、Stationary、Movable)
在这里插入图片描述
8.天光捕捉环境贴图会忽略天光自己的照明影响,所以如果去掉天光后场景没有光照,那么捕捉到的就是黑色
在这里插入图片描述

9、DFAO-距离场AO

1.在Settings里边可以打开距离场AO
在这里插入图片描述
2.UE有多少AO
SSGI-AO:SSGI自带的AO;SSAO:屏幕空间AO;DFAO:距离场AO;RTAO:光线追踪AO;Lightmass AO:烘焙AO;VXGI:是 NVIDIA 开发的一种全局光照技术,用于在实时渲染中模拟光线在场景中的复杂反射和折射,它的核心概念是将场景体素化(voxelization),然后利用这些体素来计算光照和阴影。
在这里插入图片描述
3.通过磁场理解距离场
在这里插入图片描述
4.DFAO需要跟天光配合使用,遮挡最大距离:表示每个物体AO的影响范围;遮挡对比度:值越大渐变越弱AO越窄;遮挡指数:简单理解为DFAO的强度;
在这里插入图片描述
5.通过r.DistanceFieldAO 0 命令可以关闭距离场AO
在这里插入图片描述
6.遮挡合并模式:场景有好几种AO算法叠加,这个决定这些AO叠加的方式,比如最小(影响尽可能小),比如乘以(影响会放大,多个AO叠加的地方可能出现死黑)
在这里插入图片描述
7.网格体距离场精度:默认网格体距离场的精度是比较低的,距离场由于精度不够出现塌陷的位置,正好是AO出现斑块的位置。
在这里插入图片描述

修改StaticMesh的网格体距离场精度后可以显著提升网格体距离场AO
在这里插入图片描述

在这里插入图片描述

10、色温与光度学

1.色温:温度低的时候偏红,温度高的时候偏白,再高的时候变成浅蓝色
在这里插入图片描述
2.黑体轨迹:黑体轨迹附近才会有色温
在这里插入图片描述
3.常见色温:标准白色是6500K
在这里插入图片描述
4.lux:从被照物的角度出发测量亮度的单位,所以太阳的单位是lux
在这里插入图片描述
5.常见照度数:普通房间是300-750
在这里插入图片描述
6.cd:发光强度单位,一烛光的亮度
在这里插入图片描述
7.cd/㎡:同样的发光强度,面积越大,被照物接收到的亮度就越小
在这里插入图片描述
8.lux与cd与cd/㎡对比
在这里插入图片描述
9.EV100:摄影当中的曝光值,由光圈+快门组合得出,光圈越大,EV值越大,场景越亮
在这里插入图片描述
10.EV相同拍出的照片可能不一样:光圈决定了景深,快门决定了运动模糊;大光圈,进光量大,景深浅,主体清晰周围模糊;小光圈,进光量小,景深深,主体和周围都清晰;快门时间短,可以消除运动模糊;快门时间长,可以拍出流动的感觉。
11.实践经验:做CG项目以EV0作为标准
在这里插入图片描述


http://www.ppmy.cn/devtools/44379.html

相关文章

Docker安装nginx详细教程

详细教程如下: 1. 拉取Nginx镜像 docker pull nginx默认拉最新的(也可以根据自己的需求指定版本) 2. 运行Nginx容器 docker run --name my-nginx -d -p 80:80 nginx--name my-nginx:容器名称,便于管理。-d&#xf…

accelerate训练SD-LoRA,解决ValueError: Attempting to unscale FP16 gradients.问题

训练指令需从原来的: accelerate launch –mixed_precision“fp16” train_text_to_image_lora.py –pretrained_model_name_or_path“F:/XYX/Documents/AITools/ControlNetImplement/ControlNetTest/models–runwayml–stable-diffusion-v1-5” –dataset_name“d…

博物馆三维实景vr展示

VR技术应用到地产行业的优势不言而喻,随着购房政策的进一步放宽,购房刚需者借助VR商铺样板间展示系统看房,远比之前跑楼盘更便捷高效。那么VR商铺全景展示具体有哪些好处呢? VR技术与商铺的结合,为客户带来了前所未有的购房体验。…

Golang实现递归复制文件夹

代码 package zdpgo_fileimport ("errors""os""path/filepath""strings" )// CopyDir 复制文件夹 // param srcPath 源文件夹 // param desPath 目标文件夹 // return error 错误信息 func CopyDir(srcPath, desPath string) error {…

Flutter 中的 NestedScrollViewViewport 小部件:全面指南

Flutter 中的 NestedScrollViewViewport 小部件:全面指南 Flutter 是一个功能丰富的 UI 工具集,它提供了多种布局和控件来帮助开发者构建美观且功能强大的应用。在 Flutter 的滚动控件中,NestedScrollView 是一个特别的存在,它允…

力扣爆刷第146天之贪心算法五连刷

力扣爆刷第146天之贪心算法五连刷 文章目录 力扣爆刷第146天之贪心算法五连刷总结一、455. 分发饼干二、376. 摆动序列三、53. 最大子数组和四、122. 买卖股票的最佳时机 II五、5. 跳跃游戏 总结 贪心算法的本质就是选择每一阶段的局部最优,从而达到全局最优。 一…

plt.xticks()的作用

参考: https://blog.csdn.net/weixin_41796265/article/details/131442400 plt.xticks() 是 Matplotlib 库中的一个函数,用于设置坐标轴刻度的位置和标签。 它的作用包括: 设置 x 轴刻度的位置:可以通过传递一个数组或列表来设…

Spring Boot :从上传的二维码图片中读取信息

在现代应用中,读取二维码中的信息是一个常见的需求。本文将介绍如何在 Spring Boot 项目中实现从上传的二维码图片中读取包含的信息,包括引入 ZXing 依赖、实现读取二维码信息的方法、编写处理上传文件的控制器,并提供详细的代码示例。 1. 引…