qq截图黏贴的话默认还是png,另外obsidian上直接黏贴用local命令反而没法把图保存到文件夹中,那还是知乎上写完再转移。
我想西部世界和artstation那个神庙遗迹场景两个教学能在这两周里完成,十分大的挑战啊!话不多说先来看看西部世界案例。
这个系列一共80节包含了西部小镇建筑建模、建筑部件模块化手动拼装、uv unwrap、基本纹理材质、顶点着色、substance painter遮罩纹理添加表面的污渍、高光、油漆、marmoset/substance designer制作木板纹理贴图、地形编辑、人流、骑马动画。目前我看到37节左右,暂时好像就这么多,后续有新的再加上。
为了后期做地形的水沟、脚印等等需要地形有很高的像素用来雕刻细节?
建立场景先用一个部件导入ue测试相对尺寸大小并以此为标准制作接下来的部件,相对尺寸大小的参照是ue中的mannequin,这个角色180cm左右。作者分析整个小镇建筑后在脑中切图,将部件模块列了一个清单并以此在blender中建模,所有部件按照collection分块,pivot移动到左下角点便于在ue中平铺吸附。这样做十分的模块化,不过应该对想象力、模数比例有很高的要求,在blender中没有可视化的组装等于说建筑的拼装是数值上计算好的,一旦ue中发现不对就要回去改再reimport这还不算多个组件的相对关系问题。3-7节都在做建筑模块部件的block out,然后在ue中摆放组装建筑。



第8节在ue中将建筑部件实例对象分派到组装好的建筑打包一个文件夹,此时以“房子”(house)文件夹为单位,然后复制这些文件夹用其组件实例做调整生产房子的变种。第9-10节通过立方体概括建筑的大小、位置,摆放小镇街道,再复制现有的建筑对其做variation.甚至在ue里面做了建筑立面斜切变化……,想想角点对齐就头皮发麻。




11节做substance designer、marmoset的界面设置准备做木头材质。从12-22节都是做材质的过程marmoset是预览材质效果,制作发生在substance designer,其中用到了许多匪夷所思的节点的使用、遮罩、噪点、模糊、混合、对比度、灰度等等,这种十分专业的纹理制作暂时先放一放,作者自己也说了是为了教学可以给材质的考量,直接用bridge里的材质10分钟不到就能搞定,我就暂时先用市面上的材质库。

23-33节将资产由block out推进到定稿的最终版并做了uv unwrap。这里面涉及一些基础建模、倒角的技巧。西部世界场景里目前看到所有的部件都是由立方体组成的除了一个门把手,因此几乎没有关于mark seam的东西,作者用了sure uvmap这个插件,全是box mapping,我试了下blender默认的cube projection无视物体的旋转,并且内置创建的物体比如圆柱体,另外圆锥最好用圆柱去拟合,不然它的uv unwrap会很奇怪。
34、35节将最终版的建筑模块部件reimport替代block out并做摆放上的微调。列出材质需要控制的元素、纹理清单

这里添加了第二套uv,这套uv整体使用了一次average islands scaling,根据下面这个教学说这个命令可以让texel density均匀,水桶机器人算是个入门级的角色,之前做了一半弃疗了,以后补上。这里用到一个uv tool的插件,可以决定uv maps的顺序,在substance painter中只能使用第一套uv因此需要变换uv的顺序。


进入substance designer,这里有3个事儿要做,一是生成一个项目模板,二是建立智能材质,三是配置导出预设。


在做纹理前需要先烘焙,建立4个fill层,分别对应不同的通道,每个纹理层都加上黑色mask,在smart mask中拖一个过去即可得到如下效果。在参数栏可以调节强度、对比度来控制遮罩的效果。选一个画笔按x键切换绘制和擦除,对遮罩进行绘制编辑。




右键这个项目文件夹创建智能材质,以后即可随意调用。导出前先建立一个导出模板,把对应的通道拖过去。




37节开始制作master material这里需要实现控制color tint(色调)、粗糙度和发现强度的控制。

想要对局部做调整有两种办法一个是做遮罩一个是顶点绘制。作者先演示顶点绘制,在blender的texture paint栏目下给不想添加顶点绘制的部分填充颜色,然后在想添加的部分根据通道上色。


污渍、高光、油漆都是颜色上的变化,那么自然是在base color这里不断地用lerp做文章,把遮罩通道连接lerp,alpha,则遮罩纹理中黑色部分显示a,白色部分显示b,显然我们希望的是黑色部分显示base color作者这里连错了,后来通过1-x函数跌倒了关系修正。



通过multiply可以增强遮罩,也可以回substance painter调整。
38节导入wood plank的base color、normal、roughness、paint mask,然后每一项加布尔参数届时让材质实例去判断要的是整片木板材质还是长条wood plank材质。

如果使用base color paint作为base color这里再添加paint mask,用lerp来混合木板的上漆颜色。注意这里的paint_mask_invert实际上是木门上的mask,在墙面wood plank上并不希望使用这些mask,到这儿在逻辑上已经很复杂了,可以说是强行为了使用单一master material而不得不增加许多判断,这样的话材质实例上也会有诸多的选项,即使有注释一些类似的概念可能会混淆。



把顶点绘制用绿通道拖过来,这里实质上是混合两种材质Base_Color和Base_Color_Paint(在添加遮罩lerp混合paint color之后)。不要搞混了,之前的paint color是不具备顶点绘制功能的,只是单纯的通过mask混合了一层颜色,演示中看似涂抹上漆实质上是把整个带遮罩的Base_Color_Paint覆盖Base_Color材质,可以看到Vertex_Paint_Removal还拉出两根线是连接到normal、roughness,也就是说在绘制颜色纹理的同时也在绘制对应的粗糙度、法线,这样才能起到整个材质效果的绘制覆盖。


再添加了无斑驳上漆遮罩的纹理层,引入蓝色通道做顶点绘制,这样就等于混合了三种材质。



39-40节从substance designer导入多个木头变种的纹理贴图,调整环境灯光。这里暂时不明白为什么有的只导入base color而有的则带上了normal、roughness,没有具体看sd里面的操作不知道是否存在几套normal。旋转directional light调整整个环境的时间点(清晨、正午、傍晚、夜间)。


这里提到了GI global illumination的概念,ue5中修改directional light会影响GI,以下是chatgpt的介绍。
在 Unreal Engine 中,GI 表示全局光照(Global Illumination)。全局光照是一种计算方法,用于模拟光在场景中的间接反射和漫射传播,从而增强场景的真实感和光照效果。
GI 在游戏引擎中是一个重要的渲染技术,它可以使场景中的物体和环境相互交互,通过间接的光照效果,使场景更加逼真。在传统渲染中,只有直接光照(由光源直接照射到物体表面)会被考虑,而忽略了物体间的光影互动,使得场景显得较为平面和不真实。
GI 使用各种算法来模拟光的传播和反射,其中最常用的方法之一是光线追踪(Ray Tracing)。Unreal Engine 通过其内置的光线追踪技术和其他一些预计算和近似计算的方法,实现了高质量的全局光照效果。这些技术可以提供更真实的阴影、间接光照、环境光遮蔽等效果,让场景看起来更加逼真。
需要注意的是,GI 是一种计算密集型任务,对硬件性能要求较高。因此,在较早的游戏引擎版本中,全局光照可能是一个相对较昂贵的操作。随着硬件技术的发展和引擎优化,GI 的计算效率逐渐提高,使得越来越多的游戏可以使用这种高质量的光照技术来提升视觉效果。

在directional light中可以改变当前时点的灯光强度,为环境光叠加色调,作者似乎就调整了这两个,然后是sky light,里面的intensity scale会增强环境光对比度。


对云彩控制,也会影响环境光。

postprocessvolumn是在所有效果之后再添加的,其中min max bright似乎是控制亮度统一。我记得在joe garth的场景制作中也有设置这两个参数。不过最终看来好像设置的东西都看不出来,基本可以跳过。

设置雾气,强度、起始位置、颜色、体积。


41、41节通过sd做屋顶板的材质,暂时跳过,这里是直接将一个坡面用瓦片组材质覆盖,显然要做好的效果得通过建模、雕刻和添加材质,这在之前荣耀战魂的那个教学示范里有。我想相关的教学应该有不少。屋顶板方面做了一些模型上的分离挤出,这和45小时环境设计大师班里面做鹅卵石路面的手法差不多。



44节介绍用parallax occlusion mapping做出屋顶板的高度效果,把pixel depth offset连接。我去查了height map和normal map、displacement map的区别,感觉chatgpt也在捣糨糊……。暂时不是太清楚,总之height map是不改变物体的几何特征的,因此属于一种节约性能的替代手法。其中heightmap channel作者自己都不知道为啥要这么连。



作者做了一半,控制台报错了,他解释说是sample map不能超过10几个,这也是无限叠加master material中的逻辑想要所有材质都继承的弊端吧?这可能也是为什么会有多通道贴图的原因吧?作者提到要规避贴图数量的话就得合并贴图了也就是打包成多通道贴图。不过到这里为止我突然又发现这么做master material也没毛病啊,虽说墙面用不到门的油漆、高光、污渍遮罩贴图,但贴图是可以改的比如屋顶板可以有自己的油漆、高光、污渍,我一开始是把墙面的上漆和门的局部上漆给搞混了,一个是大片的一个是局部的,因此大片上漆的逻辑是和clean(无漆)绑定的,这么看来要在起初就构想好所有的参数(表面效果)不可能,只有随着不断的增加对象给材质实例时才会补完整。

直接复制了木板的材质实例改个名变屋顶板材质实例,然后把屋顶板的各个对应纹理贴图拖上去就完事了。由于parallax occlusion map较近、和中距离看都能感觉到一定的厚度。



45节给场景中的各个static mesh上材质。像这个木托梁直接用bare wood连参数都不用改,毕竟在一个不起眼的位置加遮罩做细节污渍、高光、上漆似乎没啥意义?

把阳台的栏杆和地板各自ctrl j打包,似乎打包后会导致脱离原来的collection,再丢回去就是了。注意阳台地板只有上面那块大面打包了,却没有打包四周,我暂时不清楚为啥。在blender中不同物体可以一起进入uv模式,设置第二套uv用来做sp上漆、污渍、高光的遮罩。最早在36节对木门做过了一遍,直接打开之前设定好的模板,烘焙后添加之前设定好的智能材质。注意这里之所以要将其分开距离,是为了在sp中好上色遮罩不会互相碰到,打包一起导出是方便同时绘制。


高光遮罩是内置的选项驱动的基本通用,这种边缘也不太可能手绘调整。污渍层我不明白为什么地板这块只往一侧,这是确定那一层靠室外所以容易脏吗?因为我没仔细观察不确认作者绘制的是不是靠外的一层。上漆遮罩的绘制集中在两侧。



作者复制了一个门的材质实例,base color是那种浅的咖啡色,第一版遮罩的效果,可以看出来远不如遮罩样板的预期,也可能是视频中的黑白对比度高?总之paint removal看上去就是浅浅的刮掉一些,栏杆上更是几乎没有,污渍层也看不出来。不过它这个污渍的颜色和base color是相近的咖啡色,因此720p画质好像是看不大出来。



这是修改了污渍的色阶加强了对比度以及重新加强了上漆遮罩绘制后的效果。


45节结尾给栅栏做了个变种,取消了整体上漆(has_Painted_Version),替换了base color,效果中所见的白色即high light。从这个角度隐约可以看出污渍与base color咖啡色的不同。


46节给门把手添加材质,texture.com上面直接下载的。这里出现了material slots复数elements,之前下载了一套kitbash碰到了这个我以为是在ue中merge actor产生的,今天搜了下ue导出资产到blender发现有相关的插件用gltf格式,可以看出来导入到blender后其部件就拆解了,实质上这是在blender中多个物体打包导入到ue才会产生复数elements。



7.6测试发现将物体打包在一个collection添加不同的材质导出即可拥有复数elements。


回到46节教学视频接着为门的变种添加材质,这里就很清楚了,在blender中有划分材质,导入到ue就会按照这种划分形成复数elements。立柱添加bare wood材质。


三角山墙也用了高度贴图配合parallax occlusion.

47节给墙面、小屋、cornice加上材质,作者提到目前所有的建筑部件看起来着色都一样很无趣,之后会通过变化顶点绘制、遮罩等等来处理。



给3个窗加上上漆、污渍、高光遮罩。窗户给的材质没有激活上漆,因此paint removal遮罩没起到作用,黑色部分是污渍遮罩。


48节给楼梯、过道加上上漆、污渍、高光遮罩。


49-51节开始制造着色变化先是墙面换了个base color,每做一种新的着色效果本质就是复制一个材质实例修改里面的几个选项属性。阳台正面的墙使用顶点绘制,fill可以整个填充,等于说是完全切换了一种材质。

这里在明确一下带斑驳的上漆、不带斑驳的上漆、无漆原木色各自是base color通过顶点绘制去决定三者的比例,原木色base color带有上漆、污渍、高光遮罩。作者进行顶点绘制时失败,暂时没能解决问题。先给各个部件上基础着色。


材质的逻辑是master material控制所有参数选项,然后延伸出第一层级的实例,比如door bare wood、wall plank wood,这些是在normal上、roughness等纹理上与对应建筑部件配位的,再然后是添加颜色变化的最终实例如wood bare blank painted gray、wood bare blank red(用于柱子)。

51-52节添加顶点绘制,顶点绘制这部分逻辑叠加几层在脑中构想太烧脑了还是实战到时候总结吧。我想这篇差不多到这里,剩下的放第二部分,这个作者的建筑模块化主要的科技树应该都差不多了,我得看看其余作者是怎么做这个流程的。
评论