您需要 登录 才可以下载或查看,没有账号?注册
x
Introduction
Hi! I’m Daniel, an environment artist from Sydney Australia with a primary focus on real-time environment creation for games.
介绍
你好!我是Daniel,来自澳大利亚悉尼的环境艺术家,主要专注于游戏的实时环境创建。
https://gamesartist.co.uk/wp-content/uploads/2022/07/twitter_test.mp4
Software Used
Maya
Blender
Substance Designer
Substance Painter
Photoshop
ZBrush
Marmoset Toolbag 4
Davinci Resolve
使用的软件
玛雅
混合器
物质设计师
物质画家
Photoshop
ZBrush
狨猴工具袋 4
达芬奇决心
Why I chose the project
Ancient Rome has always been a constant source of inspiration and fascination for me. The level of grandiosity in the architectural works they created is hard to comprehend and it’s easy to see the influence of their architectural legacy in modern buildings around us. I chose to design a somewhat quintessential roman bath house as it would be a great way to practice my trim creation, shader work and ZBrush sculpts.
I decided not to work from a concept to practice my composition skills and got to work trying to understand what makes roman architecture look so good, by studying classical proportions and motifs. I realized quickly how important it is to get these proportions right, as anything that strays from them quickly becomes very strange looking and “architecturally illiterate” as the architecture nerds call it.
I also gathered reference from famous paintings as well as games that have portrayed antiquity in amazing detail such as Assassins Creed Origins and Odyssey.
我为什么选择这个项目
古罗马一直是我灵感和魅力的源泉。他们创作的建筑作品中的宏伟程度很难理解,很容易看到他们的建筑遗产对我们周围现代建筑的影响。我选择设计一个有点典型的罗马浴室,因为这将是练习我的装饰创作,着色器工作和ZBrush雕塑的好方法。
我决定不从一个概念开始练习我的作曲技巧,并通过研究古典比例和图案来努力理解罗马建筑看起来如此美好的原因。我很快意识到正确划分这些比例是多么重要,因为任何偏离它们的东西都会变得非常奇怪,就像建筑书所说的那样,“建筑文盲”。
我还从著名画作以及以惊人的细节描绘古代的游戏中收集了参考资料,例如《刺客信条起源》和《奥德赛》。
Initial Planning and Reference:
The baths are an amalgamation of architectural motifs from many real roman buildings. The lavish statue wall and many of the ornate marble trim motifs I created were inspired by reconstructions of the famous baths of Caracalla by Andrea palladio.
初步规划和参考:
浴场融合了许多真正的罗马建筑的建筑图案。豪华的雕像墙和我创造的许多华丽的大理石装饰图案的灵感来自安德烈亚·帕拉迪奥(Andrea palladio)对卡拉卡拉(Caracalla)着名浴场的重建。
The central quarter dome and curved entablature that sits front and center in the composition comes from many roman temple designs, with my main reference being the interior of the pantheon.
位于构图前方和中心的中央四分之一圆顶和弯曲的入口来自许多罗马神庙的设计,我的主要参考是万神殿的内部。
The bath enclosure and steps are more akin to the famous roman bath house in Bath, England. I chose this rugged, slightly worn-down aesthetic as opposed to the clean marble slabs that would have adorned the much larger bath houses in Rome, as I wanted to breath some interest and texture into the environment as well as create an opportunity to practice my sculpts. A Key reference for the sculpt of these steps was the boss arena for the mimic tear in Elden Ring as I thought these looked amazing.
浴室围墙和台阶更类似于英国巴斯着名的罗马浴室。我选择了这种崎岖,略显破旧的美学,而不是装饰罗马更大的浴室的干净大理石板,因为我想为环境注入一些兴趣和质感,并创造一个练习雕塑的机会。这些步骤的雕刻的一个关键参考是Elden Ring中模仿撕裂的老板竞技场,因为我认为这些看起来很棒。
Blockout
I then started my blackout in Maya, by creating rudimentary shapes that approximate the final meshes and bashing them together until I was happy with the proportions of the architectural elements and the overall composition. In this stage I also put an emphasis on working out the correct scale for my meshes and modular pieces. Using a mannequin with the correct human scale is instrumental in achieving this and I would advise doing this very early on.
封锁
然后,我开始在Maya中停电,通过创建近似最终网格的基本形状并将它们组合在一起,直到我对建筑元素的比例和整体构图感到满意。在这个阶段,我还强调为我的网格和模块化部分制定正确的比例。使用具有正确人体尺度的人体模型有助于实现这一目标,我建议尽早这样做。
Ornate Trim
I then got to work on creating a trim sheet that would contain all the ornate detailing I would need to texture the architectural meshes and the statue wall. I started by modeling rudimentary base shapes that would then be sculpted in zbrush to refine the shapes and add breakup and variation, I tried not to add much high frequency detail during this stage as these would be very small on the final meshes and too much noise could hurt the readability of the trims.
华丽的装饰
然后,我开始制作一个装饰板,其中包含我需要的所有华丽细节,以纹理建筑网格和雕像墙壁。我首先对基本的基础形状进行建模,然后在zbrush中雕刻这些形状以优化形状并添加分解和变化,我尝试在此阶段不添加太多高频细节,因为这些细节在最终网格上非常小,太多的噪音可能会损害修剪的可读性。
In hindsight, I could have made them even less noisy to get a better result and I ended up not using some parts of the trim because they were too noisy.
I also used displacement maps from megascans assets to displace sections of the trim to be used as the high poly, don’t feel like its cheating by using other people’s assets in your scene! Rogelio Olguin’s section on the Artstation Learning course on environment production was instrumental in understanding the workflow for this trim sheet and id highly recommend it if you can afford it!
事后看来,我本可以让它们更不嘈杂以获得更好的效果,但我最终没有使用装饰的某些部分,因为它们太嘈杂了。
我还使用来自巨型扫描资产的置换贴图来置换要用作高多边形的修剪部分,不要觉得在您的场景中使用其他人的资产来作弊!Rogelio Olguin在Artstation学习课程中关于环境生产的部分有助于理解此装饰板的工作流程,如果您负担得起,我强烈推荐它!
They were then ready to be brought into designer for baking the height map and then into painter for texturing. I added some simple color variation using various noise textures as well as some edge highlights and dirt in the crevice’s using the dirt occlusion smart mask.
然后,他们准备被带入设计师来烘焙高度图,然后被带入画家进行纹理处理。我使用各种噪点纹理添加了一些简单的颜色变化,并使用污垢遮挡智能蒙版在缝隙中添加了一些边缘高光和污垢。
I then created my modular entablature meshes, making sure to create necessary geometry for applying my trim texture when UVing. I went with a Mid-poly approach to modelling most assets in the scene as UE5’s Nanite polygon streaming system basically negates the need to be conservative with polycount. It meant I could slap on beveled edges and be much more liberal with my poly count which helped as I didn’t need to uniquely unwrap and bake from a high poly.
然后,我创建了模块化的入口网格,确保创建必要的几何图形,以便在 UVing 时应用修剪纹理。我采用了中多边形方法对场景中的大多数资源进行建模,因为UE5的Nanite多边形流式处理系统基本上消除了保守多边形计数的必要性。这意味着我可以在斜边上拍打,并且对我的多边形计数更加自由,这很有帮助,因为我不需要从高多边形中唯一地打开包装和烘烤。
I got a whole lot of reusability out of this trim, and I ended up using the heightmap to displace areas in the high poly of the Corinthian column capital in blender. I also ended up using the normal from this material as a detail normal using a 2nd UV map on the pottery which was a timesaver.
我从这个修剪中获得了大量的可重用性,我最终使用高度图来置换搅拌机中科林斯柱资本的高多边形中的区域。我也最终使用这个材料的法线作为细节法线使用2第 nd陶器上的UV地图,这是一个节省时间。
Mosaic Trim:
The Romans loved decorating bath complexes with mosaics, so I followed Vincent Derozier’s genius workflow for creating mosaic trims in Substance Designer through his paid course. The workflow involves simply creating a template in photoshop which contains your designs or reference and then tracing over that template using SVGs.
This gives you a nice base to build your height map and a color id map to build your base color. I would generally urge you to make the mosaic tiles considerably bigger than they would be in real life as it drastically helps with the readability of the material and avoids unnecessary noise. This is something that I picked up while studying Vincent’s work on the Assassins Creed games.
马赛克装饰:
罗马人喜欢用马赛克装饰浴室综合体,所以我通过他的付费课程,遵循Vincent Derozier的天才工作流程,在Substance Designer中创建马赛克装饰。该工作流程涉及在Photoshop中创建一个包含您的设计或参考的模板,然后使用SVG跟踪该模板。
这为您提供了构建高度图的良好基础和用于构建基色的 color id 映射。我通常会敦促您使马赛克瓷砖比现实生活中大得多,因为它极大地有助于提高材料的可读性并避免不必要的噪音。这是我在研究文森特在《刺客信条》游戏中的工作时学到的。
Vertex painted materials:
I also created 2 simple plaster materials that could be vertex painted onto the walls. I knew that roman construction usually consisted of a brick wall that was then plastered over and painted which meant creating 2 plaster materials that are designed to work together would probably give the best result.
The base material is basically various grunge textures with slight colour variations blended ontop of each other. I then adjusted the height slider of each grunge map until I was happy with the resulting normal map. the process was repeated for the red plaster, with a simple paint chip grunge map masking out areas that have chipped off revealing the original material underneath.
顶点涂漆材料:
我还创建了2种简单的石膏材料,可以顶点涂在墙上。我知道罗马建筑通常由一堵砖墙组成,然后被抹灰和涂漆,这意味着创建2种旨在协同工作的石膏材料可能会产生最好的结果。
基材基本上是各种垃圾纹理,彼此之间混合了轻微的颜色变化。然后,我调整了每个垃圾贴图的高度滑块,直到我对生成的法线贴图感到满意。对红色石膏重复了这个过程,用一个简单的油漆芯片垃圾贴图掩盖了已经碎裂的区域,露出了下面的原始材料。
For my vertex blend material, I used the megascans master material as a base, but added extra controls to add noise to the falloff of the mask created by the vertex colour. Usually, the default falloff with the megascans blend material doesn’t feel organic enough and you’ll need to alter it somewhat.
对于我的顶点混合材质,我使用巨型扫描主材质作为基础,但添加了额外的控件,以增加由顶点颜色创建的蒙版衰减的噪声。通常,megascans混合材料的默认衰减感觉不够有机,您需要对其进行一些更改。
Stone Sculpts:
Stone blocks were the classic zbrush trimdynamic and trimsmoothborder brush extravaganza with some rock and crack alphas mixed in! nothing special here, but I think they turned out decent. A simple zremesh for the low poly and they were ready to be textured in painter.
石雕:
石块是经典的zbrush修剪动力学和修剪平滑边缘刷盛会,混合了一些岩石和裂缝阿尔法!这里没什么特别的,但我认为他们结果不错。一个简单的zremesh用于低聚,他们已经准备好在画家中纹理化。
I fit these 3 stone blocks onto one 2k texture and I could orient the stones in many different ways to avoid obvious repetition.
The Curved steps were those same blocks bent into shape using the curve modifier in blender. If you look closely, you can see some stretching and compression of the texture, but with organic objects like this you can usually get away with it!
我将这3块石头放在一个2k纹理上,我可以以许多不同的方式定向石头,以避免明显的重复。
弯曲步骤是那些使用搅拌机中的曲线修饰符弯曲成形状的相同块。如果你仔细观察,你可以看到纹理的一些拉伸和压缩,但是对于这样的有机物体,你通常可以逃脱它!
I then placed these blocks making sure to leave some level of randomization of rotation and position, too much uniformity can sometimes ruin the character of your environments!
然后,我放置了这些块,确保留下一定程度的旋转和位置随机化,太多的均匀性有时会破坏环境的特征!
Water Shader
I wanted the water to look really inviting and a perfect reference for this is Stef Velzeboer’s water shader section of the art station learning environment production course. I used his method of creating a depth gradient mask, which can be used to lerp between two colors. I lerped between black in the shallower areas (which effectively makes it transparent) and a bluish turquoise in the deeper areas. I like the way these colors are somewhat stylized but still fit well in the environment
水着色器
我希望水看起来非常诱人,一个完美的参考是Stef Velzeboer的艺术站学习环境生产课程的水着色器部分。我使用他的方法创建了一个深度渐变蒙版,该蒙版可用于在两种颜色之间徘徊。我在较浅的区域(这有效地使其透明)和较深区域的蓝色绿松石之间徘徊。我喜欢这些颜色有点风格化的方式,但仍然适合环境
three water normal maps are being panned across the surface in different directions and with different tiling values which creates some nice movement.
I found that reducing the refraction value significantly created a better result, rather than making the refraction value something scientifically correct (1.33 for water).
三个水法线贴图在表面上以不同的方向平移,并具有不同的平铺值,从而产生一些漂亮的运动。
我发现,显著降低折射值可以产生更好的结果,而不是使折射值在科学上是正确的(水为1.33)。
Lumen unfortunately doesn’t support translucent reflections thus far, so I had to enable screen space reflections in the material to get some better reflections. Because screenspace draws from what is visible in your viewport to render its reflections, I needed a simple box reflection capture in the scene to stop the reflections from blowing out when the camera is pointed down towards the water.
The final step in anchoring the water shader in the scene was slightly saturating, darkening and lowering the roughness value of any surface below water level. A simple material function that masks below the y level of your water mesh can be used in the master material to lerp between the original material and your wetness adjustments.
不幸的是,到目前为止,Lumen还不支持半透明反射,因此我不得不在材质中启用屏幕空间反射以获得更好的反射。由于屏幕空间是从视口中可见的内容中提取的以渲染其反射,因此我需要在场景中捕获一个简单的盒反射,以防止在摄像机指向水面时反射吹出。
将水着色器锚定在场景中的最后一步是略微饱和,变暗并降低任何低于水位的表面的粗糙度值。可以在主材质中使用一个简单的材质函数,该函数可遮罩在水网的 y 以下,以在原始材质和湿度调整之间来回切换。
Foliage Pass
For foliage, I used exclusively Megascans assets and atlases. I made a collection of petals from the bougainvillea plant atlas, assembled them into clumps and scattered them in amongst the ivy meshes, sometimes foliage doesn’t have to be so complicated!
树叶通行证
对于树叶,我只使用Megascans资源和地图集。我从九重葛植物地图册上收集了一些花瓣,将它们组装成团块,并将它们散布在常春藤网中,有时叶子不必那么复杂!
Props Pass
Your props pass is important because it can start telling the story of your scene. I wanted the scene to feel like people had not too long ago, been taking advantage of the luxuries of Roman life.
I scattered Megascans fruit assets and roman olive oil pots around the scene to try and achieve this.
I also exported all the stone blocks in the scene to blender, joined them together and gave them collisions. I could use this mesh as a collision object for my cloth simulations to place used towels in the scene. To get my simulations to look more like towels as opposed to the default bouncy rubber sheets, I made sure to turn down the internal spring value, object collision distance and self-collision distance.
This means that the cloth can scrunch up much closer to itself and approximate the way towels bunch up. It also helps turn up friction on the collision object to simulate the friction a towel’s material has in real life.
道具通行证
你的道具通行证很重要,因为它可以开始讲述你的场景的故事。我希望这个场景让人感觉像不久前人们一直在利用罗马生活的奢侈。
我在现场散布了Megascans水果资产和罗马橄榄油罐,试图实现这一目标。
我还将场景中的所有石块导出到搅拌机中,将它们连接在一起并给它们带来碰撞。我可以将此网格用作布料模拟的碰撞对象,以便在场景中放置用过的毛巾。为了让我的模拟看起来更像毛巾,而不是默认的弹性橡胶板,我确保调低内部弹簧值,物体碰撞距离和自碰撞距离。
这意味着布可以更靠近自己,并接近毛巾束的方式。它还有助于打开碰撞物体上的摩擦力,以模拟毛巾材料在现实生活中的摩擦力。
I used some custom stencils created in photoshop to stamp these nice Greco-Roman patterns in substance painter.
我使用了一些在photoshop中创建的自定义模板,在物质画家中标记这些漂亮的希腊罗马图案。
Polish Pass
At this stage, everything is looking too clean. Because I was using tiling trim materials to texture many of the architectural elements, I used RGB masks using a unique unwrap on a second UV slot to add unique dirt crevices, leaks and splashes. The Blue channel adds dirt, the red channel adds leaks and the red channel adds extra grunge.
Make sure you turn sRGB off on your masks when using this technique! I’m not blending any new textures in with these masks, rather tinting the albedo and controlling where the tint gets applied. I also added controls to adjust the roughness of each mask as usually dirt will increase the roughness value. This really made the meshes with tiling materials pop and sit believably in the environment.
波兰通票
在这个阶段,一切看起来都太干净了。由于我使用平铺装饰材料来纹理化许多建筑元素,因此我使用RGB遮罩,在第二个UV插槽上使用独特的开包,以添加独特的污垢缝隙,泄漏和飞溅。蓝色通道增加了污垢,红色通道增加了泄漏,红色通道增加了额外的垃圾。
使用这种技术时,请确保关闭口罩上的sRGB!我没有将这些蒙版混合任何新的纹理,而是对反照率进行着色并控制色调的应用位置。我还添加了控件来调整每个面罩的粗糙度,因为通常污垢会增加粗糙度值。这真的使带有瓷砖材料的网格弹出并可信地坐在环境中。
The walls were also looking too clean, so I scattered some Megascans leak decals in areas where moisture would run down or collect. You can see the subtle difference it makes here.
墙壁看起来也太干净了,所以我在水分会流落或聚集的区域散布了一些Megascan泄漏贴花。你可以看到它在这里产生的微妙差异。
I really wanted water puddles on the steps and mosaic floor, so I added the water puddle material function that comes with the Megascans blend material to my master material with a global switch parameter to turn it on or off. This meant I could vertex paint puddles on any surface if need be. I think these puddles helped to tie the scene together.
Finally, using the foliage painting tools, I scattered some petals in and around the pool.
我真的很想在台阶和马赛克地板上安装水坑,所以我将Megascans混合材料附带的水坑材料功能添加到我的主材料中,并带有全局开关参数以将其打开或关闭。这意味着如果需要,我可以在任何表面上顶点画水坑。我认为这些水坑有助于将场景联系在一起。
最后,使用树叶绘画工具,我在游泳池内和周围散布了一些花瓣。
I found that placing the petals in the water didn’t look great as the movement of the water contrasted with the stillness of the petals. I solved this by using the simple grass wind node that ships with unreal to create some subtle up and down movement as if they are floating in the water.
我发现将花瓣放在水中看起来并不好,因为水的运动与花瓣的静止形成鲜明对比。我通过使用简单的草风节点解决了这个问题,该节点与虚幻一起运行,以创建一些微妙的上下运动,就好像它们漂浮在水中一样。
Lighting
Lighting in UE5 is such a breeze because of lumens real-time global illumination and 90 percent of the lighting comes from a skylight and directional light working with the sky atmosphere system. It’s as easy as dropping them into your scene, adjusting the intensity and maybe cranking your indirect lighting intensity and you’re basically there.
照明
UE5中的照明是如此轻而易举,因为流明实时全局照明,90%的照明来自天窗和与天空氛围系统一起工作的定向光。这就像将它们放入您的场景中一样简单,调整强度,并可能调高您的间接照明强度,您基本上就在那里。
You will usually need to place individual “fake” lights that help to accentuate certain surfaces or lift their specular reflections. For the main shot, you can see I’ve placed an area light behind the camera facing the pool to brighten the columns, and another facing the ground in front of the camera to lift the specular reflections on the water puddles and catch the edges of the columns.
您通常需要放置单独的“假”灯,以帮助突出某些表面或抬起其镜面反射。对于主要镜头,您可以看到我在面向游泳池的摄像机后面放置了一个区域灯以照亮柱子,并在摄像机前方放置另一个面向地面的区域光,以提升水坑上的镜面反射并捕捉柱子的边缘。
By placing lights that don’t have a real source on screen, you can really push your scene to the next level and really art directs the overall composition. Don’t light your scenes with the mentality of replicating real-life light sources, because I think more often than not it won’t be enough.
Embrace the creative control you have by placing additional lights, be mindful however that shadow casting lights have a significant cost to the GPU and turning them to non-shadowcasting if you can be more desirable in the context of game environments.
通过在屏幕上放置没有真实光源的灯光,您可以真正将场景提升到一个新的水平,并真正通过艺术来指导整体构图。不要以复制现实生活中的光源的心态来照亮你的场景,因为我认为这往往是不够的。
通过放置额外的灯光来接受你所拥有的创造性控制,但是要注意,阴影投射灯光对GPU来说有很大的成本,如果你在游戏环境中更受欢迎,请将它们变成非阴影投射。
I’m also using an exponential height fog set to a very low density, and the default BP Skysphere doesn’t influence the skylight to get slightly better clouds than what I was getting with the default volumetric clouds.
我还使用将指数高度雾设置为非常低的密度,并且默认的BP Skysphere不会影响天窗以获得比默认体积云稍微好的云。
Rendering
Because I couldn’t seem to get my translucent reflections to render in the movie render queue, I had to resort to using the high-resolution screenshot tool to render my stills, and the regular sequencer to render my cinematics. This meant a slight reduction in quality but I still think they turned out ok!
I then used DaVinci Resolve to do a slight color grade, mostly just removing some red tones to get to my final shot.
渲染
由于我似乎无法在电影渲染队列中渲染半透明反射,因此我不得不使用高分辨率屏幕截图工具来渲染静止图像,并使用常规音序器来渲染我的过场动画。这意味着质量略有下降,但我仍然认为它们结果还不错!
然后,我使用DaVinci Resolve做了一个轻微的颜色等级,主要是去除一些红色调来达到我的最后一个镜头。
Outro
This project took me around 4-5 months to complete working around 2 days on it per week. This was mostly because learning the tools and best workflows takes up a decent chunk of time. I learned so much during this process and had so much fun working on it. Onto the next one!
Thanks for having me GamesArtist!
奥特罗
这个项目花了我大约4-5个月的时间来完成每周大约2天的工作。这主要是因为学习工具和最佳工作流程需要花费相当多的时间。在这个过程中,我学到了很多东西,并且非常乐在其中。进入下一个!
谢谢你让我游戏艺术家!
|