网易首页 > 网易号 > 正文 申请入驻

Python在Unreal中提交Deadline渲染

0
分享至

简述

这篇文章主要是分享如何在UE里面配置Deadline渲染,以及如何用Python来实现自动化。

deadline下载页面: https://downloads.thinkboxsoftware.com/

  • Deadline版本:10.3.1

  • Unreal Engine版本:5.6

需要注意的是,UE不像通常DCC软件,它不能单个机器渲染单个帧。 农场分发最小单位为单个Level Sequence,即为每台电脑渲染一个Sequencer

1.在你的项目目录中,新建Plugins文件夹。 将插件从Deadline仓库的plugins\UnrealEngine5\UnrealEnginePlugins这个位置拷贝进项目的Plugins文件夹。

然后启动项目,这个时候大概率会弹提示,说版本不对要重新编译。

点完Yes大概率也编译不成功,接下来试试我的方法。

先把两个插件从Plugins目录移除,放在一个别的位置。

执行下面的命令来编译UnrealDeadlineService(-package 参数为编译后的目标路径)

"C:\Program Files\Epic Games\UE_5.6\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -plugin="D:\test\rebuild_ue_plugins\UnrealDeadlineService\UnrealDeadlineService.uplugin" -package="D:\test\rebuild_ue_plugins\5.6\UnrealDeadlineService"
注意:编译前需要安装 Visual Studio 2022,并按照官方说明文档进行组件安装。

编译UnrealDeadlineService成功后,拷贝到自己项目的Plugins中,启动UE。 在插件管理器中加载UnrealDeadlineService插件,然后关闭UE。

再将MoviePipelineDeadline拷贝到Plugins目录,启动UE。 这个时候应该会弹窗,提示编译MoviePipelineDeadline,点击Yes。

等待编译成功,就可以在插件管理器加载两个插件了。

1.打开Project Settings,搜索"movie render"关键字,修改Default Remote ExecutorDefault Executor Job两个设置。

2.创建一个Deadline Job Preset

创建后,右键Edit,可以修改这个任务的任务名,用什么池或组。

3.创建一个新的LevelSequencer相机,简单key一个动画,然后打开Movie Render Queue

4.在打开的Movie Render Queue中,为任务指定deadline预设。

5.点击Render(Remote)按钮,提交渲染。 正常来说这里就把任务提交到Deadline了。

不过遇到了报错:

看下日志

找到插件中的这个文件Plugins\MoviePipelineDeadline\Content\Python\remote_executor.py

# line 338 if setting.get_class() == unreal.MoviePipelineGameOverrideSetting.static_class():  game_override_class = setting.game_mode_override

查看一下setting是个unreal.MoviePipelineGameOverrideSetting对象。 文档里有说明game_mode_override方法被弃用,推荐用soft_game_mode_override

修改代码,重启UE。

if setting.get_class() == unreal.MoviePipelineGameOverrideSetting.static_class():  game_override_class = setting.soft_game_mode_override

再试一次,提交成功并渲染完成了。

使用脚本提交渲染

1.首先创建Deadline Job Preset

import unreal presets_name = 'my_seq_deadline_presets' path = '/Game/Sequencer/Presets' asset_tool = unreal.AssetToolsHelpers.get_asset_tools() # 创建Deadline任务预设 presets = asset_tool.create_asset(asset_name=presets_name,                                   package_path=path,                                   asset_class=unreal.DeadlineJobPreset,                                   factory=unreal.DeadlineJobPresetFactory())

2.修改deadline任务参数,并保存。

# 修改一些任务参数 presets.job_preset_struct.name = 'My Test Preset' presets.job_preset_struct.comment = 'This is a test preset...' presets.job_preset_struct.priority = 100 presets.job_preset_struct.group = 'unreal' # 保存 unreal.EditorAssetLibrary.save_asset(presets.get_path_name(), True)

3.创建渲染设置

presets_name = 'my_seq_render_presets' path = '/Game/Sequencer/Presets' # 创建渲染设置 render_config = asset_tool.create_asset(     asset_name=presets_name,     package_path=path,     asset_class=unreal.MoviePipelinePrimaryConfig,     factory=unreal.MoviePipelinePrimaryConfigFactory() )

4.修改渲染设置

# 输出路径 output_path = r'D:\test\test_ue_output\{version}' # 获取输出设置对象 output_setting = render_config.find_or_add_setting_by_class(unreal.MoviePipelineOutputSetting) # 修改一些输出设置 output_setting.output_directory = unreal.DirectoryPath(output_path) output_setting.file_name_format = r'{sequence_name}_lay_{version}.{frame_number}' output_setting.use_custom_frame_rate = True output_setting.output_frame_rate = unreal.FrameRate(numerator=24000, denominator=1001) output_setting.output_resolution = unreal.IntPoint(1920, 1080) # 添加渲染格式 render_config.find_or_add_setting_by_class(unreal.MoviePipelineImageSequenceOutput_EXR) # 添加延迟渲染设置 render_config.find_or_add_setting_by_class(unreal.MoviePipelineDeferredPassBase) # 保存 unreal.EditorAssetLibrary.save_asset(render_config.get_path_name(), True)

5.在Movie Render Queue里添加Sequencer渲染任务。

# 创建一个新的渲染任务 new_job = pipeline_queue.allocate_new_job(unreal.MoviePipelineDeadlineExecutorJob) # 设置level level_path = "/Game/testaa.testaa" level_asset = unreal.SoftObjectPath(level_path) new_job.map  = level_asset # 设置Sequencer sequence_path = "/Game/my_seq.my_seq" level_sequence = unreal.SoftObjectPath(sequence_path) new_job.sequence = level_sequence # 任务名称 new_job.job_name = 'my_seq'

6.指定configjob preset

new_job.job_preset = presets   new_job.set_configuration(render_config)

到这里就设置完成了,点击渲染即可。

参考文档

deadline文档如何在UE中配置插件 https://docs.thinkboxsoftware.com/products/deadline/10.3/1_User%20Manual/manual/app-unreal-engine-5.html
如何将影片渲染队列用于高质量渲染 https://dev.epicgames.com/documentation/zh-cn/unreal-engine/rendering-high-quality-frames-with-movie-render-queue-in-unreal-engine?application_version=5.0#renderinglocallyversusremotely
Movie Render Queue使用说明 https://dev.epicgames.com/documentation/en-us/unreal-engine/render-cinematics-in-unreal-engine?application_version=5.4
MoviePipelineExecutorJob 对象 https://dev.epicgames.com/documentation/en-us/unreal-engine/python-api/class/MoviePipelineExecutorJob?application_version=5.6#unreal.MoviePipelineExecutorJob
如何使用命令行渲染 https://github.com/leixingyu/unrealUtil/blob/master/render/renderCmd.py

全文完

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
特朗普不敢对中方做的事,美财长做了,马斯克:这下麻烦大了

特朗普不敢对中方做的事,美财长做了,马斯克:这下麻烦大了

风雨与阳光
2026-08-21 20:47:05
宇树科技上市到底坑了多少人?

宇树科技上市到底坑了多少人?

流苏晚晴
2026-08-21 23:33:56
歼-16飞9小时到达埃及,首次部署非洲,一细节让美以震惊

歼-16飞9小时到达埃及,首次部署非洲,一细节让美以震惊

世家宝
2026-08-21 23:10:50
北大女教授翻车!

北大女教授翻车!

新动察
2026-08-21 14:37:30
离谱至极!恒大二把手夏海钧在美国的邻居,竟然是另一个逃跑富豪

离谱至极!恒大二把手夏海钧在美国的邻居,竟然是另一个逃跑富豪

就一点
2026-08-21 16:35:35
特里:阿隆索首秀开门红很重要,切尔西2-1富勒姆

特里:阿隆索首秀开门红很重要,切尔西2-1富勒姆

懂球帝
2026-08-21 21:13:09
许家印10年砸170亿元打造恒大队!李玮锋:他让我在合同上填年薪

许家印10年砸170亿元打造恒大队!李玮锋:他让我在合同上填年薪

风过乡
2026-08-21 18:11:55
《牛来》出品公司曾做装修业务,网传改拍电影是因政府欠100万工程款,计划用电影扶持资金平账

《牛来》出品公司曾做装修业务,网传改拍电影是因政府欠100万工程款,计划用电影扶持资金平账

西虹市闲话
2026-08-21 13:19:14
打疯了!日本女排3-0狂胜+进攻轰41分,亚锦赛中国女排争冠压力大

打疯了!日本女排3-0狂胜+进攻轰41分,亚锦赛中国女排争冠压力大

南海浪花
2026-08-21 20:16:17
沉默一天后,高市内阁艰难开口,说出的话却让日本人大感耻辱

沉默一天后,高市内阁艰难开口,说出的话却让日本人大感耻辱

健身狂人
2026-08-21 13:25:22
“SHE”成员Selina任家萱近况曝光,体重超160斤,社交账号已经停止使用半年以上

“SHE”成员Selina任家萱近况曝光,体重超160斤,社交账号已经停止使用半年以上

大风新闻
2026-08-21 10:04:35
耿彦波神话一戳即破

耿彦波神话一戳即破

老萧杂说
2026-08-21 22:55:34
江苏一男子不慎将自己反锁在新能源汽车后备箱,近40℃高温下被困5小时,用语音助手拨通110报警,警方通过电话中警笛声强弱成功锁定位置

江苏一男子不慎将自己反锁在新能源汽车后备箱,近40℃高温下被困5小时,用语音助手拨通110报警,警方通过电话中警笛声强弱成功锁定位置

大风新闻
2026-08-21 19:43:04
美债危机爆发临界点大幅提前,恐拖累全球金融市场 美财政部“无上限”救市效果短暂

美债危机爆发临界点大幅提前,恐拖累全球金融市场 美财政部“无上限”救市效果短暂

红星新闻
2026-08-21 17:07:29
义乌62岁超高龄孕妇顺利诞下6斤重男婴,医生:从来没有碰到过,为此进行了专册管理,“不建议超高龄孕妇妊娠”

义乌62岁超高龄孕妇顺利诞下6斤重男婴,医生:从来没有碰到过,为此进行了专册管理,“不建议超高龄孕妇妊娠”

鲁中晨报
2026-08-21 17:06:10
勃列日涅夫临终前三个月曾向亲信吐露:1979年中越开战当晚,苏军本已备好南下预案,却因一封绝密电报,连夜撤回了全部作战参谋

勃列日涅夫临终前三个月曾向亲信吐露:1979年中越开战当晚,苏军本已备好南下预案,却因一封绝密电报,连夜撤回了全部作战参谋

人生录
2026-08-22 00:05:13
中华人民共和国正式向全世界宣告两件大事:

中华人民共和国正式向全世界宣告两件大事:

叶葉夜
2026-08-17 22:56:14
大厂员工自爆:去年在大厂,年薪95万,女朋友父母爱答不理,今年上岸国家电网,人不到,叔叔阿姨吃饭都不让动筷子

大厂员工自爆:去年在大厂,年薪95万,女朋友父母爱答不理,今年上岸国家电网,人不到,叔叔阿姨吃饭都不让动筷子

LULU生活家
2026-08-21 20:10:30
4-0!C罗率队3连胜 回归首战建功 斩生涯第977球+连续25个赛季破门

4-0!C罗率队3连胜 回归首战建功 斩生涯第977球+连续25个赛季破门

我爱英超
2026-08-22 02:20:43
重磅罚单落地!17人终身禁足,足坛第三波清理风暴来袭

重磅罚单落地!17人终身禁足,足坛第三波清理风暴来袭

演绎轮回h
2026-08-21 13:37:15
2026-08-22 04:00:49
CG世界 incentive-icons
CG世界
分享国内外优秀CG作品,教程
5805文章数 8549关注度
往期回顾 全部

科技要闻

阿里AI的两面:云赚56亿,千问烧掉138亿

头条要闻

30岁女干部突遇洪水不幸牺牲 诸多细节公布

头条要闻

30岁女干部突遇洪水不幸牺牲 诸多细节公布

体育要闻

续哈登+招沃特森=骑士赌了

娱乐要闻

冯绍峰七夕带儿子游玩!次日聚会

财经要闻

蔡昉解读经济:扩大消费需求的政策思考

汽车要闻

2026成都车展:小鹏全阵容亮相 三款新车套件上新

态度原创

艺术
旅游
亲子
教育
手机

艺术要闻

警告:画面极度危险!你的瞳孔即将被这场视觉核爆炸成烟花!

旅游要闻

苍山洱海闻名天下,这座千年古楼,才是大理真正的历史见证人!

亲子要闻

不要让一群有梦想的孩子,输给现实。

教育要闻

8月24日|安阳师范学院2027年研究生招生直播宣讲活动即将开启

手机要闻

全球智能手机销量下滑 唯独苹果逆势增长表现亮眼

无障碍浏览 进入关怀版