首页  >>  来自播客: User Upload Audio 更新   反馈

Why Unreal Engine 5.2 is a BIG Deal - YouTube

发布时间 2023-05-11 00:00:00    来源

中英文字稿  

The second major update for Unreal Engine 5 just released called 5.2, and there are two reasons why it is a big deal. They are procedural content generation and substrate materials.
Unreal Engine 5的第二个重大更新已经发布,名为5.2,它有两个原因很重要。它们是程序化内容生成和基底材料。这个版本的更新非常重要。其中,在游戏设计中使用程序化的技术进行内容生成,大大提高了游戏开发的效果和效率;而基底材料的支持,又进一步提高了游戏的真实感和美观度。

Procedural content generation is a powerful tool that allows you to use random generation to create complex models and environments. It is artist-friendly programming, the less you define rules which perform specific actions. Procedural tools are common in a lot of 3D programs.
程序化内容生成是一种强大的工具,可以利用随机生成来创建复杂的模型和环境。这是一种艺术家友好的编程方式,规则越少,可以完成特定操作。程序化工具在许多3D程序中很常见。

Substance Designer allows a user to generate materials procedurally without any textures, and Blender has geometry nodes, a powerful node-based editor to create complex animations and models quickly.
Substance Designer允许用户在不使用纹理的情况下,通过程序化方法生成材质。Blender具有几何节点,这是一个强大的基于节点的编辑器,可以快速创建复杂的动画和模型。

Procedural tools are central if you have any repetitive tasks. When Epic Games made the Matrix City demo, they generated it procedurally. Since the city is made up of millions of unique objects, it isn't practical to hand-place every single asset. Instead, they set rules to determine which streets to include, where buildings should appear, and the size of those buildings.
如果你有任何重复性的任务,那么程序化工具是非常重要的。当 Epic Games 制作《黑客帝国:矩阵之城》演示时,他们采用了程序化生成的方式。由于这座城市由数百万个不同的物体组成,手动放置每个资产是不可行的。相反,他们设定规则来决定要包括哪些街道,建筑物应该出现在哪里以及这些建筑的尺寸。

What would take months for an artist to create can now take seconds to generate, and they could pick from an infinite amount of random I-Cities. But in order to generate the city, they had to use a program called Houdini. Houdini is a powerful software that is used in most movies and games. But if you ever use Houdini, then you know it is really complicated.
一个艺术家可能需要数月时间才能创造出来的东西,现在只需要几秒钟即可生成,并且他们可以从无限数量的随机I-Cities(意思为科技城市)中进行选择。但为了生成这座城市,他们必须使用一个叫做Houdini的程序。Houdini是一款强大的软件,在大多数电影和游戏中都有使用。但如果你曾经使用过Houdini,那么你会知道它非常复杂。

If you want to create your own procedural tools for Unreal Engine, you have to use Houdini. Until now, procedural content generation, or PCG for short, brings the power of procedural tools into the engine. We don't have to use another program. We can do all our work directly in UE5.
如果想要为虚幻引擎创建自己的程序工具,您必须使用Houdini。直到现在,程序内容生成(PCG)将程序工具的强大功能引入引擎中。我们不必再使用其他程序,我们可以直接在UE5中完成所有工作。

For example, let's create a simple forest on the right as a PCG graph. To do so, we first have to add points to the landscape. Use a surface sampler. In order to preview the points, press the D key. Now I think there's a little bit too many points. So what I'll do is drag from out and use a density filter to remove the points. I can increase the lower bound, which will slowly start to get rid of points.
例如,让我们在右侧创建一个简单的森林作为生成图。为此,我们首先要在地形上添加点。使用表面采样器。为了预览这些点,按下 D 键。现在我觉得点太多了一点。所以我将从外面拖拽并使用密度过滤器来删除这些点。我可以增加下限,这样就会逐渐消除这些点。

To add random rotation and scale, use a transform point stove. Absolute rotation, so the trees are always facing up, set a max rotation of 360, so each point faces a different direction, and for the scale, be a random range from 0.8 to 1.2. Finally, to spawn static meshes, use a static mesh spawner, and spawn two meshes. One will be a tree, and the other will be a different tree.
为了添加随机旋转和缩放效果,可以使用一个变换点烤箱。为了让树木始终朝上,可以设置最大旋转角度为360度,这样每个点会面向不同的方向,缩放范围也可以设置为从0.8到1.2的随机值。最后,为了生成静态网格,可以使用静态网格生成器,并生成两个网格,一个是树,另一个是不同的树。

I'm able to move it around, and those trees will automatically generate randomly for me. And if I want this to affect my entire landscape, within a surface sampler, check Unbounded. Just like that, we can create a massive force quickly using the power of procedural tools.
我可以移动它,而那些树木会自动生成随机位置。如果我想让它影响整个景观,在表面采样器里选中“无边界”选项。这样,我们可以利用程序工具的强大功能快速创建一个大规模的力量。

While this example is simple, you can make these graphs and rules as complicated as you want. This graph right here creates an oasis. Let's say you were creating a desert environment, and you want to add an oasis. Well, all I have to do is drag in the oasis PCG, and it has automatically created for us. I didn't have to hand place every asset. Thanks to the rules I set up, it spawns instantly.
虽然这个例子很简单,但你可以根据自己的需要把这些图形和规则制作复杂化。这里的图形可以创造一个绿洲。假设你正在创建一个沙漠环境,想要加入一个绿洲。那么,我只需要拖入绿洲的PCG,它就自动为我们创建了。我不用手动放置每个元素。由于我设置的规则,它会在瞬间生成。

I can even move it around, and it will generate a new oasis each time on top of the landscape. Or I can make this a really long oasis. And if we feel like this oasis has to be huge, then I can scale it up in all the axes. So we have just a massive force of palm trees that the player can't explore. I can even change properties directly in the editor. That's why I don't have to jump into the PCG graph every time I want to make a change.
我甚至可以移动它,每次都会在地形上生成一个新的绿洲。或者我可以将其变成一个非常长的绿洲。如果我们觉得这个绿洲必须很大,那么我可以在各个轴向上进行缩放。这样我们就有了一组巨大的棕榈树,玩家无法探索。我甚至可以在编辑器中直接更改属性。这就是为什么我不必每次想要做出更改就要跳到PCG图中的原因。

For example, I expose the property tree amount, and if I want less trees, I could just bring this down to something like 0.05, or less trees in the oasis. Or if I want a lot of trees, then I could bring this to something high like 0.8, which will create a super dense environment.
举例来说,我暴露了属性树数量,如果我想减少树的数量,我只需将其调整到0.05或更低,以减少绿洲中的树木。或者,如果我想要更多的树,那么我可以将其调整到像0.8这样的高值,从而创建一个超级密集的环境。

Obviously, oasis are not square. They do not look like that in real life. So I can also use splines to control the shape of PCGs. Let's say if I want a roundish oasis, then by just moving the splines, scaling, and rotating them, I'm able to get the exact shape of the oasis that I want. Splines are not just for creating shapes. I made one that will cut a path through the PCG, removing rocks and trees.
显然,绿洲不是方形的。它们在现实生活中也不是那个样子的。因此,我也可以使用样条来控制PCG的形状。比如说,如果我想要一个略微圆形的绿洲,那么只需移动、缩放和旋转样条,我就能得到我想要的绿洲的确切形状。样条不仅仅用于创建形状。我制作了一个样条,可以穿过PCG,去除岩石和树木。

So if I just drag it out right there, grab one of the edges, and drag this out, you'll see that I'm slowly cutting through the oasis environment. So maybe travelers always go through this path when they're cutting through the oasis. They can also interact with the environment. It would have made sense for trees to grow from the water, so the PCG knows where the water is, and does not add trees there.
所以,如果我把它拉到那里,拿住一条边缘并拖出来,你就会看到我在慢慢地穿越绿洲环境。或许旅行者们总是穿过这条路线穿越绿洲。他们也能与环境互动。在水中长树就是有道理的,因此流程化生成程序知道水在哪里,并不会在那里添加树木。

We're not just limited to natural environments. You can generate pretty much anything, even completely new 3D models. And in a demo released by Epic, they generated this entire world. Really, the possibilities are endless.
我们不仅仅局限于自然环境。您可以生成几乎任何东西,甚至是全新的三维模型。在 Epic 发布的一个演示中,他们生成了整个世界。实际上,可能性是无限的。

Also, unlike Unini, procedural content generation runs in real time. That means you could have gameplay elements affected. For example, the player can press a button, and the whole world changes.
此外,与Unini不同,程序化内容生成是实时运行的。这意味着你可以在游戏过程中受到其影响。例如,玩家可以按下一个按钮,整个世界就会改变。

The second big addition is a brand new material system called substrate, which makes the process of combining materials a lot easier and more realistic. Oftentimes, objects are not made up of one material. They're made up of several materials layered on top of each other.
第二个重要的新功能是一种全新的材料系统,称为“基底材料”,它使材料组合的过程更加容易和更加真实。往往,对象不是由一个材料制成的,它们是由多种材料堆叠在一起制成的。

For example, this sphere is made up of two materials, metal and dirt on top of it. If we look at the materials graph, we have a metal down here and dirt above. The only problem is that we have to use lurp nodes to combine them, and lurp nodes do not take into account which layer is on top, or their thickness, which can lead to unnatural materials. Substrate changes this.
例如,这个球体由两种材料组成,底部是金属,上面铺着泥土。如果我们查看材料图表,我们可以看到金属在下面,泥土在上面。唯一的问题是我们必须使用lerp节点来组合它们,而lerp节点不考虑哪一层在顶部或它们的厚度,这可能会导致材料不自然。Substrate可以解决这个问题。

It allows us to combine materials on top of each other, and is set a layer's thickness. This means each of these materials are calculating their own reflection. Here's that material combining metal and dirt in 5.1, and here's a similar one in 5.2. 5.2 material looks a lot better.
这使我们能够在彼此之上组合材料,并设定层厚度。这意味着这些材料都在计算它们自己的反射。这是将金属和泥土材料组合在5.1中,这是类似的5.2材料。5.2材料看起来要好得多。

With substrate glasses now easier to render, and we could combine two materials in unique ways, like with this orange material on the bottom and blue on top. A material like this was impossible before substrates. You can create advanced materials like Opal, which Epic Games showed off. It is combining four different layers, which are all realistically interacting with each other. Notice how there are multiple layers of reflection.
现在使用基板玻璃更容易呈现,我们可以独特地将两种材料结合在一起,比如底部的橙色材料和上面的蓝色材料。在有基板之前,这样的材料是不可能的。您可以创建像Epic Games展示的欧宝(Opal)这样的高级材料。它结合了四个不同的层,这些层彼此之间都以逼真的方式互动。请注意,有多层反射。

Of course there are other improvements to the engine. When Unreal Engine released, introduced a new Lighty Sys I've called Lumin, which gave us high performance dynamic bounce lighting. It also introduced a new shadow rendering system called Virtual Shadow Maps. Virtual Shadow Maps allow for soft shadows and shadows at far distances.
当然,引擎还有其他改进。当虚幻引擎发布时,它引入了一个名为Lumin的新灯光系统,它给我们带来了高性能的动态反弹照明。它还引入了一个名为虚拟阴影贴图的新阴影渲染系统。虚拟阴影贴图可以提供软阴影和远距离阴影。

This was impossible using unreligive forest cascaded shadow maps, which would disappear at far distances. And while Virtual Shadow Maps are great, they are not as accurate as ray-trade shadows, which shoot thousands of rays from a light source to create shadows just like in real life. If you want to enable ray-trade shadows, you can enable them on any lights in the advanced settings.
使用非关联的森林级联阴影图无法实现远距离视野,而虚拟阴影图虽然非常好,但精确度不如射线追踪阴影。射线追踪阴影可以通过从光源发射成千上万条射线,像真实生活一样创建阴影。如果您想启用射线追踪阴影功能,可以在高级设置中启用任何灯光。

In 5.2 ray-trade shadows got a major upgrade. Now there are a lot more accurate and can cast smaller shadows. It is most noticeable on area lights. There are ray-trade shadows in 5.1, and here they are in 5.2. Notice how the shadows look more natural and sharper. Other changes to lighting include more accurate reflections, and metahuman occlusion, which was improved on thin surfaces, and hair which was glitchy before 5.2.
在5.2版本中,射线追踪阴影得到了重要的升级,现在更加精确,能够投射更小的阴影。特别是在面光源上更加明显。在5.1版本中已经实现了射线追踪阴影,而在5.2版本中则进一步升级。请注意阴影看起来更自然和更锐利的变化。此外,照明方面还有更准确的反射和机器人遮挡优化,尤其是在薄表面和头发方面,此前在5.2版本之前存在一些问题。

Another big addition to UE5 is the ability to create your own custom tools with scriptable tools. In Unreal, under modes, we have all these useful tools, for example, modeling mode gives me access to tools to edit and create models. The only problem is, if we want to create our own tool, we would have to code it in C++, which is really complicated. Scriptable tools changes this.
UE5增加了一项重大功能:使用脚本工具创建自己的自定义工具。在虚幻引擎中,我们在模式下拥有许多有用的工具,例如建模模式可以提供编辑和创建模型的工具。唯一的问题是,如果我们想创建自己的工具,我们必须使用复杂的C++编程。脚本工具改变了这一点。

It allows us to create custom tools without a single line of code and blueprints, and while it does look complicated, it is a lot easier than coding it. For example, why this is useful, a comma workflow, especially with placing natural objects, is I drag out the mesh, I then rotate it randomly, so it doesn't face the same direction as other meshes, and then I scale it.
它允许我们创建定制工具,而无需编写单行代码或蓝图。虽然看起来可能很复杂,但实际上比编码容易得多。例如,为什么这很有用,通过逗号工作流,特别是当我们放置自然对象时,我拉出网格,然后随机旋转它,这样它就不会面对其他网格相同的方向,最后缩放它。

I create a tool that automates most of that process. To get it, all I have to do is select scriptable tools, and then I get to select my own custom tool. I'm able to set it to mesh, so let me go add in the rock, and now I get a preview of what that rock will look like in the world, and to place it, hold down the left mouse button, and then drag to then increase or decrease its size. So very quickly, I'm able to add different size rocks in my world, and I can even add a random rotation in the settings. So now this rock has a random rotation, each time I set it. I also added the option to place a random mesh from a list. So if I just select that, now it's going to pick a random mesh to spawn, each time.
我创建了一个工具,可以自动化大部分的过程。为了获得它,我只需要选择可编程工具,然后选择我自己的自定义工具。我能够将它设置为网格,所以让我添加这块石头,现在我可以在世界中看到这块石头的预览,为了放置它,按住左键,然后拖动来增加或减少它的大小。所以,我可以在我的世界中快速添加不同大小的石头,甚至可以在设置中添加随机旋转。所以现在这块石头每次设置时都有一个随机旋转。我还添加了从列表中放置随机网格的选项。所以如果我只选择那个,现在它将每次选择一个随机网格来生成。

I work a lot faster with this tool, and in the future I can create more tools to speed up my workflow. Scriptable tools can also interact with procedural content generation, and geometry script, which means we can pretty much create any custom tool.
我用这个工具的速度更快,将来我可以创建更多的工具来加速我的工作流程。可编写脚本的工具也可以与程序化内容生成和几何脚本进行交互,这意味着我们几乎可以创建任何自定义工具。

Speaking of tools, for most of the modeling mode tools, we now get this little widget in the bottom left-hand corner, which allows us to input accurate changes. For example, if I bring this up, and I want this to be exactly 300 meters, then I get type in 300 right here. Before this tool, we have to guess. Now we know exactly what we are doing.
说到工具,对于大多数建模模式工具,我们现在在左下角得到了这个小小的小部件,它允许我们输入精确的更改。例如,如果我打开它,并且我希望这个长度正好是300米,那么我就可以在这里输入300。在使用这个工具之前,我们必须猜测,现在我们知道我们正在做什么。

Those were all the major changes of UE5.2. These are just the ones I thought are important.
以上就是UE5.2的所有主要变化,这些只是我认为重要的部分。

Of course, there are hundreds of changes in bug fixes with this release, so if you are curious, you can check out the release notes, or the Unreal Engine roadmap.
当然,这个版本修复了许多缺陷,其中包含数百个更新。如果你感到好奇,可以查看发布说明或虚幻引擎路线图。

Unreal is more important than ever, because half of all announced next-gen games are being made on UE5. There's no better time to learn Unreal Engine than now.
现在比以往任何时候都更加重要学习虚幻引擎,因为其中一半的新一代游戏都是用UE5制作的。没有比现在更好的时机去学习虚幻引擎了。

Luckily for you, I have an entire free course right here on YouTube, which goes over all the essentials to learn UE. You can check it out in the description below.
幸运的是,我在YouTube上有一整个免费课程,讲解了学习UE所需的所有基础知识。您可以在下方的描述中查看它。