For my block-out, I modeled basic versions of all the major assets I’d need in Maya and included a stand-in water plane with some screen space reflections so that I could start to visualize the reflections in the composition. Here I just used the basic sky sphere included in UE4 (to be replaced later with an HDRI backdrop and translucent cloud planes) and also sculpted the landscape into the general shape of the front cliff and the far-off vista. The cliff and vista would later be replaced by meshes generated in World Machine (the vista) and sculpted in ZBrush (the cliff).
I replaced the block-out assets with the finished assets in order of importance. This importance was determined based on the size of the asset on screen, its prominence in the composition, repetition throughout the scene, etc. Iteration was a huge component of my process, and a few of the more prominent assets were reworked many times throughout the process of building out this scene. If I am unhappy with an asset’s fidelity or fit I don’t hesitate to create a new Maya/Blender file and create another version based on what I learned from the previous iteration.
对于我的定型,我在 Maya 中对我需要的所有主要资产的基本版本进行了建模,并包括一个带有一些屏幕空间反射的替代水面,以便我可以开始可视化合成中的反射。在这里,我只是使用了 UE4 中包含的基本天空球体(稍后将替换为 HDRI 背景和半透明的云平面),并将景观雕刻成前悬崖和远处远景的大致形状。悬崖和远景后来将被 World Machine(远景)中生成并在 ZBrush(悬崖)中雕刻的网格所取代。
我按照重要性用完成的资产替换了封锁资产。这种重要性是根据屏幕上资产的大小、其在构图中的突出程度、在整个场景中的重复等来确定的。迭代是我过程中的一个重要组成部分,并且在整个过程中,一些比较突出的资产被多次返工构建这个场景的过程。如果我对资产的保真度或适合度不满意,我会毫不犹豫地创建一个新的 Maya/Blender 文件,并根据我从上一次迭代中学到的知识创建另一个版本。
Materials and Shaders
I used many strategies for creating the materials and shaders in my scene. Some of these include Substance Designer graphs, traditional high-low poly bakes with texturing in Substance Painter, baking high poly meshes to flat planes with opacity masks in Marmoset Toolbag, converting photo sources to PBR textures, and using particle system emitters in Blender to generate complex groups of meshes that could be baked to images and tiled in Photoshop.
What I chose depended on what I felt would yield the best balance of fidelity and speed for each material. I also used a mix of tiling materials, trim sheets, and unique materials depending on the asset.
The torii gate is far from the camera and is a unique asset, so I simply UV unwrapped it into a couple of materials and created unique texture sheets for it in Substance Painter. The thatch, ground, and net materials were closer to the camera and/or used more often, so tiling textures and trim sheets made more sense for these to achieve higher resolutions or for easy reusability.
材质和着色器
我使用了许多策略来在我的场景中创建材质和着色器。其中一些包括 Substance Designer 图形、在 Substance Painter 中使用纹理烘焙的传统高低多边形、在 Marmoset Toolbag 中使用不透明蒙版将高多边形网格烘焙到平面、将照片源转换为 PBR 纹理以及在 Blender 中使用粒子系统发射器生成可以烘焙成图像并在 Photoshop 中平铺的复杂网格组。
我的选择取决于我认为可以为每种材料产生保真度和速度的最佳平衡。我还根据资产混合使用了平铺材料、装饰板和独特的材料。
鸟居门离相机很远,是一个独特的资产,所以我简单地用 UV 将它展开成几种材料,并在 Substance Painter 中为它创建了独特的纹理表。茅草、地面和网状材料更靠近相机和/或更频繁地使用,因此平铺纹理和装饰片更适合这些材料以实现更高的分辨率或易于重复使用。
Wood
One of the most prominent materials in the concept was the wood texture found on the boardwalks, houses, dock posts, and boats. Because of this, I created this material first. I ended up using a set of 8 boards and three broken boards to construct all of the wooden boardwalks, the walls of the houses, and bent versions to construct the boats. Because I wanted the boards and posts to have worn ends with unique grain patterns I sculpted the wood grain on each asset individually.
木头
该概念中最突出的材料之一是木板路、房屋、码头柱子和船只上的木材纹理。正因为如此,我首先创建了这个材料。我最终使用了一套 8 块木板和三块碎木板来建造所有的木板路、房屋的墙壁,并使用弯曲的版本来建造船只。因为我希望木板和柱子的末端有独特的纹理图案,所以我在每个资产上单独雕刻了木纹。
In ZBrush, many layers of back and forth strokes of varying size across the surface of the asset with the clay buildup brush followed by wearing down the buildup with the trim smooth border brush created the effect of wood grain relatively quickly.
Then I could bake the normals to the low poly meshes and texture the assets in Substance Painter using fill layers and mask generators to create the proper color and roughness maps. With one asset done, I could create a smart material out of its layers in Painter so that I could quickly apply the same look to the other bare wooden assets.
在 ZBrush 中,使用粘土堆积笔刷在资产表面上进行了许多不同大小的来回笔触,然后使用修剪平滑的边界笔刷磨损堆积,从而相对较快地产生了木纹效果。
然后我可以将法线烘焙到低多边形网格,并使用填充层和蒙版生成器在 Substance Painter 中对资产进行纹理化,以创建适当的颜色和粗糙度贴图。完成一项资产后,我可以从 Painter 中的图层创建智能材质,以便我可以快速将相同的外观应用于其他裸木资产。
Clouds
The clouds were another prominent asset in the scene that I gave high priority to. For these, I used a photo that I took near where I live of a cloud that looked very close to what I needed in my scene. I then used Affinity Photo (a Photoshop alternative) to create a series of masks that I could use to build a translucent unlit shader in UE4.
To do so, I cut the cloud out from the background with a mix of select by color, selection brushes, and a custom cloud alpha eraser for believable edge breakup. Once isolated, I repaired any parts of the cloud that were covered by poles or trees with the clone brush.
I then created four masks from the photo: one for a color blend, one for an edge light, one for a height fade, and one for an opacity mask. I then packed these into a single texture using the RGBA channels.
云
云是我高度重视的场景中另一个突出的资产。对于这些,我使用了一张我在我住的地方附近拍的照片,上面的云看起来非常接近我在场景中需要的东西。然后,我使用 Affinity Photo(Photoshop 的替代品)创建了一系列蒙版,我可以使用这些蒙版在 UE4 中构建半透明的无光照着色器。
为此,我使用按颜色选择、选择画笔和自定义云 alpha 橡皮擦的混合从背景中切出云,以实现可信的边缘分解。隔离后,我使用克隆笔刷修复了被电线杆或树木覆盖的云的任何部分。
然后我从照片中创建了四个蒙版:一个用于颜色混合,一个用于边缘光,一个用于高度淡化,一个用于不透明蒙版。然后我使用 RGBA 通道将它们打包成单个纹理。
My shader graph in UE4 uses the red channel mask to blend between two 3 vector parameters that drive the basic emissive color of the cloud. I then layered another 3 vector parameter on top using the edge light mask.
The height fade mask is left optional with a switch so that some clouds can fade near the horizon and blend with the vista. Finally, the opacity mask is simply plugged into the shaders opacity channel. When applied to a plane, this shader does a good job of creating believable clouds that transition nicely into the vista.
我在 UE4 中的着色器图使用红色通道蒙版在驱动云的基本自发光颜色的两个 3 矢量参数之间进行混合。然后我使用边缘光蒙版在顶部叠加了另外 3 个矢量参数。
高度淡化遮罩是可选的,带有一个开关,以便一些云可以在地平线附近淡化并与远景融合​​。最后,不透明蒙版被简单地插入着色器不透明通道。当应用于平面时,此着色器可以很好地创建可信的云,这些云可以很好地过渡到远景中。
Thatch Roofs
The thatch roofs took quite a bit of iteration before I was happy with the result. The strategy I ended with was to use an opaque tiling material that is occluded by a opacity masked material a small distance above it. This creates a fuzzy look to the thatch that can be broken up more with an opacity masked trim sheet along the edges and protruding randomly from the surface.
茅草屋顶
在我对结果感到满意之前,茅草屋顶进行了相当多的迭代。我结束时的策略是使用不透明的平铺材料,该材料被不透明蒙版材料遮挡在其上方一小段距离处。这会为茅草创造一种模糊的外观,可以通过沿边缘的不透明蒙面装饰板和从表面随机突出的不透明装饰板将茅草分解得更多。
I also set up my shader in UE4 so that I could override the base color of the opacity masked material with colors for moss and mold with vertex painting.
我还在 UE4 中设置了我的着色器,以便我可以用顶点绘制的苔藓和霉菌的颜色覆盖不透明蒙版材料的基色。
Foliage
All of my foliage was modeled by hand in Blender and then baked to a plane in Marmoset Toolbag 3. This allowed me to get the normals of the foliage looking believable while keeping the poly count as low as possible. Some exceptions to this include the fallen tree in the midground, whose trunk is solid and branches are baked to planes, and the grain stalks of the grass, which are bent cylinders with an array of planes at the top for the grain sprouts. All of the trees in the background were baked to planes since the distance negated the need for the extra geometry.
A unique strategy I used for my grass was a base color made up of an RGB mask. I used this with 3 vector parameters and lerp nodes to customize the color in material instances of the UE4 shader instead of having the base color set in the texture map.
叶子
我所有的树叶都是在 Blender 中手工建模的,然后在 Marmoset Toolbag 3 中烘焙到一个平面。这让我能够让树叶的法线看起来可信,同时保持多边形数量尽可能低。一些例外情况包括中地上倒下的树,它的树干是实心的,树枝被烤成平面,以及草的谷秆,它们是弯曲的圆柱体,顶部有一系列平面,用于谷物发芽。背景中的所有树木都被烘焙到平面,因为距离不需要额外的几何体。
我用于草的独特策略是由 RGB 蒙版组成的基色。我将它与 3 个矢量参数和 lerp 节点一起使用来自定义 UE4 着色器的材质实例中的颜色,而不是在纹理贴图中设置基色。
Lighting
My lighting is pretty simple. I used ray tracing for my reflections so that I could achieve the occlusion under the dock on the right of the composition easily. All of my lighting is dynamic. I used the HDRI Backdrop plugin so that I could use an HDRI to add complexity to my lighting.
I also created a custom LUT for my scene once the rest of the lighting was set up so that I could do the final tweaking necessary to push the lighting to the finish line. The process for creating a LUT is simple: you use adjustment layers in Photoshop to color correct a screenshot of your scene, download the basic LUT from Unreal’s documentation and open it in a separate Photoshop file, copy and paste over your adjustment layers, export the color corrected LUT, and then drop it in the LUT slot in a post-processing volume in UE4.
Creating a custom LUT is an important step in the final polishing stages of a scene and quickly pulls the entire scene together.
灯光
我的灯光很简单。我对我的反射使用了光线追踪,这样我就可以轻松地在构图右侧的底座下实现遮挡。我所有的灯光都是动态的。我使用了 HDRI Backdrop 插件,这样我就可以使用 HDRI 来增加照明的复杂性。
一旦设置了其余的照明,我还为我的场景创建了一个自定义 LUT,这样我就可以进行必要的最后调整,将照明推到终点线。创建 LUT 的过程很简单:您在 Photoshop 中使用调整图层对场景的屏幕截图进行颜色校正,从 Unreal 的文档中下载基本 LUT 并在单独的 Photoshop 文件中打开它,复制并粘贴到您的调整图层上,导出颜色校正后的 LUT,然后将其放入 UE4 后处理卷中的 LUT 插槽中。
创建自定义 LUT 是场景最后润色阶段的重要一步,可快速将整个场景拉到一起。
Thank you for reading through the breakdown of my Abandoned Village scene. The scene was a dense learning experience and I could only scratch the surface here.
感谢您阅读我对废弃村庄场景的细分。这个场景是一个密集的学习体验,我只能在这里触及表面。