找回密码
 立即注册
查看: 763|回复: 0

Blender 插件之 Blender for UE4

[复制链接]
发表于 2020-11-27 16:47 | 显示全部楼层 |阅读模式


https://www.zhihu.com/video/1253336977942360064
怎么使用?

使用Blender处理虚幻引擎4的对象包可能很繁琐。这就是为什么我创建加载项:“ Blender for UnrealEngine”的原因。通过允许您同时导出场景的所有资产,它简化了从Blender导出到Unreal Engine 4的方法。它甚至可以自动将它们分配到与虚幻引擎4管道相关的适当树形结构中!套接字和碰撞形状直接在Blender中创建。您可以精确选择需要导出的动画。它包括一个错误检查器,以防止潜在的问题并生成python脚本,可在Unreal Engine 4中使用该脚本将Blender项目中的Camera Objects和Animations导入Unreal Engine 4中的Level Level。所有Camera Objects及其动画将作为摄影机Acter。
    Blender 中如何导出资源如何将资源从Blender导入UE4插件的下载和安装
(一)Blender中如何导出资源

我们将看到如何准备要出口的资产。
    在3D视图(T)中打开“工具”面板,将其放大,打开“虚幻引擎4”主面板,然后转到“对象属性”面板。
    选择要导出的资产,然后将“导出类型”属性设置为“导出递归”。现在,对您要导出的所有对象重复该任务:

    具有此属性的每个对象将连同其所有子对象一起导出到Fbx文件中。如果您不想导出子级,则在子级的“对象属性”中为“导出类型”设置“未导出”,否则保留“自动”。默认情况下,Fbx文件的场景中心将等于搅拌器中对象的原点位置。因此,对象在Blender场景中的位置无关紧要。进入“高级对象属性面板”进行更改。对于骨架网格物体,需要将“骨架”的“导出”类型设置为“导出递归”。
   3.在导出面板中,单击“导出为UnrealEngine 4”按钮。
像静态网格物体一样导出集合

与集合一起导出只会像静态网格物体一样导出集合。
    在3D视图(T)中打开“工具”面板,将其放大,打开“虚幻引擎4”主面板,然后转到“收藏属性”面板。单击新按钮,然后选择要导出的集合。在导出面板中,单击“导出为UnrealEngine 4”按钮。


碰撞和Sockets

可以直接在搅拌器中为资产创建碰撞(StaticMesh)和套接字(Static / SkeletalMesh)。
    创建一个新的网格物体,它将成为您的对撞机形状(对于套接字,请创建一个Empty对象)。

    资产可以包含多个对撞机形状,但是每个对撞机必须使用不同的对象。
选择您的对撞机形状或为空,最后选择所有者对象。
    对于SkeletalMesh,在PoseMode中选择Empty(s),然后选择所有者骨骼。
打开“碰撞和套接字”面板,然后单击相应的按钮以将选择内容转换为对撞机或套接字(已转换的对撞机为绿色,现在是该资产的子代)。
    关于StaticMeshes碰撞:https : //http://docs.unrealengine.com/en-us/Engine/Content/FBX/StaticMeshes#collision。如果要创建胶囊,请在同一对象中使用2个球体。

    如果“未导出”子项包含对撞机,则该对撞机将不会作为子项导出。如果更改包含对撞机的对象的名称,则需要单击“检查潜在错误”按钮以更新所有对撞机的层次结构名称。
注意:插件将在X上以+90度导出套接字。插件优先选项中有一个选项


LOD

这仅适用于通过UnrealEnginePython导入的StaticMesh。
    选择要导出的资产,然后将“导出类型”属性设置为“导出递归”。现在,对所有LOD重复该任务,但还要选中“是否导出为LOD?”框。选择您的主要资产,然后打开面板“对象导入属性”。将LOD1,LOD2,...设置为所需的LOD。
动画

当然可以用骨骼导出动画。您可以使用“摄影表”窗口中的“动作编辑器”在一个场景中包含多个动画,也可以使用NonLinearAnimation。对于动作:
    选择您的SkeletalMesh并打开“动画属性”面板(不要忘记将“骨架”设置为“导出递归”)。在“摄影表”窗口中,选择“动作编辑器”模式并在动作上创建动画(/!\不要忘记使用假用户不丢失动画!)

    您可以将驱动程序用于变形目标。
    在“动画”面板的“属性”中,您可以设置骨骼网格物体的动画属性,例如“动画时间”,“质量”,并选择要导出的动画。
请注意,如果您的动画不是一个循环,则将“起始帧的偏移”设置为0,默认情况下将“起始帧的偏移”设置为1,因为在动画循环中,虚幻将播放第一帧和最后一帧,因此两次播放相同。
对于NLA:
    选择您的SkeletalMesh并打开“动画属性”面板(不要忘记将“骨架”设置为“导出递归”)在“动画”面板的“属性”中,可以设置骨骼网格物体的动画属性,例如“动画时间”,“质量”。如果只想将NLAnimation设置为“导出为未导出”,请选中“导出具有所需名称的Nla”框。
导出动画代理(在下一版本中)

如果要使用代理导出骨骼网格物体的动画,则应在代理上设置“导出递归”。勾选“The armature is a Proxy” 并选择子代理。
Alembic动画

Alembic导出可能要花费很多时间。
    选择要导出的资产(带有子项或网格的“ Armature”)。将导出类型属性设置为“导出递归”。选中导出为“ Alembic动画”框。不要忘记选中要导出的资产类型中的Alembic动画框。确保动画至少播放一次以进行烘焙缓存。您还可以使用命令“ bpy.ops.ptcache.bake_all()”来烘焙物理。
材质

材质未导入,您必须在虚幻引擎中创建它们。
    在虚幻引擎中创建材质。在Blender中用相同的名称创建基本材料。如果使用导入脚本,则将“物料搜索位置”设置为所需的搜索位置。如果不使用导入脚本,则需要在导入时将“材质”>“虚幻中的搜索位置”设置为所需的位置。
骨骼和根骨骼

搅拌器将电枢像根骨头一样输出。要删除此骨骼,请在“插件偏好设置”中选中“删除根骨骼”框。如果您不想删除它,则可以设置所需的根骨骼名称。如果使用的名称是“ Armature”,虚幻引擎将删除根骨骼。您也可以设置根骨骼比例。如果修改此设置,则必须导入动画。
Sine v0.2.6.1单位比例不会更改虚幻中导出的网格的比例。如果您使用0.01的单位比例,我建议使用2.5版https://github.com/xavier150/Blender-For-UnrealEngine-Addons/releases/tag/v.0.2.5
Sine v0.2.7插件适用于所有工作流程。您可以使用Unreal单位比例:0.01与Blender Unit比例:1.00或自定义单位比例,具体取决于您的生产。
示例文件:AssetsExample_BlenderSize.blend | AssetsExample_UnrealSize.blend
这由插件自动管理,但是如果需要,您可以选择在出口时如何缩放装备。注意:如果您想优化导出时间,我建议使用虚幻单位比例为0.01
UV

您可以在虚幻引擎中校正极端紫外线以获得更好的质量。如果在Blender中使用UVProject修改器,这将很有用。


命名规则

默认情况下,术语是与虚幻引擎管道相关联的定义,但是如果您使用其他管道,则可以对其进行更改。默认情况下,所有资产都导出到Blender(.blend)的位置,可以根据需要进行更改。根据资产,您还可以在“对象属性”面板>“子文件夹”中设置一个子文件夹。术语还包含脚本的名称和其他文件。




插件设置

不要忘记查看“插件偏好设置”。
导出进程

现在我们可以导出所有资产。
    打开导出面板。

    您可以选择要导出的对象的类型。
单击检查潜在错误按钮。
    这将更新所有层次结构名称,更正错误的属性并显示潜在的错误。
3.现在单击“导出为UnrealEngine 4”按钮。-动画,姿势和相机可能需要很长时间才能导出。-有关更多信息,请参见Blender系统控制台。-在每次新导出时,旧文件将被覆盖。
4.默认情况下,文件放置在ExportedFbx文件夹中blender(.blend)文件的位置。

(二)如何将资源从Blender导入UE4
根据对象类型的不同,导入参数也不相同。
根据对象类型,导入参数不同。
    对于静态网格物体资产,您需要勾选CombineMeshs。对于静态网格物体资产,您需要标记组合对于骨骼网格物体资产,如果您使用形状关键点,则需要勾选导入变形目标。对于骨骼网格物体,您需要插入转换变形目标,如果您使用形状键动画资产应在骨架网格后进口。动画资产应该导入后的骨骼网格对于动画资产,请取消选中“导入网格”,然后在“骨架”中选择“骨架”。对于动画资产取消插入引入网格并在骷髅中选择你的骷髅

    对于Alembic动画资产,请勾选“合并网格”。对于Alembic动画资产,合并网格将ImportType设置为Skeletal。将ImportType设置为Skeletal。将FlipU 设置为False,将 FlipV 设置为 True。将flipboard设置为False,将flipboard设置为True设置比例为100,-100,100(xyz)。设置比例为100,-100,100(xyz)将“旋转”设置为90,0,0(xyz)。设置旋转为90,0,0(xyz)
    注意:Alembic的导出和导入可能会花费很多时间。注意:Alembic进出口可能需要很长时间
Alembic示例: 阿莱姆比克的例子:

在虚幻引擎Vania python中导入资产

    在Blender中,打开面板“导入脚本”,然后输入要导入资产的位置。检查潜在的错误并处理导出。打开面板剪贴板复制,然后单击适当的按钮以轻松复制用于导入资产的命令。在虚幻引擎中打开输出日志。窗口>开发人员工具>输出日志在输出日志中,运行复制的命令:
      py "C:\[Folder]\ImportSequencerScript.py" 与您的脚本文件位置。默认情况下,文件ImportAssetScript.py放置在文件夹ExportedFbx \中的搅拌器文件的位置。

使用UnrealEnginePython在Unreal引擎中导入资产

    在Blender中,打开面板“导入脚本”,然后输入要导入资产的位置。检查潜在的错误并处理导出。打开面板剪贴板复制,然后单击适当的按钮以轻松复制用于导入资产的命令。安装UnrealEnginePython:https : //http://github.com/20tab/UnrealEnginePython在虚幻引擎中打开Python控制台。窗口>开发人员工具> Python控制台在Python控制台中,运行复制的命令:
      unreal_engine.py_exec(r"C:\[Folder]\ImportSequencerScript.py") 与您的脚本文件位置。默认情况下,文件ImportAssetScript.py放置在文件夹ExportedFbx \中的搅拌器文件的位置。

范例影片:范例影片:https : //youtu.be/FOFBfiE5EEQ
将Blender相机导入UE Vania python

可以通过摄像机剪切管理和动画在特殊轨道(如FOV(FocalLength),光圈(F档)和焦距)上将完整的序列从搅拌机导入到虚幻中。相机剪辑是通过标记https://docs.blender.org/manual/en/dev/animation/markers.html#bind-camera-to-marker生成的Complete sequences can be imported from the blender into the illusion on special tracks (such as Fov (FocalLength) , aperture (f-stop) , and focal length) via camera clipping management and animation. Camera clips are generated by https://docs.blender.org/manual/en/dev/animation/markers.html#bind-camera-to-marker
    在Blender中,打开面板Import Script并使用名称定义要将定序器导入Unreal Engine的位置。在 Blender 中打开面板导入脚本并定义你想导入序列引擎的位置。选择场景摄像机,然后在“导出递归”上设置“导出类型”属性。现在,对所有摄像机重复该任务。选择你的场景相机,并在“导出递归”上设置导出类型属性。现在对所有的相机重复这个任务。检查潜在的错误并处理导出。检查潜在的错误并处理导出。打开面板剪贴板复制,然后单击适当的按钮以轻松复制用于导入音序器的命令。打开面板剪贴板复制,然后点击相应的按钮,轻松复制导入音序器的命令。在虚幻引擎中打开输出日志。窗口>开发人员工具>输出日志在虚幻引擎中打开输出日志在输出日志中,运行以下命令:在输出日志中运行以下命令:

    py "C:\[Folder]\ImportSequencerScript.py" 和您的ImportSequencerScript文件位置。默认情况下,文件ImportAssetScript.py放置在文件夹ExportedFbx \中的搅拌器文件的位置。
使用UnrealEnginePython将Blender相机导入Unreal Sequencer



可以通过摄像机剪切管理和动画在特殊轨道(如FOV(FocalLength),光圈(F档)和焦距)上将完整的序列从搅拌机导入到虚幻中。相机剪辑是通过标记https://docs.blender.org/manual/en/dev/animation/markers.html#bind-camera-to-marker生成的
    在Blender中,打开面板Import Script并使用名称定义要将定序器导入Unreal Engine的位置。选择场景摄像机,然后在“导出递归”上设置“导出类型”属性。现在,对所有摄像机重复该任务。检查潜在的错误并处理导出。打开面板剪贴板复制,然后单击适当的按钮以轻松复制用于导入音序器的命令。安装UnrealEnginePython:https : //http://github.com/20tab/UnrealEnginePython在虚幻引擎中打开Python控制台。窗口>开发人员工具> Python控制台在Python控制台中,运行以下命令:

    unreal_engine.py_exec(r'C:\[Folder]\ImportSequencerScript.py') 和您的ImportSequencerScript文件位置。默认情况下,文件ImportAssetScript.py放置在文件夹ExportedFbx \中的搅拌器文件的位置。如果重新导入序列,它将替换之前导入的序列,否则将在其旁边导入另一个名称。
范例影片:范例影片:https : //youtu.be/0PQlN-y2h2Q
使用虚幻的Vania python

注意:从0.2.3版开始,您现在可以使用Vania Python,但是某些功能当前不可用。
    在Blender中,在插件首选项中将Use20TabScript设置为False。 在Blender中,在插件首选项中将Use20TabScript设置为False。在虚幻引擎中启用Pyton Editor Script 插件,Editor Scripting Utilities and Sequencer Scripting。
(三)插件的下载和安装

安装

下载插件:
https://github.com/xavier150/Blender-For-UnrealEngine-Addons/releases/download/v0.2.7/blender-for-unrealengine_2.8.zip
百度网盘:
链接:https://pan.baidu.com/s/18llQOE9M7JmVZywvArrePA          提取码:0beu
    打开用户首选项(Ctrl + Alt + U),然后在“附件”下,单击“从文件安装”。然后导航到您下载的.zip文件并选择它。
    现在它应该出现在窗口中,您可以勾选右上角的复选框以启用它。
    如果您希望每次启动Blender时都启用加载项,请单击用户设置窗口底部的“保存用户设置”。
    您可以在右侧面板(N)中找到附加组件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 10:14 , Processed in 0.105190 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表