UE4用蓝图在游戏内截图功能的多种方法
Posted 一只路过的仓鼠鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4用蓝图在游戏内截图功能的多种方法相关的知识,希望对你有一定的参考价值。
一、简单的截全屏
如,按下1键后截取当前的屏幕内容
如图所示
首先,右键空白的地方,输入exe后会出现一个默认选中的节点
选中后,在里面输入
Shot
这样就可以截取当前的屏幕内容(不包括UI),如下图所示
截图为PNG格式,保存在默认目录项目\\Saved\\Screenshots\\Windows里面
如果要截取更高分辨率的截图,可以输入
HighResShot 1
来进行更高分辨率的截图,不要忘记空格,后面的数字代表多少倍当前的分辨率,1是当前,2是当前的2倍,但数字越大,截图的时候就会越卡。
注:这些方法都不会截到UI,目录和上面的一样
后面的数字也可以直接换成需要的分辨率,如:
HighResShot 2048x2048
代表截取这个大小的图片,这种正方形的图片默认是屏幕的中间
二、更加自定义截图方法
除了上述内容外,还可以加入一些自定义内容,如保存的路径和文件名等内容
为了更方便一些自定义内容,这里建议使用append附加节点
如图所示,第一行的内容为
HighResShot filename=
第二行使用项目用户目录,如果在编辑器内会保存在当前目录下,如果打包后,生成的截图就会保存在c盘的项目名称的目录下,如果想和游戏路径一致,这里可以用启动目录
第三行新建一个字符串变量作为文件夹的名字,用来自定义文件夹命名
不要忘记在下一行加个 \\ 符号,否则会被识别为文件名
然后,就可以新建一个字符串变量作为文件的命名了
上图中的F行内容为一个空格,这个很重要,一定不能忘记
再下一行就想是要截取的分辨率
这种截图方式也不会截到UI,生成格式为PNG
更多的自定义内容:
下面我们加一行空格
然后在下一行可以输入想要截取的区域
如:
这四个数字分别为 X Y W H四个维度
X和Y就是图片的左上角的点,如果不知写什么,可以新建一个控件,鼠标指示的地方会有显示X和Y的值,用这个点就好
(屏幕的左上角为0 0点,即X=0 Y=0)
现在,把鼠标的位置放到了那个按钮的左上角(鼠标截不到)
这个位置就是X=235 Y=175
这里与DPI缩放什么的无关
使用自定义区域需要注意,如果输入的区域大于了屏幕的区域,将会导致程序崩溃。
后面,我们还可以添加更多的参数
下面的官网文档的描述
添加的时候不要忘记空格
如:
*关于自定义深度遮罩
官方的文档中是这样描述的,这里选择一些这里需要的步骤:
在开发过程中,可能需要捕获游戏世界中的特定物体制作宣传材料。 但是,这需要手动从背景中剔除物体,耗时且伤神。 为加快此进程,HRSST 拥有一个名为 使用自定义深度作为遮罩(Use custom depth as mask) 的选项,可将世界场景中的物体分开。 工具这部分的设置和使用可通过以下步骤进行。
1.选择需要捕获的对象,然后在 细节(Details) 中启用 渲染自定义深度(Render Custom Depth) 选项。
2.打开 HRSST 并选择需要捕获的区域。 确保尝试捕获的区域已包含启用 渲染自定义深度(Render Custom Depth) 的网格体。
3.启用 使用自定义深度作为遮罩(Use custom depth as mask) 选项。
参考官方文档:https://docs.unrealengine.com/zh-CN/WorkingWithMedia/TakingScreenshots/index.html
以上是关于UE4用蓝图在游戏内截图功能的多种方法的主要内容,如果未能解决你的问题,请参考以下文章