0%

RePlaymod-深度图于摄像机位置

RePlaymod-深度图于摄像机位置

深度图

深度图顾名思义就说代表画面上各个位置离摄像机位置的距离,就如同黑夜里的蝙蝠所发出来的超声波一样来分辨距离,但游戏里我们不能像蝙蝠一样能精确的知道每个物体离画面的精确距离,所以我们得靠机器来辅助我们来分辨精确距离。好,我们现在已经知道每个物体离画面的距离,但是机器不能理解我们所说的距离,这就得用机器所能看懂的方式来表示距离。那就是深度图,深度图通常上是由黑到白的一个过度图片,在这个图片上会看到你当前画面所拍摄物体的轮廓,从而让机器来理解当前画面不同物体里画面的精确距离。这就如图片里现实透明通道一样黑透白不透一样,只是换了一种映射方式来表示物体的距离。
说完了深度图的含义,接下来我们来讲讲深度图对我们有什么帮助。

第一点

后期景深。因为现在的光影里要么没有景深的选项,要么开了景深但有时候的效果跳来跳去不是我们想要的效果,这样就可以用深度图来后期自定义的自己想要的景深效果。

第二点

画面合成,在高版本里不能像马哥所做的Blockbuster模组系列那样可以快速的将自己想要的模型或是其他一些什么的导入游戏中展示。


摄像机位置

想必摄像机位置对经常用AE或是其他视频处理软件的人来说应该很熟悉,有了摄像机位置了之后可以将一些文字或是其他什么的在画面中进行三维的移动,就可以不用第三方软件来计算摄像机位置或是画面的跟踪了。


现在进行教程

温馨提示,在开始前得先确认你用的replay版本是最新版本,以免没有导出深度图与摄像机路径的功能。


如何导出深度图

好,我们像来讲深度图,在录制回放中点开渲染录像,再往下滑就能看到深度图这个给选项,但是它现在是无法选择的状态,见鼠标放上去会说“只支持使用PNG或OpenEXR格式进行深度图导出”,也就是说明我们渲染格式选错了,我们现在往上滑动将渲染格式改成OpenEXR的格式导出,ps:这里不用PNG格式导出是因为导出的深度图会损毁无法使用,可能之后的mod版本会修复。之后再将深度图这个选项选上导出ing,ps:如果你导出的深度图时开着光影的话是无法正确导出深度图的,导出完之后我们打开AE(或者可以读取OpenEXR格式的软件)将渲染好的OpenEXR格式按照序列的方式导入进去,导入进去之后会发现这并不是正确的深度图的样子,而且画面整体偏白的效果。这是因为OpenEXR是一个多通道的格式,现在这个文件里是有r,g,b和z通道(通道就说我们所说的深度通道),我们要将我们需要的通道提取出来以便我们使用。点击xxx.exr图层,给这个图层加上EXtractoR效果,加上之后我们发现画面的颜色恢复了正常,也就是说明我们导出的OpenEXR的通道是正确的,之后我们点开效果空间点击多通道的位置,会弹出选择rgb三个颜色映射到哪个通道,将rgb三个颜色都映射到z通道上,点击确定,看到画面会呈现一片白的画面,不必担心这是因为我们数值还没设置对,继续看到效果空间这边将我们的白色数值拉高就会看到画面由近到远的呈现出来了,这个白色数值不是固定的,按照各自的要求随意调整,这样我们的深度图就出来了


深度图的应用

后期景深
我们将我们渲染好的视频和我刚刚提取出来的深度图放到同一个合成里,记得深度图最好要放到画面的下面并且给隐藏掉,接下来我们给画面的图层加上插件Fast Bokeh,点开画面的效果空间,将深度图贴图选择到我们导出的深度图,并给边上的源改成效果和蒙版,再将模糊半径拉高就能有景深的效果了。如果觉得景深范围太小了,我们点开区域控制,将聚焦区宽度拉高就行了,如果现在聚焦的位置不是我们需要的,只要给焦距调到适合的位置就行了,如果你在上一步更改白色数值变成改成黑色数值只要给反转深度图贴图勾选上就有同样的效果,其他参数我就不细讲了,请给位自行摸索。

画面合成
画面合成与我们之前所说的后期景深操作差不多,但是在调整黑色与白色值都要调整,黑色值要大于白色值,调整到适合的位置之后将被合成图层放在xxx.exr下,将轨道遮罩改成亮度翻转遮罩“xxx.exr”,这样就能完美给被合成图层合成到画面里。


如何导出摄像机位置

到这里我们就讲完了深度图的应用,接下来我们来讲一下如何导出摄像机位置。
我们回到录制回放,往下滑,看到导出摄像路径,给这个选项选上,在点渲染,渲染完之后看到成品文件夹里多了一个camera.glb的文件,这个就是我们要的摄像机路径了。glb这个文件我们是不能直接导入到AE中去的,我们得在三维软件里读取之后直接导入到AE里,在我用的三维软件里只有Blender能满足导入.glb文件且能快速导入AE中,打开Blender,再导入摄像机路径之前先确保你Blender的帧率与你渲染出来的视频帧率一致,点开输出属性,就能看到帧率选项,给它改成与渲染出来的视频一样的帧率,之后再导入glb文件,导入进来之后要与时间轴的范围要去摄像机路径一样的长度,输出属性,帧范围,结束点。现在看画面是看不到摄像机的,因为摄像机的位置是按照游戏里的坐标来导出来的,所以我们要给摄像机的位置重置到世界中心,导出来的摄像机路径的第零帧是不能用的,所以我们给时间指针移到第一帧,点击物体属性,再变换里的下面点开变换增量,将变换增量里的位置XYZ改成变换下的位置XYZ的相反数,也就是乘于个-1,这样摄像机就回到了世界00的位置,如果想看到摄像机路径的话只要点开物体属性下的运动路径,再点击计算,弹出来的窗口直接点击确定就可以显示摄像机路径了,改完这些之后你要确保你AE与Blender都安装了BlenderAe插件,且同时打开Blender与AE,点击视图右上角的小箭头,就能看到BlenderAe插件,点击BlenderAe插件,点击连接到AE,记得给使用Ae合成中心点开,这样摄像机位置就是从画面中心当作起点,记得一定要先给场景集合里的摄像机选择上再点导出到AE里,不然会提示错误,等待一段时间游戏里的摄像机路径就导入到AE里了


摄像机路径的应用

如果你是会用AE的3D图层的话这里可以直接跳过,按照你之前的方法来操作,如果不会的话就继续向下看,点击要变成3D图层的图层,给它的像一个立方体的选项点上,这样这个图层的3D图层打开了,之后在给导出来的摄像机复制进来,如果你在上一步没有给摄像机试图转向北方的话我们先给变成3D图层位置改变一下,选中变成3D图层的图层和摄像机,在点字幕p就能出现这两个图层的位置参数,我们给摄像机的位置参数一摸一样的复制到3D图层的位置参数,我们看到视图就能看到3D图层在画面的中间,如果没有看到,只需要给3D图层旋转个90度并且给z轴数值减小即可看到,之后按照你自己的需求移动到指定位置。


复合应用

这里的复合应用是在画面合成与摄像机路径的结合,这两个结合在一起可以完美的将画面不存的文字或模型完美的融合在画面里。我在AE里没有找到可以完美融合在一起的方法,所以我们这边来用三维软件来合成渲染出来,在开始之前先确保有导出深度图与摄像机路径。好,打开Blender我们先将摄像机归位,我们先给视图层属性下的数据的z选项选择上,之后我们打开Blender自带的Compositing界面,给界面左上角的使用节点选项打开,加入Z通道合成,点击xxx添加,颜色,Z通道合成,我们为了更好的预览我们在添加一个预览器,添加,输出,预览器将Z通道合成的图像和Z对应的连接到预览器和合成上,我们还要给渲染层的深度链接到Z通道合成的Z上,记得是连在渲染图层的图像链接的下面不要连错了。之后我们要给深度图导入进来,这里导入可以直接拖入进去,但是要拖入exr序列的第0帧才行,为了更好的预览,我们给我们导入进来的exr的色彩空间调整正确,色彩空间,选择sRGB,因为我们要导入的是一个序列帧,我们给单张图像改成图像序列,给帧改成你序列最后一帧的数字,我们给点回Blender自带的Layout的界面,在导入你需要的模型或文字,移动到合适的位置,之后再回到Blender自带的Compositing界面,我们现在看到画面并没有我们刚才放的物体,想要预览的话我们点击渲染层右下角的渲染就能看到预览效果。在Blender上的操作已经操作完了,我们要给画面渲染出来用因为我们不需要exr里的颜色通道,所以我们就直接给exr的图像链接直接断开选渲染,给EXR之前连在Z通道合成的图像的Alpha调成0,颜色调成黑色,之后我们设置一下渲染设置,点开输出设置,我们先确认一下分辨率和帧率是否正确,在往下滑找到输出选项,给文件格式改成PNG,因为PNG的更显效果会好一些,设置好输出路径再给颜色改成RGBA,色深和压缩自行调整,输出设置也设置完了,这样就可以导出了,点击CTRL加f12就可以渲染了,等待渲染完之后将PNG序列导入AE中,与原素材放在一起,如果渲染出来的PNG序列的长度长于原始素材的话只要给PNG序列的时间重映射打开于原始素材对齐即可。如果为了导入的模型什么能与画面能呈现一样的光影效果,可以给看KK的视频如何为Minecraft3D镜头创建真实的光影效果,b站搬运链接https://www.bilibili.com/video/BV1324y1X7eb/,油管链接https://www.youtube.com/watch?v=Mu9kPkJrlPo&t=7s,其他的自行摸索,如果中途有遇到什么问题可以到闲聊群询问

视频会晚些到,现在就先看着文字教程吧


教程结束