虚幻引擎5+SpeedTree 9 ! 制作橡树模型流程分享!-丨CG小苏
316 0
实名

通过了实名认证的内容创造者

发布于 2024-2-29 23:20:56

您需要 登录 才可以下载或查看,没有账号?注册

x
“CG小苏 ”再点右上角“ ...”最后设为星标 ★
-------------------------------------- | CG小苏 | 分享最前沿的CG技术-游戏开发-CG自媒体平台 |                     
9457ca76928cbf242a1eb8ef00debdb5.png image.png
         作者: Elia Luongo   作者网站:https://www.artstation.com/artwork/OG4zb6

.
介绍                                 我是埃利亚·隆戈。我今年 30 岁,住在意大利。我进入 3D 行业的旅程始于攻读城市规划硕士学位的最后一年。此后,与 AEC 领域的许多其他人一样,我在建筑可视化行业广泛工作。自从我的毕业论文以来,我已经开始探索更广泛的软件和工作流程。[micxp_wxonkey]wxv_3316925255909392389[/micxp_wxonkey]

.
目标                                 像我们大多数人一样,我没有很多空闲时间,对于我的项目,我通常目标是尽可能高效。在过去的两年里,我开始接触 3D 植被,这是我的弱点之一。每次我需要一棵树或灌木时,我都必须依赖现有的,而且通常它们并不像我需要的那样接近我的参考目标。我有幸开始在办公室使用 SpeedTree,从那时起,它就成为我最喜欢的软件之一。我喜欢山脉、树木和寻找蘑菇,能够复制我在现实世界的美丽中看到的大部分东西对我来说是一件不可思议的事情。虚幻引擎是 SpeedTree 的补充,四年来它一直是我工作流程的一部分。现在,我非常喜欢路径跟踪功能,并期待他们在路线图上的令人兴奋的更新。
.
项目                                 我开始这个项目时考虑到三个主要目标:使用摄影测量(这是我在工作中没有关注的东西)为参考照片的美丽树干创建自定义纹理,并创建一个非常漂亮的纹理。复杂的轮廓需要大量的手动调整,这不是我常见的“程序”工作流程。最后,我希望最终输出具有“电影”复古外观,这在我的个人目标清单中,尤其是某些剪辑中,已成功实现。

.
软件                                 对于这个项目,我使用了:我的 Android 手机上的 RealityScan 应用程序用于获取树皮纹理。用于 HighPoly 到 LowPoly 烘焙和纹理调整的 Substance Designer。SpeedTree 用于高多边形树枝、簇纹理和橡树建模。3ds Max 和 TyFlow 用于清理扫描和摆动动画。Adobe Firefly 用于苔藓创作。虚幻引擎用于首次遮挡、照明和渲染。用于颜色分级的 Adobe Premiere。Megascans 资产用于布景。
.
参考与启发                                 我从很多来源收集灵感,并且只在开始我的作品时牢记以下几点:我去过的地方,尤其是 Instagram 上的自然照片,这对我来说很重要。
有很多令人难以置信的摄影师分享他们的作品,其中一些人“对我说话”。电影和音乐视频 Artstation 是灵感和知识的另一个重要来源。





对于 The Oak 项目,我的灵感来自 Caitlin Fullam 的 Instagram 照片,描绘了一棵美丽的老树和一个悬挂的秋千。我不是我想成为的叶子专家,但我猜它来自橡树品种,特别是,我认为它是毛栎,在意大利语中称为 Roverella。对于这个项目非常重要的另一个来源是SpeedTree 频道中发布的 YouTube 视频,展示了 Studio Gimbal 如何创建植被(这令人难以置信),我以某种方式遵循了它,但知道我不需要游戏树,这让我走了在polycount上免费。[micxp_wxonkey]wxv_3316948825465176066[/micxp_wxonkey]我本可以在建模上进行更多优化,但作为一个个人电影项目而不是游戏项目,我更喜欢工作流程的效率。
.
摄影测量、烘焙和网格转换器的使用                                 正如我之前所说,我不是摄影测量领域的专家,但我仍然想用它来创建一些个人扫描和纹理。于是我走进附近的树林,寻找类似的物种并使用了 RealityScan 应用程序。幸运的是,扫描进行得很顺利,我从 Sketchfab(不是 highpoly 源)下载了 FBX 模型,大约有 100 万个三角形。我将模型导入 3ds Max,清理了坏的部分、底部和顶部。我复制了模型,使用重新拓扑修改器作为基础,然后进行了一些调整并对低多边形模型进行了 UV 处理,该模型大约有 5k 多边形。
[micxp_wxonkey]wxv_3316930714762493958[/micxp_wxonkey]​

我需要常见的 PBR 贴图和直接来自扫描的反照率。因此,我将两个模型导入到 Substance Designer 中,并使用烘焙工具收集所需的所有贴图。我几次返回 Designer 对反照率图进行了一些颜色调整,其中深色和浅色树皮区域之间的差异太大,这对于掩盖不同树木部分的重复很有用,但最初有点太多了。

新版本 SpeedTree 的摄影测量功能可让您使用 MeshConverter 节点以非常快速且简单的方式从扫描的资源创建平铺纹理。它非常直观,将顶部和底部点从您需要纹理的位置移动。您可以根据需要选择混合类型,然后只需导出贴图即可。在找到完美的点和混合之前我做了几次。

.
草图和建模                                 我在虚幻引擎中使用基本地形网格(然后成为实际地形)、基本树形状和基本照明进行了相当快速的遮挡。我尝试模仿参考照片中的相机和纵横比,但又不太精确。然后,我开始考虑填充场景所需的资源,从主要主题、橡树、秋千和剩余的树叶(草和灌木)开始。当然,我从大树开始,我想重新创建与参考非常相似的树。我很想使用 Blender 或 ZBrush 来进行树干建模,但幸运的是,这次我全力以赴使用 SpeedTree,我认为这节省了很多时间。由于雕刻功能和较新版本的 SpeedTree 实现的所有新节点,我能够将树所需的所有细节到位,例如一些肿块和雕刻区域(记住可见的距离,所以是的,我并没有为细节而疯狂)。

.
分支机构的高聚模型                                 在场景中第一次遮挡树之后,我已经知道我必须在树的性能方面进行一些改进,特别是考虑到即将推出的动画。所以我决定使用集群选项进行分支分发。我在 SpeedTree 中进行了建模,对有叶子和没有叶子的树枝做了一些变化。然后我使用正交相机导出纹理。

.
节点结构                                 正如我之前所说,我想重新创建一棵与参考照片非常相似的树,它有一些特殊的元素和非常明确的结构。为此,我使用了大量的 Node 和 Freehand 模式来对大部分基础部分进行建模。我喜欢 SpeedTree 的程序性质,但手动更正是实现预期结果的唯一方法。基本结构确定后,我从程序阶段开始。我使用叶状体作为分布分支,并在其上放置了锚点。有了这些,就可以在现有网格上生成其他网格。
正如您在节点结构图中看到的,我使用了很多节点。颜色是识别节点不同角色的有用方法。例如,当我需要同时修正多个节点时,选择具有相同角色的节点会更容易。
苔藓的生成是通过新的投影仪和贴花功能实现的。首先,我动态创建了苔藓:我在对树进行最后一次调整时,我注意到缺少一个元素:苔藓。我很着急,决定使用 Adobe Firefly 创建一些苔藓丛,通过 Photoshop 上的一些遮罩和通道,我能够在树干上生成一些苔藓网格。我将它包含在备用空间的分支图集中,并使用投影仪仅在右侧生成苔藓,如参考照片所示。生成时使用的投影仪中的节点是贴花节点,非常适合该角色。







.
动画 – 风和秋千                                 该项目的主要优势之一是动画。对于树和草,我都依靠 SpeedTree 来制作动画,特别是在“Legacy”模式下。我使用了新的游戏模式;这次我也尝试了,但即使你被锁定到一个节点动画,再加上一般运动和叶状/叶子动画本身,旧版还是获胜了。[micxp_wxonkey]wxv_3316930979070754816[/micxp_wxonkey]对于摇摆动画,一开始,我尝试使用附加到电缆演员的网格,但它不起作用。由于时间和想法有限,我决定使用 3ds Max 和 TyFlow。
为此,我需要树网格作为“衣架”,因此我导出了主树干并将其导入到 3ds Max 中。我只知道TyFlow的基本操作,所以我通过YouTube圣经来了解一些知识。它非常适合我的动画目标,即具有不同风强度的摇摆动画。然后,我将其导出为 Alembic 动画,并将其作为点缓存导入到 Unreal 中。[micxp_wxonkey]wxv_3316931248848388096[/micxp_wxonkey]​

.
草和灌木丛                                 在参考照片中,有很多田野草,我想让它或多或少保持相同。我收集了一些 Megascans 地图集,并用它们来创建草网格,而不需要许多纹理集。在我看来,我使用 Dash 工具进行散射,这是虚幻引擎的最佳散射(而且不仅仅是)选项。也就是说,我的下一个学习目标之一是 PCG 拥有我的分散工具。表面散布工具非常灵活,具有所有遮罩选项:例如,用于通往树的路径的路径遮罩或用于破坏边缘均匀性的边缘遮罩。散布草后,我决定在场景中插入一些其他元素,一些光秃秃的灌木丛,以增加更多的兴趣。[micxp_wxonkey]wxv_3316931797949890562[/micxp_wxonkey]​.
材料                                 我的项目中的树叶资源已经有了相当复杂的主材料。特别是,该材质对基色有很多控制:色调、饱和度、对比度、亮度、从网格枢轴开始的污垢遮罩、宏观变化叠加;许多用于地下的控件,它们在两侧独立运行,其他着色控件如基色;世界位置偏移属性的几个控件,从风动画的 SpeedTree 节点开始。除了所有实例参数的“单一”控制之外,还有一个材质参数集合,其中包含十几个全局参数,例如一般色调基色变化、粗糙度乘数,尤其是风力控制,可用于减轻、增强或停止风力。我根据主材料创建了所需的所有实例。具体来说,树具有三种材质:一种用于树干和主枝(非半透明材质),一种用于分布枝,一种用于树叶。

.
灯光                                 当一切都变得栩栩如生时,照明时间始终是我最喜欢的部分之一。在项目开始时,我想模仿参考图像照明,但在第一次遮盖之后,我想更有创意。因此,我开始尝试定向太阳+大气和 HDRI,最后对每个场景进行以下设置:第 1 个和第 4 个为定向光 + 天空大气;第二个是 HDRI + 定向光(对高光和阴影有非常轻微的影响);第 3、5 和 6 次仅使用 HDRI;HDRI 加上矩形灯用于第七个场景,夜景,我最喜欢的与第一个照明一样。我必须指出,对于电影项目,我始终使用路径跟踪渲染模式,这为我提供了我想要的真实感、颗粒感和间接光。



.
染和颜色分级                                 渲染非常简单。我为每个照明创建了一个序列,里面的主要内容是秋千绳的几何缓存组件、材质参数集合中的全局参数,这些参数改变风的强度以获得一些受控的阵风、轻微的相机抖动以及最后的定向动画某些场景的灯光。我使用电影渲染队列渲染出所有场景,每个场景由 24 fps 的 290 帧组成。我用足够干净所需的样本进行了一些测试,最后我选择了 16 个时间和 8 个空间。使用 RTX 3090,每个序列的总渲染时间为 2-4 小时。之后我使用Premiere进行剪辑和调色。我主要使用 Lumetri Color、轻微的颗粒添加、使用高斯模糊效果的一些光晕效果,仅此而已。



.
结论                                 这是我最喜欢的作品之一,尤其是我在路上学到的东西和取得的成果。我越来越受到自然环境和植物的启发,它们可能会成为我未来作品的主题。我计划稍微绕道不使用路径追踪器,并给 Lumen 一个机会来打造一个更加以游戏为中心的环境。感谢您阅读本文,如果您有任何问题或反馈,请提出!




1                                                                    END
声明:本文章中所有的图片和视频都归原作者所有,仅供大家参考学习和交流,不作商业用途,侵删。如果你喜欢这篇文章,欢迎转发!谢谢!更多学习和交流可扫描下方二维码哦!

授人以鱼不如授人以渔!B站和微信公众号关注: CG小苏  每日分享最前沿视频教程和技术文章白嫖资源!
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表