您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 秋令6689 于 2022-5-17 15:36 编辑
SWAT Warrior – Character Breakdown – Alsu Rakhimova 特警战士 – 角色分解 – 阿尔苏·拉希莫娃
Introduction Hi, my name is Alsu and I am currently a student at Think Tank Training Centre on a Character for Games path. My Artstation portfolio link: https://www.artstation.com/artdungeon In this article, I am going to share with you the main steps in creating my recent piece ‘SWAT Warrior’ in Unreal Engine. It is based on the concept by Dia Nak (). 介绍 嗨,我的名字是Alsu,我目前是智囊团培训中心的游戏角色路径的学生。我的Artstation作品集链接: https://www.artstation.com/artdungeon 在本文中,我将与您分享在虚幻引擎中创建我最近的作品“SWAT Warrior”的主要步骤。它基于Dia Nak的概念(https://www.artstation.com/artwork/Vd4Bv5)。 The goal for this project was to improve my sculpting, texturing workflow as well as to learn how to create hair cards and to render in Unreal Engine. 这个项目的目标是改进我的雕刻和纹理工作流程,并学习如何创建发卡和在虚幻引擎中渲染。 References/Inspiration 参考/灵感 Before starting any project, I always gather a lot of reference images to make sure I understand the character design from a functional point of view. I use PureRef for that. For this character, I gathered a lot of images of SWAT uniforms including tactical vests, belts, leg protectors, etc. 在开始任何项目之前,我总是收集大量的参考图像,以确保我从功能的角度理解角色设计。我使用PureRef。 对于这个角色,我收集了很多特警制服的图像,包括战术背心,皮带,腿部保护装置等。 I also gathered a lot of images of cornrow braids and braid buns to have a good understanding of this hairstyle. I highly recommend watching this which clearly shows the whole process – it is both a great reference and just really impressive to watch how much effort, time, and skill it takes to create such braids. 我还收集了很多玉米辫子和辫子发髻的图片,以便对这种发型有很好的了解。我强烈建议观看这个视频:https://www.youtube.com/watch?v= ... TWb7&index=8&t=693s,它清楚地显示了整个过程 - 它既是一个很好的参考,而且看到创建这样的辫子需要多少努力,时间和技能,这真的令人印象深刻。 For the face of the character, I was mainly using Rihanna’s photos from the GettyImages website. I recommend finding images on a website like this one since it has a lot of high-quality photos that were made using the same camera lenses, on the same day, and from multiple angles. I also collected artworks of other 3d artists as a source of inspiration and a quality I would try to achieve. 对于角色的面部,我主要使用蕾哈娜在GettyImages网站上的照片。我建议在这样的网站上查找图像,因为它有很多高质量的照片,这些照片是在同一天从多个角度使用相同的相机镜头制作的。 我还收集了其他3D艺术家的作品,作为灵感的来源和我试图达到的品质。 I also made a day-by-day schedule using dashboard. It helped to keep track of my progress and see if I’m lagging behind anywhere. 还使用https://miro.com/app/dashboard/仪表板制定了每日时间表 。它有助于跟踪我的进步,看看我是否在任何地方落后。 Block-out The block-out stage is very important as it helps you to see the scope of the project, understand the overall silhouette and proportions of your character. I did both block out and the sculpting in Zbrush. I think this advice “start from primaries and then slowly move to tertiaries” is applicable to every stage of character creation – sculpting, texturing, retopology, etc. Following this advice will save you time, nerves, and prevent reworking. 屏蔽 遮挡阶段非常重要,因为它可以帮助您查看项目的范围,了解角色的整体轮廓和比例。我在Zbrush中做了遮挡和雕刻。我认为这个建议“从初选开始,然后慢慢转向第三阶段”适用于角色创作的每个阶段 - 雕刻,纹理,重新拓扑等。遵循此建议将节省您的时间,神经并防止返工。 I mainly use the following Zbrush features for my block-outs: 我主要使用以下Zbrush功能进行屏蔽: For very simple objects, I use primitive shapes (Append> Sphere/Cube/etc.). 对于非常简单的对象,我使用基元形状(附加>球体/立方体/等)。 In case the shapes are more difficult (e.g. jacket or a vest), I use Dynamesh + move/clay buildup brush to give it the needed shape. 如果形状比较困难(例如夹克或背心),我使用Dynamesh +移动/粘土堆积刷来赋予它所需的形状。 For objects like straps or loose belts, I use the “extract” function 对于皮带或松动的皮带等物体,我使用“提取”功能 In case the objects like the belts, small buttons on the pouch, I just draw them on the existing main objects using polypaint. 如果物体像皮带,小按钮在袋子上,我只是用聚色颜料将它们画在现有的主要物体上。 Sculpting High Poly 雕刻高聚 Once I was happy with the block-out (i.e. I knew the overall silhouette and the shape and size of each object), I started working on the high poly stage. It included polishing the existing objects, ZRemeshing, or modelling using ZModeler (e.g. I used this tutorial for a for the character’s vest and belt). I created pants and the jacket in Marvelous Designer to have more realistic cloth folds. However, after exporting the objects back to Zbrush, I accentuated folds with inflate/clay build-up brush. I highly recommend YouTube tutorials, which share useful tips on how to work with MD files and export them to Zbrush. 一旦我对遮挡感到满意(即我知道整体轮廓以及每个物体的形状和大小),我就开始在高多边形舞台上工作。它包括抛光现有对象,ZRemeshing或使用ZModeler建模(例如,我使用本教程为角色的背心和腰带制作)。我在《了不起的设计师》中创造了裤子和夹克,以拥有更逼真的布褶皱。但是,在将对象导出回Zbrush后,我用充气/粘土堆积刷突出了褶皱。我强烈推荐 YouTube教程(https://www.youtube.com/c/Outgang),这些教程分享了有关如何使用MD文件并将其导出到Zbrush的有用提示。 While sculpting, it is important to keep the subdivision levels of your model. This way, you can still easily fix primary shapes in lower subdivision levels, while having control of small details in higher subdivision levels. 在雕刻时,保持模型的细分级别非常重要。这样,您仍然可以轻松地修复较低细分级别中的主要形状,同时控制较高细分级别中的小细节。 Sculpting/Topology/Low/High/Uving 雕刻/拓扑/低/高/Uving After the high poly was ready, I decimated all the objects and exported them to Maya for retopology and UVing. I used Zplugin “FBX ExportImport” for exporting my objects: 在高多边形准备就绪后,我删除了所有对象,并将它们导出到 Maya 以进行重新拓扑和 UVing。我使用Zplugin“FBX ExportImport”导出我的对象: For retopology in Maya, I made decimated objects ‘Live’ as my high poly references and used the Quad Draw tool to create a low poly. I recommend this if you want to get familiar with the Quad Draw tool for retopology. Important tip – make sure that decimated objects do not have holes inside them. Having holes in the objects makes it very difficult to retopologize using Quad Draw. 对于 Maya 中的重拓扑,我将抽取对象设置为“Live”作为我的高多边形引用,并使用 Quad Draw 工具创建低多边形。如果您想熟悉用于重新拓扑的四边形绘制工具,我推荐 https://www.youtube.com/watch?v=xpDWta5O3n8&t=699s 的本教程。重要提示 - 确保被摧毁的物体内部没有孔。对象中存在孔使得使用四重绘制重新拓扑变得非常困难。 Baking 烘焙 I baked all the maps in Substance Painter. Before baking the maps, it was important to make sure that the model was in a real-life scale – otherwise, you would have problems with your bakes and shaders. Since the model had a lot of objects, I wanted to utilize the “Color Selection” feature of Substance Painter. It helped instantly mask all the objects with the same Color ID. In order to have a good ID map, I painted all the objects in Zbrush, decimated them (with the “Use and Keep Polypaint” option on), and baked IDs with “Vertex Color” selected as Color Source (please see the screenshot). 我在Substance Painter中烘焙了所有地图。在烘焙地图之前,确保模型处于真实比例非常重要 - 否则,您的烘焙和着色器会遇到问题。由于模型有很多对象,我想利用物质画家的“颜色选择”功能。它有助于立即屏蔽具有相同颜色 ID 的所有对象。为了获得良好的ID映射,我在Zbrush中绘制了所有对象,将它们大量删除(打开“使用并保持Polypaint”选项),并使用“顶点颜色”作为颜色源的烘焙ID(请参阅屏幕截图)。 Texturing 纹理 I textured my model in Substance Painter trying to stick to a procedural method for as long as possible. This allowed me to quickly change the textures to my liking and even use the textures later as a smart material in my later projects. For skin texturing, I was using the from Texturing XYZ as it has both albedo and displacement maps. The maps were applied using the with help of . It was extremely fast as it took less than an hour to get a decent result. After I applied the face texture, I cleaned it up and refined it in Substance Painter. 我在Substance Painter中对我的模型进行了纹理处理,试图尽可能长时间地坚持使用程序化方法。这使我能够根据自己的喜好快速更改纹理,甚至可以在以后的项目中将这些纹理用作智能材质。对于皮肤纹理,我使用了纹理XYZ的(https://texturing.xyz/collections/multi-channel-faces),因为它具有反照率和置换贴图。这些地图是在(https://www.russian3dscanner.com/)的帮助下使用应用的。它非常快,因为花了不到一个小时就得到了一个体面的结果。应用面部纹理后,我将其清理并在实质画家中对其进行了完善。 Hair 头发 First, I created and baked hair cards using xGen in Maya. I baked the following textures in Maya Arnold: 首先,我在Maya中使用xGen创建并烘焙了发卡。我在Maya Arnold中烘焙了以下纹理: ZDepth Alpha (opacity) ObjectID RootToTip HairFlow 兹德普斯 阿尔法(不透明度) 对象标识 根目录提示 头发流动 In order to create cornrow braids, I started with a simple braids curve brush. I placed each braid individually in Zbrush. After that, I exported the braids to Maya and unfolded each braid into 3 long hair cards. 为了制作玉米辫子,我从简单的辫子曲线刷开始。我把每个辫子分别放在Zbrush中。之后,我将辫子导出到Maya,并将每个辫子展开成3个长发卡。 I was using hair card #1 for all my base braids. 我使用发卡#1为我的所有基本辫子。 After I applied hair texture to the cards, the hair was looking like this: 在我将头发纹理应用于卡片后,头发看起来像这样: In order to make the braids fuller and more realistic, I decided to use the method from the article by : I duplicated each braid geometry and very slightly scaled them up. I assigned hair cards from group #2 to these new braids. As a result, the braids started to look more realistic: 为了使辫子更饱满,更逼真,我决定使用(https://80.lv/articles/creating-hair-for-real-time-projects/)文章中的方法:我复制了每个辫子几何形状,并稍微放大了它们。我把第2组的发卡分配给了这些新的辫子。结果,辫子开始看起来更逼真: After that, I added Flyaway cards and small strands of hair closer to the face (hair cards from Group #3) to create an effect of some hair strands slightly sticking out of the braid. The article by helped me a lot in understanding the hair workflow for braids. 之后,我添加了飞翔卡和靠近脸部的小发丝(来自#3组的发卡),以产生一些发丝略微伸出辫子的效果。(https://marmoset.co/posts/presen ... orceress-character/)的文章帮助我了解了辫子的头发工作流程。 For the hair shader in Maya, I was using Arnold’s Shaderfx game hair. It had very nice and easily readable textures that worked well during the card placement stage. 对于Maya中的染发器,我使用的是Arnold的Shaderfx游戏头发。它具有非常漂亮且易于阅读的纹理,在卡片放置阶段效果很好。 Shaders/Technical 着色器/技术 After placing all the hair cards, I exported the model to Unreal Engine 4.26. I was using the project as my initial template in order to get access to the skin and eye shaders. Note, that if you want to use eyes by MetaHuman, you need to download the eyes meshes from one of the Meta Humans – they have very specific UVs. You can do so by using app and following the by UE. 在放置了所有发卡后,我将模型导出到虚幻引擎4.26。我使用(https://www.unrealengine.com/en-US/metahuman-creator)项目作为我的初始模板,以便访问皮肤和眼睛着色器。请注意,如果你想使用MetaHuman的眼睛,你需要从其中一个Meta Humans下载眼睛网格 - 它们具有非常特定的UV。您可以使用应用程序(https://quixel.com/bridge)并按照 UE(https://docs.metahuman.unrealeng ... xportingMetaHumans/)的说明进行操作。 For the hair shader, I used parent material from a template . I uploaded my baked textures and used the following settings for the hair (please see the screenshot): Getting the right settings for the hair depends on the hairstyle and is mainly achieved by the trial-and-error method. Since the hair in this hairstyle is placed very close to the skin, I had to turn on the “Eyebrow” setting – it prevented the hair from “disappearing” under the skin. After I was happy with the main hair shader, I created an instance material for flyaway, hair cap, and eyelashes. 获得正确的头发设置取决于发型,主要通过试错法实现。由于这种发型的头发非常靠近皮肤,我不得不打开“眉毛”设置 - 它可以防止头发“消失”在皮肤下。在我对主发色器感到满意之后,我为飞离,发帽和睫毛创建了一个实例材料。 Adding VFX 添加视觉特效 For creating a cinematic effect, I took particle emitters like ‘Hallway dust’ from UE ‘Elemental Demo’ project (go to ‘Epic Games Launcher’ > ‘Learn’ > ‘Legacy Samples’) and added them to my project. I also downloaded free broken asphalt texture from Quixel Megascans and assigned it to a plane. I created a shader that utilized displacements in order to make the ground look realistic (I followed this by John Ford to create such a shader). 为了创建电影效果,我从UE的“元素演示”项目中选取了诸如“走廊灰尘”之类的粒子发射器(转到“Epic Games Launcher”>“Learn”>“Legacy Samples”),并将它们添加到我的项目中。我还从Quixel Megascans下载了免费的破碎沥青纹理,并将其分配给飞机。我创建了一个利用位移的着色器,以使地面看起来逼真(我按照 John Ford的(https://www.youtube.com/watch?v=B3xEK6VF9hY)创建了这样的着色器)。 Rendering 渲染 In order to get high-quality renders, you usually want to take screenshots using ‘High-Resolution screenshot’ button. Unfortunately, this option did not work for me as the program kept crashing. Therefore, I had to use the ‘Movie Render Queue’ plug-in. I got this idea as well as many other tips from this – it is a great 30-minute tutorial that has a lot of useful information on how to utilize UE’s assets and features in order to create well-rendered characters in Real-Time. 为了获得高质量的渲染,您通常希望使用“高分辨率屏幕截图”按钮截取屏幕截图。不幸的是,由于程序不断崩溃,此选项对我不起作用。因此,我不得不使用“电影渲染队列”插件。我从他的视频中(https://www.youtube.com/watch?v=x2t59qQzs_I)得到了这个想法以及许多其他提示 - 这是一个很棒的30分钟教程,其中包含许多有关如何利用UE的资源和功能的有用信息,以便实时创建渲染良好的角色。 My workflow for getting high quality renders was the following: 我获得高质量渲染的工作流程如下: 1) Create a Level Sequence by going to ‘Cinematics’ > ‘New’ > ‘Create Level Sequence’ and save it in one of your ‘Content’ folders. 1)通过转到“过场动画”>“新建”>“创建关卡序列”来创建关卡序列,并将其保存在您的“内容”文件夹中。 2) Edit the Level Sequence by adding a Camera to it in the panel ‘Track’ > ’Actor to Sequencer’ > [Camera of your choice] 2)通过在“跟踪”面板中添加摄像机来编辑关卡序列,>“演员到音序器”>[您选择的摄像机] 3) Cut the sequence to only 2-3 frames if you just need an image render. After that, Save the changes in the Level Sequence 3)如果您只需要图像渲染,请将序列剪切到仅2-3帧。之后,保存关卡序列中的更改 4) Go to ‘Window’>’Cinematics’>’Movie Render Queue’ 4)转到“窗口”>“过场动画>”电影渲染队列” 5) Press (1) ‘+ Render’ and pick your sequencer, then go to (2) ‘Settings’ and adjust the settings to your liking. Hit (4) ‘Accept’ to close the ‘Settings’ window. Hit (5) ‘Render Local)’ to start your render (please see the screenshot below for more details). 5)按(1)“+渲染”并选择您的音序器,然后转到(2)“设置”并根据您的喜好调整设置。点击(4)“接受”以关闭“设置'窗口。点击(5)“渲染本地)”开始渲染(请参阅下面的屏幕截图以获取更多详细信息)。 Thanks to this workflow, I managed to get both images and videos of high quality. You can find more information on how to manage your Level Sequencer on the official Unreal Engine website / Youtube channel. 多亏了这个工作流程,我设法获得了高质量的图像和视频。您可以在虚幻引擎官方网站/Youtube频道上找到有关如何管理关卡序列器的更多信息。
Lessons learned 经验 教训 Plan ahead and save time for unexpected bottlenecks in your project / sick days/ etc. 提前计划,节省时间,防止项目/病假/等意外瓶颈。 Make sure that your high poly is suitable for retopology and animation. It is very important to start thinking about retopology during the sculpting – always ask yourself ‘can I place this object in a way that would be easier to retopologize? For example, don’t leave empty space between the pants and the tight belt. This will make the retopology process easier as you will be able to retopologize the pants and the belt as one low poly object. 确保您的高多边形适合重新拓扑和动画。在雕刻过程中开始考虑重新拓扑非常重要 - 总是问自己“我能以一种更容易重新拓扑的方式放置这个物体吗?例如,不要在裤子和紧身腰带之间留出空隙。这将使重新拓扑过程更容易,因为您将能够将裤子和皮带重新拓扑为一个低多边形对象。 Upload your model in the rendering engine at the early stages of texturing. The textures that you see in Substance Painter viewport might look significantly different in the Unreal Engine. 在纹理的早期阶段将模型上传到渲染引擎中。您在 Substance Painter 视口中看到的纹理在虚幻引擎中可能看起来有很大不同。 Setting up good lighting is very important. Do not underestimate lighting as it can break or make the final render. I made the mistake of overexposing my scene during the texturing and rendering phase. As a result, my textures were looking very light, and the render got very expensive. Make sure that your light is well set up from the beginning. 设置良好的照明非常重要。不要低估光照,因为它可能会破坏或进行最终渲染。我犯了一个错误,即在纹理和渲染阶段过度曝光我的场景。因此,我的纹理看起来非常轻,渲染变得非常昂贵。确保您的灯从一开始就设置良好。 Conclusion 结论 It was a big and intensive project which expanded my knowledge of every aspect of Character for games workflow and taught me about rendering in Unreal Engine. I think this project made me a bit more independent as an artist by teaching me how to research the problem efficiently and use existing techniques to devise my own approach to certain aspects of my project. 这是一个庞大而密集的项目,它扩展了我对游戏角色工作流程各个方面的了解,并教会了我如何在虚幻引擎中进行渲染。我认为这个项目让我作为一个艺术家更加独立,教我如何有效地研究这个问题,并使用现有的技术来设计我自己的方法来解决我的项目的某些方面。 I want to thank my supervisor Nicolas Nino for his huge support and feedback throughout the project – thanks to his help, I managed to get the character to this quality level. I also want to thank the Think Training student community on Discord for their help and their support. And last and not least, I want to thank my family! 我要感谢我的主管尼古拉斯·尼诺(Nicolas Nino)在整个项目中的巨大支持和反馈 - 多亏了他的帮助,我设法使这个角色达到了这个质量水平。我还要感谢Discord上的Think Training学生社区的帮助和支持。最后,也是最不重要的一点是,我要感谢我的家人! Please let me know if you have any more questions about the workflow and would be happy to help. 如果您对工作流程有任何疑问,请告诉我,并乐意为您提供帮助。 Thanks for reading! 感谢您的阅读!
|