77 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			77 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: CAD可视化与MovieRenderQueue笔记
							 | 
						|||
| 
								 | 
							
								date: 2021-09-16 13:55:15
							 | 
						|||
| 
								 | 
							
								tags: Film
							 | 
						|||
| 
								 | 
							
								rating: ⭐️
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								## 前言
							 | 
						|||
| 
								 | 
							
								本文为一些个人经验总结,仅供参考。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## DataSmith
							 | 
						|||
| 
								 | 
							
								### ReTessellation
							 | 
						|||
| 
								 | 
							
								对DataSmith导入的物体进行重新细分(增加或者减少面数),这样就不用重新导入了。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## DataPrep Tools
							 | 
						|||
| 
								 | 
							
								可以代替python来实现Asset处理自动化。当然会Python就可以定制自动化命令了。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 初始化
							 | 
						|||
| 
								 | 
							
								1. 将曝光单位设置成EV100(可选)。
							 | 
						|||
| 
								 | 
							
								2. 使用SM_ColorCalibrator调整场景曝光度。(推荐使用Automotive Materials中BP_Calibration)
							 | 
						|||
| 
								 | 
							
								3. 仅使用天光作为照明源。环境球使用引擎的SM_SkySphere。
							 | 
						|||
| 
								 | 
							
								4. 启用r.RayTracing.Reflections.ReflectionCaptures,使用ReflectionCaptures作为最后一次反射反弹结果。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 解决临时轴心问题
							 | 
						|||
| 
								 | 
							
								1. 创一个空Actor作为轴心并设置成Moveable,之后将其移动到对应位置。
							 | 
						|||
| 
								 | 
							
								2. 将CAD模型以及其根物体都改成Moveable,之后将之前的空Actor作为root节点。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 使用Automotive Materials的问题
							 | 
						|||
| 
								 | 
							
								在Raytracing下使用Automotive Materials会出现第二次反射物体变黑的问题,这是官方做的优化措施,但CAD产品可视化会注重反射效果,所以需要把这个措施给去掉。具体做法是把父材质中最后的MF_Bounce_Rough去掉就可以了。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## MovieRenderQueue
							 | 
						|||
| 
								 | 
							
								### 输出Alpha
							 | 
						|||
| 
								 | 
							
								Movie Render Queue中有.exr和.png两种图片格式可输出带Alp通道,但仅勾选“output Alpha"还不行。须在项目设置中找到”Enable alpha channel support in post processing“(在后期处理中启用透明度通道支持)改为“Linear color space only”(仅限线性空间颜色)。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								>勾选“output Alpha"已经被替换为Accumulate Alpha选项,在Output选项卡中。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								同时还需要将天空球设置为Hidden In Game。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### 抗锯齿:
							 | 
						|||
| 
								 | 
							
								不管怎么设置画面还是会出现一些噪点,如果是制作视频可以使用MovieRenderQueue来解决,本人使用的参数为:
							 | 
						|||
| 
								 | 
							
								- Temporal Sample Count:16
							 | 
						|||
| 
								 | 
							
								- Render Warm Up Count:64
							 | 
						|||
| 
								 | 
							
								- Engine Warm Up Count:64
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								本人只需要好的反射效果,所以TAA采样数不会设置太高。其他有动态模糊以及其他与TAA相关的效果,就需要适当把Temporal Sample Count提高了。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								在抗锯齿中
							 | 
						|||
| 
								 | 
							
								关闭TAA
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								测试结果:渲染结果没有锯齿,但部分反射效果会有微小锯齿
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### 控制台变量:
							 | 
						|||
| 
								 | 
							
								- r.RayTracing.Reflections.MaxBounce 7
							 | 
						|||
| 
								 | 
							
								- r.RayTracing.Reflections.SamplesPerPixel 64
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								7次光线反弹以及64spp,效果已经达到要求了。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### 关闭降噪器
							 | 
						|||
| 
								 | 
							
								使用MovieRenderQueue时,因为不太关注实时性能,所以可以关闭降噪器来提高渲染效果精度。
							 | 
						|||
| 
								 | 
							
								- r.AmbientOcclusion.Denoiser: 0
							 | 
						|||
| 
								 | 
							
								- r.DiffuseIndirect.Denoiser: 0
							 | 
						|||
| 
								 | 
							
								- r.RayTracing.SkyLight.Denoiser: 0
							 | 
						|||
| 
								 | 
							
								- r.Reflections.Denoiser: 0
							 | 
						|||
| 
								 | 
							
								- r.Shadow.Denoiser: 0
							 | 
						|||
| 
								 | 
							
								- r.RayTracing.GlobalIllumination.Denoiser: 0
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								经过测试,在关闭反射降噪器之后,对于拉丝金属表面这种有微小细节的表面,细节会锐利很多。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 修复渲染Slot第一帧时的问题
							 | 
						|||
| 
								 | 
							
								在使用Sequence以及MovieRenderQueue渲染的时候经常发现Slot的第一帧会出现渲染错误。解决方法是将CameraCut中的轨道往前拉1~2帧即可。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 增加物体运动的连贯感
							 | 
						|||
| 
								 | 
							
								简单的方法就是使用动态模糊或是提高帧数。但我制作的视频可能会随时暂停查看具体细节,所以我选择提高帧数并且关闭运动模糊。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## DLSS
							 | 
						|||
| 
								 | 
							
								DLSS可以在同一画质下提高帧率。因此你可以在使用DLSS的情况下适当提高采样以减少噪点。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								需要注意目前版本不会对MovieRenderQueue产生效果(4.27已经可以了)。
							 |