您需要 登录 才可以下载或查看,没有账号?注册
x
Introduction
My name is Salva Gómez. I am originally from Spain but have been living in Canada for the last 5 years. I first studied Industrial Electronics and Automation Engineering followed by a Master’s in Industrial Design back in Spain, then I worked there for a couple of years as a mechanical designer/engineer.
介绍
我的名字是萨尔瓦·戈麦斯。我来自西班牙,但在过去的5年里一直住在加拿大。我首先在西班牙学习工业电子和自动化工程,然后获得工业设计硕士学位,然后在那里担任了几年的机械设计师/工程师。
I always loved art, design, and technology, so when I discovered 3D design during my engineering studies, I immediately fell in love and knew that was what I wanted to do. Then after my work experience in Spain, I came to Montreal where I perfected my skills in 3D. I worked in a small company for two and a half years doing ArchViz with Unreal Engine and then I moved to my current job in Pixomondo as Virtual Production Lighting Lead. During my time in Pixomondo, I contributed to building virtual environments using Unreal for TV shows like Star Trek: Discovery, Star Trek: Strange New Worlds and Avatar: The Last Airbender.
我一直热爱艺术,设计和技术,所以当我在工程学习期间发现3D设计时,我立即爱上了它,并知道这就是我想做的。在西班牙工作之后,我来到蒙特利尔,在那里我完善了我的3D技能。我在一家小公司工作了两年半,使用虚幻引擎做ArchViz,然后我转到了目前在Pixomondo的工作,担任虚拟制作光照主管。在Pixomondo期间,我为使用虚幻引擎为《星际迷航:发现号》、《星际迷航:奇异新世界》和《阿凡达:最后的Airbender》等电视节目构建虚拟环境做出了贡献。
The Doors Of Durin Project
I love The Lord Of The Rings movies and books, and this project was a tribute to that. At the same time, I was excited about the new possibilities Unreal Engine 5 had to offer and wanted to test out the latest features they developed, mostly Nanite and Lumen. My main reference/inspiration was the same sequence of The Doors of Durin from the movie The Fellowship of the Ring. I chose this sequence because it’s so iconic and I love its mood in the movie, so I tried to recreate that in Unreal Engine by adding my own touch.
都灵项目的大门
我喜欢《指环王》的电影和书籍,这个项目就是对它的致敬。与此同时,我对虚幻引擎5提供的新可能性感到兴奋,并希望测试他们开发的最新功能,主要是Nanite和Lumen。我的主要参考/灵感来自电影《指环王》中《杜林之门》的同一序列。我选择这个序列是因为它非常具有标志性,我喜欢它在电影中的情绪,所以我试图通过添加自己的风格在虚幻引擎中重现它。
The Modeling
For this scene, I focused on lighting, mood, composition, and shaders. I used Megascans as a base for most of the assets I needed, like rocks, cliffs, weapons, etc. I modeled the doors in 3ds Max using a big cliff as a base. The trees are done in SpeedTree and the staff is a mix of different branches that I assembled together in 3ds Max and textured in Substance 3D Painter. I set up a master material for all the assets and used instances of that master to control the individual parameters of roughness, albedo, normal, etc., to get the desired look.
建模
对于这个场景,我专注于照明、情绪、构图和着色器。我使用Megascan作为我需要的大多数资产的基础,比如岩石、悬崖、武器等。我在3ds Max中使用一个大悬崖作为基础来建模门。这些树是在SpeedTree中完成的,工作人员是我在3ds Max中组装在一起的不同分支的混合体,并在Substance 3D Painter中进行了纹理处理。我为所有资源设置了一个主材质,并使用该主控形状的实例来控制粗糙度、反照率、法线等各个参数,以获得所需的外观。
I used Nanite for most of the assets, and it was great after all this time using Unreal Engine 4 and having to keep in mind polycount, creating LODs, etc., for performance reasons. It felt great to just drag and drop a 1 million poly cliff into the scene and see that the framerate wasn’t going down. I could see there are still some unsupported features for Nanite, like translucency, foliage, and masked materials, but hopefully, the guys from Epic Games will have a solution for that soon.
我使用Nanite来制作大部分资源,使用虚幻引擎4这段时间后,由于性能原因,我必须牢记多边形计数,创建LOD等,这真是太棒了。只需将100万的多边形悬崖拖放到场景中,并看到帧速率没有下降,感觉很棒。我可以看到Nanite仍然有一些不受支持的功能,例如半透明性,树叶和蒙版材料,但希望Epic Games的家伙们很快就会有一个解决方案。
The Texturing
To set up the door, I brought it into Substance 3D Painter after modeling it in 3ds Max to get normal and emissive textures that I would use afterwards in Unreal Engine to create the material. I used the original image of the door from the book The Fellowship Of The Ring as a texture, projected it into the geometry, and then exported the maps to use in Unreal.
纹理
为了设置门,我在3ds Max中对它进行建模后,将其引入Substance 3D Painter中,以获得法态和自发光纹理,然后我会在虚幻引擎中使用这些纹理来创建材质。我使用《指环王》一书中的门的原始图像作为纹理,将其投影到几何体中,然后导出贴图以在虚幻中使用。
When I was setting up the material, I used the emissive mask that I got from Substance 3D Painter as a base and then multiplied it by 2 different noise textures. I used a sequencer to animate the different parameters of the material, like the tiling scale of the noise textures, rotation, contrast, and the different multipliers and linear interpolations that I added to get more breakup in the animation.
当我设置材质时,我使用从Substance 3D Painter获得的自发光蒙版作为基础,然后将其乘以2种不同的噪声纹理。我使用音序器对材质的不同参数进行动画处理,例如噪声纹理的平铺比例、旋转、对比度,以及我为在动画中添加更多分手而添加的不同乘数和线性插值。
The Composition
To get a sense of the scale and composition, I always start blocking out the scene using the basic shapes from the engine content. Once I have the main elements in the scene, I set up the camera views and do the first pass on the lighting, very basic, just to have an idea of the direction, color, and intensity of the light. Once I have all that set up, I start populating the scene with assets.
组成
为了了解比例和构图,我总是开始使用引擎内容中的基本形状来遮挡场景。一旦我有了场景中的主要元素,我就设置了摄像机视图,并在照明上做了第一次传递,非常基本,只是为了了解光线的方向,颜色和强度。完成所有这些设置后,我开始用资源填充场景。
Most of the assets that I used for the ground were rocks, so the first thing I did was to create a base for those rocks. I created a big plane in 3ds Max, then tessellated it until it had enough resolution, and applied a displacement modifier using a high-resolution pebble texture. Thanks to Nanite, I could import this directly into my scene without issues.
Then on top of that base, I started placing some rocks to get some breakup and variation. I also created a landscape layer below the rocks and applied a ground/dirt material to it; after that, I sculpted it to make it blend with the rocks. Setting up RVT also helped the overall blending between the rocks and the terrain.
我用于地面的大部分资产都是岩石,所以我做的第一件事就是为这些岩石创建一个基础。我在 3ds Max 中创建了一个大平面,然后对其进行细分,直到它具有足够的分辨率,并使用高分辨率鹅卵石纹理应用置换修改器。多亏了Nanite,我可以毫无问题地将其直接导入到我的场景中。
然后在那个基地的顶部,我开始放置一些石头来获得一些分解和变化。我还在岩石下面创建了一个景观层,并对其应用了地面/泥土材料;之后,我雕刻了它,使它与岩石融为一体。设置RVT也有助于岩石和地形之间的整体融合。
Then, I set up some big cliffs that I used as the wall of the mountain where the entrance of the mines is. I also used RVT in these assets, so we didn’t see a hard edge where they were connecting with the ground.
然后,我设置了一些大悬崖,我用它们作为矿井入口所在的山墙。我还在这些资产中使用了RVT,所以我们没有看到它们与地面连接的硬边。
For the trees, I mainly used SpeedTree. I created 4 different variations of trees but ended up using 2 of them. I used a couple of tree stumps that showed the roots in a similar way to what I previously had in mind as a base. Then, I built the trunk and the rest of the tree in SpeedTree. Next, I used Substance 3D Painter to match the stump and the rest of the tree textures so we wouldn’t see any seam, and this ended up working pretty well.
Once I imported them to Unreal, I set up the SpeedTree wind inside the trees' materials and created a parameter for the intensity. The wind in the scene was driven by a wind directional source.
对于树木,我主要使用SpeedTree。我创建了4种不同的树变体,但最终使用了其中的2种。我用了几棵树桩,以类似于我以前想到的基础的方式显示树根。然后,我在SpeedTree中构建了树干和树的其余部分。接下来,我使用Substance 3D Painter来匹配树桩和树木纹理的其余部分,这样我们就不会看到任何接缝,这最终效果很好。
将它们导入虚幻引擎后,我在树木材质中设置了 SpeedTree 风,并为强度创建了一个参数。场景中的风是由风向源驱动的。
The Lighting
As for the lighting, I normally try to keep it simple, mostly in exterior scenes, where I try to use just 2 light sources: skylight and directional. I try to keep as few additional/fill lights as possible to get a clean result on the lighting. Now with Lumen in UE5, the dynamic lights also contribute to the GI without having to bake them (and it looks better than SSGI and it’s cheaper than RT GI), so this is a great advantage that allows us to iterate way faster than before when we had to worry about baking times, lightmaps, etc.
照明
至于照明,我通常尽量保持简单,主要是在外部场景中,我尽量只使用2种光源:天窗和方向光源。我尽量少保留额外的/填充的灯光,以获得干净的照明效果。现在,在UE5中使用Lumen,动态光源也有助于GI,而不必烘烤它们(它看起来比SSGI更好,比RT GI便宜),所以这是一个很大的优势,让我们可以比以前更快地迭代,当我们不得不担心烘焙时间,光照贴图等时。
For this project, I used Lumen for GI, screen space reflections (Lumen reflections didn’t support translucent materials in early access 2), and Virtual Shadow Maps to be able to get nice soft shadows in the Nanite meshes and also increase the shadow resolution overall. For the post process, I kept the exposure locked at 1 for minimum/maximum brightness. I also used a LUT with a subtle color correction that I did in Photoshop.
对于这个项目,我使用Lumen进行GI,屏幕空间反射(Lumen反射在抢先体验2中不支持半透明材质)和Virtual Shadow贴图,以便能够在Nanite网格中获得漂亮的柔和阴影,并提高整体阴影分辨率。对于后期处理,我将曝光锁定在1,以获得最小/最大亮度。我还使用了一个带有微妙色彩校正的LUT,就像我在Photoshop中所做的那样。
I added a lighting function in the directional light to create pockets of lights and shadow that gave a more interesting look to the scene: as if the clouds were moving and creating those light openings. To achieve this, I used a material with panning noise for the light function. Since this was a small scene with not so many elements, I wanted to introduce as much dynamism as possible to give some life to it, so the moving clouds, the wind in the trees, the moving particles used for the fog, etc., really helped the scene come together.
我在定向光中添加了一个照明功能,以创建光和阴影的口袋,为场景提供更有趣的外观:好像云在移动并创建这些光开口。为了实现这一点,我使用了一种具有平移噪声的材质来执行光功能。由于这是一个没有那么多元素的小场景,我想尽可能多地引入动态,给它一些生命,所以移动的云,树上的风,用于雾的移动粒子等,真的帮助场景走到了一起。
The fog particles were created as a Niagara system using flipbook elements, but I kept the effect really subtle by setting the opacity very low in the fog material. That, plus a base of exponential fog, helped a lot with the overall mood.
Thanks to Lumen, emissive materials now propagate light without me having to bake it, which gave a more realistic effect when the door appeared and slowly increased its emissive intensity throughout the animation. The result was that the elements close to the door were lit by the emissive material. However, I felt that it was not enough and I didn’t want to push the emissive value too much, so I placed two spotlights facing outwards on each side of the door. To make them work with the animation of the door, I attached them to the door by parenting them, so when the door opened, the lights followed the movement.
雾粒子是使用翻页书元素创建为Niagara系统,但我通过在雾材质中将不透明度设置得非常低来保持效果非常微妙。再加上指数雾的基数,对整体情绪有很大帮助。
多亏了Lumen,发光材质现在可以传播光线,而我不必烘烤它,当门出现时,它会产生更逼真的效果,并在整个动画中慢慢增加其发光强度。结果是靠近门的元素被发光材料照亮。但是,我觉得这还不够,我不想把发射值推得太高,所以我在门的两侧放置了两个朝外的聚光灯。为了让它们与门的动画一起工作,我通过养育它们将它们连接到门上,因此当门打开时,灯光跟随运动。
The lighting setup for the interior consisted of one main light that simulated the light coming from the staff and a couple of fill lights: one in the back to get some light on the entrance structure and one extra light on the right side to get some specular hits in some of the metal from the weapons.
内部的照明设置包括一个模拟来自工作人员的光线的主光和几个补光灯:一个在后面获得入口结构上的一些光线,一个在右侧获得一些额外的光线,以获得武器中某些金属的一些镜面反射。
I used the Sequencer to make the lights turn on at the time the doors opened and then played with the animation curve to get a flickering effect on the lights when they were turning on. I used the same animation curve for the 3 lights so that they were in sync.
我使用Sequencer使灯光在门打开时打开,然后播放动画曲线,以便在灯光打开时获得闪烁效果。我对3个灯光使用相同的动画曲线,以便它们同步。
Finally, for the water, I enabled the water system plug-in and modified the standard water shader to add a subtle moving noise to it, similar to what I had for the light function in the directional light. This gave the water nice variations in color and brightness. Then, I played with the parameters of absorption, scattering, normals, roughness, specular, etc., to achieve the desired look.
To be able to get a nice transition from wet to dry for the rocks and ground material, I used a DBuffer Decal that used just the Normal, Roughness, and Opacity channels of the material along with Metallic and Specular. This allowed me to create that wet look on the elements I wanted by setting the specular value to almost 1 and keeping the roughness very low. Adding a bit of metallic also helped since it makes the rocks darker and shinier as if they were wet.
最后,对于水,我启用了水系统插件,并修改了标准水着色器,以向其添加微妙的移动噪声,类似于我在定向光中的光照功能。这给了水在颜色和亮度上很好的变化。然后,我尝试了吸收,散射,法线,粗糙度,镜面等参数,以达到所需的外观。
为了能够为岩石和地面材料获得从湿到干的良好过渡,我使用了DBuffer贴花,它仅使用材料的“法向”,“粗糙度”和不透明度通道以及“金属”和“镜面反射”。这使我能够通过将镜面反射值设置为近1并保持非常低的粗糙度来在我想要的元素上创建湿润的外观。添加一点金属也有所帮助,因为它使岩石更暗,更闪亮,好像它们是湿的。
Conclusion
The main challenge for this project was having to adapt from UE4 to UE5. While the interface is pretty much the same, I had to study how all the new features worked and which ones of them were actually working properly, since I used the early access version, which was not production-ready yet. I really think UE5 is going to be a game changer, not only for the gaming industry or companies that already use UE4 but for every industry that currently uses offline rendering to generate their content.
My advice for fellow artists and for anyone who is thinking about jumping into real-time content creation with Unreal Engine is that now is one of the best times to do it. Nowadays, it is easier than ever to get initiated in Unreal, with all the online resources and tutorials available, most of them for free. Also, we have the whole Megascans library available for UE users, MetaHumans, plus the release of UE5 and the fact that Lumen and Nanite make the creative process easier and faster. That said, I think it’s important to not forget about performance and optimization. I encourage the artists who are making their first steps in Unreal Engine to read the official documentation and try to get a good understanding of the basic aspects of how a game engine and real-time technology work versus traditional render engines.
结论
该项目的主要挑战是必须从UE4适应UE5。虽然界面几乎相同,但我不得不研究所有新功能是如何工作的,以及哪些功能实际上工作正常,因为我使用的是抢先体验版本,该版本尚未准备好生产。我真的认为UE5将改变游戏规则,不仅适用于游戏行业或已经使用UE4的公司,也适用于目前使用离线渲染来生成内容的每个行业。
我对其他艺术家以及任何正在考虑使用虚幻引擎进行实时内容创作的人的建议是,现在是最好的时机之一。如今,在虚幻引擎中启动比以往任何时候都容易,所有在线资源和教程都可用,其中大部分都是免费的。此外,我们还为UE用户提供了整个Megascans库MetaHumans,以及UE5的发布以及Lumen和Nanite使创作过程更轻松,更快捷的事实。也就是说,我认为不要忘记性能和优化是很重要的。我鼓励那些在虚幻引擎中迈出第一步的美术师阅读官方文档,并尝试很好地理解游戏引擎和实时技术与传统渲染引擎相比的基本方面。
|