从虚幻引擎迁移到UNIGINE
本节从Unreal Engine用户的角度简要概述了UNIGINE,并提供了基本信息,可帮助您将Unreal Engine的经验转移到UNIGINE。
快速词汇表#
本章在左侧匹配常见的Unreal Engine术语,在右侧匹配其UNIGINE等效项(或粗略等效项)。 UNIGINE关键字直接链接到相关文章,以为您提供更深入的信息。
Category | Unreal Engine | UNIGINE |
---|---|---|
Editor UI | World Outliner | World Nodes Hierarchy window |
Details Panel | Parameters window | |
Content Browser | Asset Browser window | |
Viewport | Editor Viewport | |
Scene | Level | World |
Gameplay Types | Actor, Pawn | Node |
Blueprint Class | NodeReference + Component System | |
Meshes | Static Mesh | Static Mesh, Dynamic Mesh |
Skeletal Mesh | Skinned Mesh | |
Effects | Effect, Particle, Cascade | Particle System |
Game UI | UMG (Unreal Motion Graphics) | GUI |
Materials | Material, Material Editor | Base Material |
Material Instance | User Material | |
Programming | C++ | C++ / C# |
Blueprint | UnigineScript | |
Physics | Line Trace | getIntersection |
Primitive Component | Rigid Body | |
Collision | Shape | |
Physics Constraint | Joint | |
Animation | Sequencer | Tracker |
项目和SDK管理#
作为Unreal Engine用户,您习惯于使用Epic Games Launcher,该应用程序可简化查找,下载和管理项目及安装方式的方式。除此之外,您还可以直接通过Unreal Editor管理项目:创建一个新项目并在现有项目之间切换。
UNIGINE SDK Browser是开始使用UNIGINE Engine的第一步。该应用程序合并了所有与项目有关的任务,使您可以管理项目和已安装的SDK,还可以访问示例和知识库。
UNIGINE提供了几个编程工作流程,为轻松适应Unreal Engine中的编程经验,建议您使用 C ++组件系统。使用SDK浏览器中的此工作流程创建项目的步骤如下:
- 单击My Projects部分中的Create New;
- 在其他选项中,在API + IDE字段中选择C++ (Visual Studio 2022)项目类型。
- 如果要使项目与支持的VR头戴式耳机兼容,请在Template字段中选择VR选项。这将启用必需的插件并添加模板资源(有关 VR兼容性的更多信息);
- 检查Component System功能是否尚未启用。
- 单击Create New Project。
- 完成后,单击Open Editor以运行UnigineEditor。单击Open Code IDE通过默认的IDE打开项目的源代码。
编辑器界面#
在下面,您可以看到Unreal Editor和UnigineEditor的接口。图像中的界面元素采用颜色编码以指示常用功能。每个元素都有一个标签来显示UNIGINE的等效项。通过调整大小,拖放选项卡式窗口的大小,UnigineEditor的布局可以完全可自定义。
要了解有关UnigineEditor界面的更多信息,请阅读本文。
视口#
UnigineEditor中的Unreal Editor Viewports和Editor Viewports非常相似。您可以根据需要将多个Editor视口用作。
默认情况下,Editor视口会渲染其自己的Editor Camera视图,您可以切换到场景中存在的另一个摄像机,并以与在UE中导航CameraActor相同的方式对其进行控制。
编辑器视口中的导航与UE视口中的导航几乎相同。但是,请熟悉场景导航,以免丢失细节。
Unreal Editor Viewport
|
UNIGINE Editor Viewport
|
您可以使用:
- Camera panel可以在摄像机之间切换并配置当前摄像机。
- Rendering Debug以显示渲染缓冲区的内容,与在UE4中使用Buffer Visualization Mode相同。
- Navigation panel可快速设置并在摄像机速度预设之间切换并更改摄像机位置。
- ViewCube可以在透视 / 正投影投影和相机的控制方向之间切换。
播放和模拟#
您习惯于Unreal Editor具有Play In Editor (PIE)模式,该模式在当前视口中启动游戏并代表最终版本。您也可以在其他模式下播放,并使用Simulate In Editor (SIE)模式预览蓝图逻辑,动画和物理模拟。
在UNIGINE中,您可以使用顶部工具栏中的切换启用动画和物理模拟。您可以打开Engine视口(菜单:Windows -> Engine Viewport),在此可以引导当前Main Player。
要检查应用程序逻辑,您将需要通过以下任意一种方式来运行应用程序当前已编译二进制文件的实例:
-
Via SDK Browser by clicking Run:
您也可以通过单击“ Run”按钮下的省略号来使用自定义设置运行应用程序(例如,选择“调试”二进制文件)。
-
通过使用默认在项目文件夹中创建的launcher:
- _ launch_debug —项目的调试版本的启动器。
- _ launch_release —项目发行版本的启动器。
- 通过直接从所使用的IDE运行项目。
默认情况下,在运行时单击鼠标时会抓住鼠标光标,以提供相机移动控制,按Esc释放光标。有两种方法可以设置默认的输入绑定(键状态和鼠标行为):
输出记录#
与UE4一样,UNIGINE的控制台也用于标准输入,输出和错误记录。提供了一组控制台命令。
它在UnigineEditor和正在运行的应用程序中均可用。要在编辑器中打开控制台窗口,请转到Windows -> Console菜单:
按下grave accent (`)键可以调用内置控制台:
您可以使用它从代码中打印用户消息。
打包用于发布的最终版本#
在Unreal Engine中,您习惯于通过编辑器来构建项目。在UNIGINE中,打包最终版本也通过UnigineEditor完成。
项目和文件#
目录和文件#
就像UE项目一样,UNIGINE中的项目存储在其自己的文件夹中,项目设置存储在*.project文件中。项目文件夹中有多个子文件夹,其中存储了内容和源文件以及各种配置文件和二进制文件。最重要的是data和source子文件夹。
在UNIGINE中,每个项目都有一个data文件夹。类似于UE项目的Content文件夹,这是项目资源的存储位置。要将资源导入项目,只需将文件拖放到项目的data目录中,它们就会被自动导入并显示在资源浏览器中。当您使用外部程序对文件进行更改时,编辑器中的资源将自动更新。
core文件夹包含内置核心资源。这些资源是只读的,默认情况下可用于每个项目。
支持的文件类型#
UNIGINE与UE一样,支持最常用的文件类型和某些特定的文件类型:
资源类型 | 支持的格式 |
---|---|
几何 | .fbx, .obj, .3ds, .dae, .glb/.gltf, .stp/.step, .igs/.iges, .brep, .stl |
贴图 | .png, .jpeg, .tif, .tga, .rgba, .psd, .hdr, .dds, and more |
声音和视频 | .wav, .mp3, .oga/.ogg, .ogv |
字型 | .ttf |
从虚幻引擎中获取资源#
UNIGINE不支持导入Unreal Engine资源(.uasset)。使用您在UE项目中使用的源内容文件或以UNIGINE支持的格式之一导出资源。
网格
您可以将在UE中使用的资源导入到UNIGINE:将网格导出为FBX模型,然后导入到UNIGINE,根据模型检查所需的导入选项。
材质
与其他引擎类似,UNIGINE使用 PBR材质。此外,UNIGINE同时支持 Metalness和Specular工作流程,并具有丰富的现成材质库,可用于创建几乎所有材质。因此,可以使用 mesh_base 材质在UNIGINE中重新创建在UE中为模型创建的材质,UNIGINE中的基础材质用于基于物理的材质。
纹理
可以将纹理作为模型的一部分或单独导入,然后将其应用于网格。要导入纹理,您可能需要事先进行一些调整。例如,UNIGINE中的Shading纹理将金属性,粗糙度,镜面和微纤维贴图存储在其相应的通道(RGBA)中,因此您需要使用第三方软件(例如GIMP或Photoshop)修改纹理,然后将其导入到UNIGINE。
UE中使用的Normal纹理与UNIGINE兼容,因此您可以将常规纹理导入UNIGINE,而无需进行任何更改。
动画
如果要导入骨骼动画模型,请从UE将其导出为FBX文件,并在导入UNIGINE的过程中启用Import Animations选项。您还可以使用其他选项来微调导入。
有关更多详细信息,请参见导入建议。
等级#
两个引擎中的3D场景概念相同。但是,Unreal Engine和UNIGINE使用不同的坐标系。
Unreal Engine | UNIGINE |
---|---|
单独的3D场景称为Levels(也称为Maps)。 UE使用左手坐标系,其中垂直方向通常由+Z轴表示。 轴和方向:
正旋转角设置顺时针旋转。 档案格式:*.umap |
单独的3D场景称为Worlds。 UNIGINE使用右手坐标系,其中垂直方向通常由+Z轴表示。 轴和方向:
正旋转角设置逆时针旋转。 档案格式:*.world |
要在UE4中更改项目的起始地图,请打开Project Settings -> Maps & Modes并指定游戏和编辑器的默认地图。在UNIGINE中,您在创建版本(File -> Create Build)时指定项目的Default World。对于UnigineEditor和开发版本,您可以通过使用自定义设置运行项目或编辑器来显式覆盖默认世界:
- 在SDK浏览器中,单击Run或Open Editor按钮下的省略号;
-
在打开的“自定义运行选项”表单中,在Arguments字段中指定以下启动命令行选项:
-console_command "world_load your_world_name"
场景对象#
本节简要介绍了两个引擎中的基本场景对象,以及它们的基本异同。
Unreal Engine | UNIGINE |
---|---|
世界大纲
基本场景对象-Actor。 它是可以放置或生成到世界中的基础对象。 可以将演员组织成一个层次结构(父子关系)。 Actor是Components的容器,用于定义其功能。 Actor的位置,旋转和比例存储在Scene Component中。通常,默认情况下Actors 具有根组件,该组件可以是Scene Component的任何子类。 程序员可以从默认的 UActorComponent 继承来使用C ++或Blueprint Script创建自定义组件。 |
世界层次结构窗口
Node是一种基本类型,从该基本类型可以继承所有类型的场景对象。其中一些可视化显示:对象,贴图和效果-它们都具有表面来表示其几何形状(网格),而其他(光源,播放器等)不可见。 节点可以组织成一个层次结构(父子关系)。 节点的基本功能由其类型决定。可以使用属性和组件系统添加其他功能。 每个节点都有一个转换矩阵,该矩阵对其在世界上的位置,旋转和比例进行编码。 不论类型如何,添加到场景中的所有场景对象都称为节点。 |
蓝图类#
UE中的工作流程基于Blueprint Classes。通常,您是用组件构建一个复杂的对象(Actor),选择它,然后单击Blueprint / Add Script按钮(在“详细信息”面板中)。然后,选择一个保存Blueprint Class的位置,然后单击Create Blueprint保存新的Blueprint Class。
在UNIGINE中,您可以从不同类型的节点构建所需的层次结构,并为其分配所需的材质和属性。您可以使用 Dummy 节点对多个节点进行分组。
为了使复杂的对象在您的世界中成为实例,您可以将节点或节点的层次结构另存为 Node Reference ,可以实例化和在编辑器中进行了修改,或者在运行时进行了必要的多次修改。
要了解有关创建和管理Node References的更多信息,请点击以下链接:
如何合作?#
Unreal Editor提供了开箱即用的Source Control功能。而且,其多用户编辑工作流建立在服务器-客户端模型的基础上,支持共享环境中的许多会话以进行协作工作。
在UNIGINE中,所有的原生文件格式默认情况下都是基于文本的,所以您可以使用VCSIntegration插件来简化与版本控制系统(SVN, Git)以及任何您习惯的VCS的工作,并合并世界,节点和其他资源。您可以使用Mount Points扩展文件系统以保留共享资源。此外,正常的工作流程是使用单独的节点层来拆分不同团队成员的工作,因此在合并项目修改时不需要匹配冲突的文件。
请查看相关文章以获取更多详细信息:
- 配置版本控制
摄影机#
渲染必需的实体相机在两个引擎中的处理方式略有不同。
在UE4中,CameraComponent负责捕获视图并将其发送给渲染。通常,您可以通过在GameMode设置中指定Pawn actor并附加一个CameraComponent作为默认字符。
在UNIGINE中,Camera是与渲染相关的对象,并由世界上的Player节点实现。为了简化通过输入设备(键盘,鼠标,操纵杆)控制的最常用摄像机的创建,提供了几种具有不同行为的播放器类型:
- Dummy是一个简单的相机包装器。您可以将其用于静态摄像机或通过自定义逻辑进行增强。
- Spectator是一款自由飞行的相机。
- Persecutor是具有目标并围绕指定距离运行的飞行相机。它是适用于第三人称相机的简单易用的解决方案。
- Actor能够提供与风景的物理互动。它具有坚固的物理体,近似于胶囊形状。它是针对第一人称角色的即用型简单解决方案。
一次只能将一个player渲染到视口中。要在UnigineEditor的Editor视口中的相机之间切换,请使用Camera面板:
通过检查播放器的Main Player标志,可以设置默认播放器,它将在编辑器的Engine视口中以及运行应用程序时在世界启动时呈现。
项目设定#
通常通过Project Settings窗口在Unreal Editor中进行总体项目设置调整。音频,渲染,物理,输入级别和其他设置会影响整个项目。同样,World Settings面板提供当前级别的设置。
在UNIGINE中,可通过Runtime部分的Windows -> Settings菜单使用“通用设置和首选项” 。为每个世界分别设置World设置。
保存的配置#
您可以在Unreal Editor的项目设置中使用导出和导入按钮将设置的值保存到外部配置文件(.ini)中,并在必要时加载它们。
在UNIGINE中,您可以保存和加载一般物理,声音和渲染设置。预设分别存储为资源,扩展名为*.physics,*.sound和*.render。使用Settings窗口的Load和Save .* asset按钮可使用相应设置部分的预设。
已保存的资源将显示在资源浏览器中。您可以通过双击所需的.render资源来加载渲染设置。
预设不是UNIGINE中的仅编辑器功能。您可以使用 物理 , 声音 和 渲染 类来管理对应设置的预设,例如,在运行时在质量级别之间切换。
图形#
在UE4中,图形质量的设置大部分收集在Engine - Rendering部分中。
在UNIGINE中,世界的渲染设置可以在Settings窗口的Render部分中找到。您还可以使用Rendering菜单打开和关闭最常见的渲染功能:
UNIGINE中没有依赖平台的质量调整,您应该编写自己的逻辑来控制质量水平。为此,您可以使用渲染预设。
延迟和前向阴影#
默认情况下,Unreal Engine使用延迟渲染器。您可以在Project Setting -> Rendering部分中切换到 Forward Shading Renderer ,在某些情况下可以提供更好的性能。
UNIGINE具有固定的 Rendering Sequence (固定序列),由完整的延迟渲染器与正向渲染技术的组合表示:
您可以通过跳过某些渲染阶段来减少计算量。观看有关使用Microprofile工具优化渲染的视频教程:
- 视频教程:艺术家的Microprofile
后期处理#
Unreal Engine使用 PostProcessVolume 来定义局部(或全局)覆盖后处理参数和效果,使用线性插值混合参数的体积。在UNIGINE中,您将必须编写自己的逻辑以在不同空间的设置之间进行平滑插值(如果出现此要求)。
本节列出了在UNIGINE中也可以实现的所有常见UE4后处理技术。
Unreal Engine | UNIGINE |
---|---|
Anti-aliasing methods:
|
Anti-aliasing methods: |
Eye Adaptation (Auto-Exposure) | Camera Effects: |
Bloom | |
Filmic Tonemapper | |
White Balance | |
Dirt Mask | |
Lens Flare | |
Color Grading LUT (Lookup Texture) | |
Depth of Field | Depth of Field |
Post Process Materials | Postprocess Materials |
Chromatic Aberration | The post_color_correction postprocess material |
Film Grain | |
Screen Space Reflections | SSR |
Screen-Space Ambient Occlusion | Screen-Space Ambient Occlusion |
Screen Space Global Illumination | SSRTGI |
Contact Shadows | Screen Space Shadows |
Motion Blur | Motion Blur |
Screen Percentage | Supersampling |