ue4 导出渲染全景视频序列帧

因为又需要在ue4里面导出全景图片

所以在这里记录下快速导出图片的方式

顺便说一下这个用ue自带的插件导出是立体全景图片,所以会输出左右眼

这里使用的版本是ue 4.16.3

另外导出速度很慢,会一度以为是卡死了,其实并没有卡死,可以看输出目录

ue4 导出渲染全景视频序列帧_第1张图片

先在项目里勾选插件,切换项目的时候勾上


ue4 导出渲染全景视频序列帧_第2张图片

上图防止性能造成的掉帧


ue4 导出渲染全景视频序列帧_第3张图片

这个防止贴图模糊,其他一些防止贴图和渲染异常问题可以看下面的

http://blog.csdn.net/shenmifangke/article/details/52072969



ue4 导出渲染全景视频序列帧_第4张图片

然后上面两个

当然不想输入的可以打开level blueprint  把下面的复制到蓝图里去

Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_22"
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetSystemLibrary',MemberName="ExecuteConsoleCommand")
   NodePosX=224
   NodePosY=-16
   NodeGuid=11178A754D409AB621A487A830D334FA
   CustomProperties Pin (PinId=30971BE3417E9BED6A6ED59AD40C7566,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Event_0 4DEBACD54F6CDBA70521C5A3703A5E9A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=8B4F50EB42EBE0647DAE1C8E4F5727FE,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_23 01A6FD42488A91CBE56099BA826CEB3C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=31721CDF4824F2E7CB4D089286DA2A3F,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nKismet System Library Reference",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/Engine.KismetSystemLibrary',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Script/Engine.Default__KismetSystemLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=AEA672F945920785F2E509A08AF22748,PinName="WorldContextObject",PinToolTip="World Context Object\nObject Reference",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/CoreUObject.Object',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=61ABAE364F5F1F8AD9B59C8E31882A0C,PinName="Command",PinToolTip="Command\nString\n\nCommand to send to the console",PinType.PinCategory="string",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="SP.OutputDir E:/ccccc",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=F19B5D494174445B1306F38A20A1CB03,PinName="SpecificPlayer",PinToolTip="Specific Player\nPlayer Controller Reference\n\nIf specified, the console command will be routed through the specified player",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/Engine.PlayerController',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_23"
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetSystemLibrary',MemberName="ExecuteConsoleCommand")
   NodePosX=480
   NodePosY=16
   NodeGuid=61E787F04964F936FB0342AC79CE318A
   CustomProperties Pin (PinId=01A6FD42488A91CBE56099BA826CEB3C,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_22 8B4F50EB42EBE0647DAE1C8E4F5727FE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=2BA80EAA42CBC1A4AF89F296A0226E01,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=3BF47BE34AF53040ADEF028D2D749950,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nKismet System Library Reference",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/Engine.KismetSystemLibrary',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Script/Engine.Default__KismetSystemLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=6FC7C43347758A7D138E92951588D28F,PinName="WorldContextObject",PinToolTip="World Context Object\nObject Reference",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/CoreUObject.Object',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=AD9934904A296DC7B4341C94499E5AC5,PinName="Command",PinToolTip="Command\nString\n\nCommand to send to the console",PinType.PinCategory="string",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="SP.PanoramicMovie 0 60",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
   CustomProperties Pin (PinId=6A188951457AFD3F80FA5786D9B01A62,PinName="SpecificPlayer",PinToolTip="Specific Player\nPlayer Controller Reference\n\nIf specified, the console command will be routed through the specified player",PinType.PinCategory="object",PinType.PinSubCategoryObject=Class'/Script/Engine.PlayerController',PinType.PinSubCategoryMemberReference=(),PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
End Object
记得左上角的compile 应该没有问题,比如上面是60帧

一般只要弄上面的两个就行了,当然测试的时候为了速度可以减小下尺寸

控制输出图片大小可以再连一个 设置宽度,高度自动是宽度的一半

ue4 导出渲染全景视频序列帧_第5张图片

记得要把SP.StepCaptureWidth 1024放在前面,这个表示导出的图都是1024×512默认是4096×2048的

然后就能运行开始录制了,会录制到SP.PanoramicMovie设置的300帧结束



为了保证恒定帧率 还要以固定帧率打开编辑器

-usefixedtimestep -fps=60 -notexturestreaming

上面这句可以加载编辑器的快捷方式里


一般编辑器位置在

E:\Program Files\Epic Games\4.13\Engine\Binaries\Win64

E:\Program Files\Epic Games\UE_4.16\Engine\Binaries\Win64

这种位置



中文参考

https://docs.unrealengine.com/latest/CHN/Platforms/VR/StereoPanoramicCapture/QuickStart/index.html

其他设置可以参考

https://docs.unrealengine.com/latest/INT/Platforms/VR/StereoPanoramicCapture/TipsAndTricks/index.html


各个参数含义可以看这里

https://docs.unrealengine.com/latest/INT/Platforms/VR/StereoPanoramicCapture/Reference/index.html

还有一个完整的官方教程

https://www.unrealengine.com/zh-CN/blog/capturing-stereoscopic-360-screenshots-videos-movies-unreal-engine-4

你可能感兴趣的:(ue4)