做地编和场景搭建的兄弟,应该都有这种体会:真正花时间的常常不是模型,而是地面材质。场景里随便铺几块地,草地、泥地、碎石路、水泥地一换,风格就全变了。模型造型再准,贴图不对,一进引擎就“塑料感”“纸片感”;贴图对了,哪怕用最基础的白模盒子,氛围也能立起来。这次要看的是一套很实用的PBR地面纹理素材:砖石、碎石、混凝土地面,以及水泥地、土地、草地、石头地、树皮这几种常见地表材质,全部按4K分辨率输出,可以直接进Unity、Unreal、Blender这类DCC和引擎管线。
先给结论:这套素材的价值在于“高频、通用、能直接出效果”。砖石和混凝土适合建筑场景、废墟、城市地编;土地和草地适合野外、公园、乡村;石头地和树皮适合山体、岩石、树木细节;水泥地适合室内外地面和现代场景。加上PBR工作流的核心贴图齐全,BaseColor、Normal、Roughness、Metallic、Height/AO这些通道都能用,平铺一下,一个基础地表就出来了,不需要自己从零开始烘焙法线和AO。
这篇博文就按“能不能用、怎么用、效果怎么验证、坑在哪里”这个顺序走。我会把贴图通道怎么检查、Unity和Unreal里怎么导入、Blender里怎么接PBR节点、4K贴图的内存占用怎么算、批量素材怎么管理、常见接缝和法线方向问题怎么排查,全部过一遍。看完之后,你可以直接拿这套纹理去搭一个测试场景,自己验证效果。
1. 核心能力速览
先说清楚这套PBR纹理包到底是什么。它属于“地表/环境贴图素材”,不是软件工具,也不是AI模型,不需要安装GPU推理环境,更不需要显存跑模型。你要准备的是3D软件或游戏引擎,以及一个合理的文件目录。
| 能力项 | 说明 |
|---|---|
| 素材类型 | PBR地面纹理贴图,覆盖砖石、碎石、混凝土、水泥地、土地、草地、石头地、树皮等常见地表材质 |
| 纹理分辨率 | 4K(4096×4096),适合中近景地面表现 |
| 贴图通道 | 以PBR标准工作流为主,包括Base Color/Albedo(固有色)、Normal(法线)、Roughness(粗糙度)、Metallic(金属度)、Height/Displacement(高度)、AO(环境光遮蔽)等;实际通道以素材包文件为准 |
| 应用方向 | 游戏场景地编、建筑可视化、CG渲染、虚拟场景、室内外地面、树木树干细节 |
| 适配软件 | Unity、Unreal Engine、Blender、3ds Max、Maya、Substance Painter/Designer等支持PBR贴图的工具 |
| 硬件需求 | 不需要专用GPU;但4K贴图会占用显存,建议在引擎中使用压缩格式并开启Mipmap |
| 启动方式 | 无需启动服务;直接在DCC软件或引擎中导入贴图 |
| 是否支持API | 素材包不提供API;但可以通过Python/Editor脚本批量检查、批量导入 |
| 是否支持批量任务 | 支持:脚本批量导入、批量重命名、批量生成预览、批量检查贴图通道完整性 |
| 适合人群 | 3D地编、场景美术、Unity/Unreal开发者、建筑可视化设计师、Blender使用者 |
需要说明的是,不同渠道的PBR素材包,贴图通道命名可能不同。常见命名有_BaseColor、_Normal、_Roughness、_Metallic、_Height、_AO;也有素材包直接把AO合并进Roughness,或者把Metallic和AO合成一张图。拿到包之后,第一步不是往引擎里拖,而是把每张贴图通道先认全。
2. 适用场景与使用边界
这套纹理最适合的场景是“需要一个真实、自然、可快速出效果的地表材质”。举例来说:
- 游戏地编:野外场景的草地、土地、碎石路,城市废墟的砖石和混凝土,主干道边的人行道砖。
- 建筑可视化:人行道、庭院地面、室内水泥地面、花园草地。
- CG渲染:Blender或3ds Max里做静帧、动画场景的地面,配合Cycles、Octane、Arnold这类渲染器。
- 树木制作:树皮贴图可以直接用在树干材质上,搭配粗糙度和法线,树干细节立刻出来。
- 虚拟场景/短视频场景:快速搭一个地面,不需要自己动手画贴图。
什么情况下不适合这套素材:
- 需要“程序化生成”或“完全随机变化”的场景。贴图包本质是固定纹理,虽然有平铺特性,但大面积铺开时会有重复感,需要用多层混合、顶点绘制或贴图阵列来打破规律。
- 需要极端特写的材质。4K分辨率在大多数场景够用,但如果摄影机贴着地面拍,仍然可能看到纹理细节不足。
- 需要完全个性化、按项目定制风格。素材包提供的是“通用真实感”,要配合调色、混合和程序化细节才能做到“项目专属”。
使用边界和合规问题,放在前面说清楚。PBR纹理素材包通常有授权协议,分个人版、商业版和无限版权,下载和使用前要确认授权范围。如果是团队项目、外包项目或上线项目,必须确认素材可以商用。素材包可以用于学习、测试、作品创作,但不要直接二次转售贴图文件本身。更不要随意将未授权的素材放进公司资产库,容易引发版权纠纷。
另外,涉及真人照片扫描类纹理时,要注意肖像权和场地权问题。普通的地面纹理不涉及肖像权,但如果你在实拍场地进行扫描采集,最好确认场地允许拍摄和扫描,避免法律风险。
3. 环境准备与软件前提
这套素材不挑硬件,但有一套软件和工作目录,建议按规范准备。
操作系统方面,Windows 10/11、macOS、Linux都可以。硬件上,如果只是导入纹理做静态渲染,CPU内存8GB以上、显存4GB以上就能跑;如果要在大场景里大量铺4K贴图,建议显存8GB以上,并开启纹理压缩和流送。
需要的软件取决于你最终输出到哪个平台:
- Unity:建议Unity 2019.4以上版本,支持PBR Shader和法线压缩设置。新版URP/HDRP管线也兼容。
- Unreal Engine:建议UE4.26以上或UE5.x,DirectX 11/12渲染。
- Blender:建议Blender 3.x/4.x,使用Principled BSDF节点。
- 3ds Max/Maya:配合Arnold、V-Ray、Redshift等支持PBR纹理的渲染器。
- Substance 3D Designer/Painter:用于进一步调整贴图参数或生成变体。
工作目录建议这样组织:
PBR_Ground_Textures/ ├── BrickStone_砖石/ │ ├── BrickStone_BaseColor.png │ ├── BrickStone_Normal.png │ ├── BrickStone_Roughness.png │ ├── BrickStone_Metallic.png │ ├── BrickStone_Height.png │ └── BrickStone_AO.png ├── Concrete_混凝土/ ├── Cement_水泥地/ ├── Soil_土地/ ├── Grass_草地/ ├── Rock_石头地/ └── TreeBark_树皮/命名规范在PBR资产导入里非常重要。引擎会通过后缀名识别贴图通道,比如_Normal会被识别为法线贴图,_Mask可能被识别为遮罩贴图。如果你拿到的素材包没有统一命名,建议先批量重命名。命名格式推荐:
材质名_贴图通道.png BrickStone_BaseColor.png BrickStone_Normal.png BrickStone_Roughness.png这样导入Unity或Unreal时,引擎能较容易地把通道对应起来,人眼排查也快。
4. 导入方式与PBR工作流
导入方式取决于你使用的软件。这节分别给Unity、Unreal、Blender和Substance Designer的通用导入流程。注意,不同引擎和渲染器对贴图颜色空间、压缩格式、法线方向都有不同要求,这是最容易踩坑的地方。
4.1 Unity导入PBR纹理
Unity的默认渲染管线中,PBR材质通过Standard Shader或URP/Lit Shader实现。
第一步,把纹理文件夹整体拖到Project窗口。
第二步,选中Base Color贴图,在Inspector面板中确认:
- Texture Type设置为 Default;
- sRGB Color Texture保持勾选,因为固有色贴图是sRGB颜色空间;
- 如果你在URP/HDRP管线中使用,可以启用sRGB。
第三步,法线贴图单独处理:
- Texture Type要设置为 Normal map;
- 如果启用Create from Grayscale,会基于灰度重新计算法线,这通常不推荐,因为素材包已经提供了法线贴图,不要重复生成;
- 纹理压缩格式按平台选择,移动端建议ASTC,PC建议BC7,质量优先时可用RGBA32。
第四步,把各通道拖到材质上:
Albedo -> Base Map / Base Color Normal -> Normal Map Metallic -> Metallic Map Smoothness -> Smoothness(Roughness需要反转或勾选Smoothness from Alpha) Height -> Height Map(可选) AO -> Occlusion Map注意Unity里Standard Shader的Smoothness和Roughness是“反向”概念。如果你的素材包提供的是Roughness贴图,把Roughness连接到Smoothness时需要取反,或在材质面板勾选Smoothness从Alpha读取。也可以在导入时对粗糙度贴图做颜色反转,但最好在材质层级处理,便于后续调整。
4.2 Unreal Engine导入PBR纹理
Unreal默认使用Roughness和Metallic工作流。
导入后需要设置纹理属性:
- Base Color:sRGB开启,纹理组设为World或Effects。
- Normal:压缩设置选择Normalmap,取消sRGB。
- Roughness、Metallic、AO:取消sRGB,压缩格式可使用BC5或BC7。
材质蓝图里连接:
BaseColor -> Base Color Normal -> Normal Roughness -> Roughness Metallic -> Metallic AO -> Ambient Occlusion Height -> 如果使用Tessellation或Pixel Depth Offset,可连到World DisplacementUnreal的法线贴图使用DirectX格式。如果素材包法线贴图偏紫色发暗,或光影方向不对,很可能法线是OpenGL格式,需要在导入设置里勾选Flip Green Channel。
4.3 Blender导入PBR纹理
Blender使用Principled BSDF节点,连接方式比较直观。
新建材质后,在Shader Editor中建立如下节点:
Image Texture (Base Color) -> Base Color Image Texture (Normal) -> Normal 输入端 Image Texture (Roughness) -> Roughness Image Texture (Metallic) -> Metallic Image Texture (AO) -> AO 可以通过MixRGB或Color Multiply混合到Base ColorBlender的法线贴图默认按OpenGL方式解析,如果发现法线方向不对,可以在图像节点后加一个Normal Map节点,并切换Method为Tangent,同时检查颜色空间是否设置为Non-Color。Base Color设为Color,其他所有PBR通道都设为Non-Color,这是Blender里最常见的错误。
4.4 在Substance Designer/Painter中使用
如果你想在这套基础纹理上做变体,可以把Base Color、Normal、Roughness、Metallic、AO分别导入Substance Designer,然后通过节点调整UV平铺、颜色变化、破损程度。也可以在Substance Painter里作为智能材质的基础贴图,叠加蒙版做混合,批量输出不同风格的材质。
5. 功能测试与效果验证
拿到素材包之后,先不要急着搭整个场景。按下面的顺序做一轮“贴图功能体检”,确认每一张图都可用、方向正确、通道完整。
5.1 通道完整性检查
先用图片查看器或脚本快速浏览每个材质文件夹,确认以下通道是否齐全:
- BaseColor:有颜色信息,不是全黑或全白。
- Normal:偏蓝紫色,有一定变化,不全是128,128,255。
- Roughness:灰度图,黑代表光滑,白代表粗糙,有层次。
- Metallic:如果是非金属材质,整张图接近黑色;如果有金属碎片,局部有白色。
- Height:灰度图,黑底白凸起。
- AO:灰度图,暗部集中在缝隙和凹陷处。
如果某张贴图通道缺失,可以临时用其他通道替代。比如没有Height贴图,可以用Normal贴图生成灰度置换,但效果会打折;没有AO,可以在BaseColor上叠加一个Curve调暗缝隙,也能模拟一部分。
5.2 平铺度与接缝测试
无缝平铺是地面纹理的核心要求。测试方法很简单:
- 在Blender中新建一个平面,把Base Color贴图连上去;
- 在UV编辑器中把UV Scale调到4×4或8×8;
- 渲染后观察是否有明显横竖接缝、明暗断层。
如果发现接缝,优先检查是否开了纹理过滤和Mipmap。有时接缝不是贴图问题,而是Mipmap或压缩导致的边缘暗边。其次是检查纹理是否本身有接缝,可以用Photoshop或GIMP的Offset滤镜平移一下图像,检查边缘是否连续。如果边缘不连续,需要在Substance Designer里做平铺修复,或者使用引擎的Triplanar投影。
5.3 法线方向测试
法线贴图方向错误是最隐蔽的问题。表面看起来有细节,但光照效果完全不对,凹凸方向是反的。
测试方法:在Blender或Unity里给平面一个明显的方向光,观察凹槽和凸起。如果砖缝应该是凹下去的,却看起来凸起来,说明法线方向反了。
处理方法:
- Unity中,如果法线贴图导入时设置为Normal map,通常不会出大问题;如果仍然反向,最直接的办法是在材质球中调整Normal Scale为负值,或把贴图绿色通道反转。
- Unreal中,勾选/取消Flip Green Channel。
- Blender中,在Normal Map节点前添加一个MixRGB节点,把Green通道取反,或者在图像节点中调整 colorspace。
5.4 粗糙度和金属度验证
地面材质大部分是非金属,Metallic通道应该接近全黑。如果Metallic贴图有大量白色区域,渲染时会出现金属反射效果,地面看起来像涂了漆。处理办法是在材质中把Metallic贴图强度降低,或用Level节点把整体压到很低的灰度范围。
Roughness贴图则决定了高光的聚散。草地的Roughness很高,高光应该很弱很散;水泥地中等,会有柔和的高光;碎石和砖石表面粗糙,高光应分散;如果Roughness值过低,地面会像湿水或打蜡,需要调整曲线。
5.5 4K与2K对比测试
4K纹理在特写和中景表现更好,但性能成本更高。建议在正式制作前做一组对比:
- 同一材质分别导入4096和2048版本;
- 在同一场景中,摄影机分别放在1米、5米、10米距离;
- 观察视觉差异和显存占用。
如果场景中地面不是主要视觉焦点,2K通常已经足够。4K留给近景、建筑立面、树干等需要细腻纹理的部分。
6. 批量导入与贴图通道检查
这套纹理包不涉及API接口,但作为素材资产,批量管理非常重要。几十张贴图靠手动拖拽,效率低且容易漏图。这里给出两套脚本方案,一是Python脚本检查贴图通道完整性,二是Unity Editor扩展脚本批量设置纹理导入参数。
6.1 Python脚本检查贴图通道
import os from pathlib import Path # 假设目录结构为 根目录/材质名/贴图文件 root = Path("./PBR_Ground_Textures") required_channels = ["BaseColor", "Normal", "Roughness"] warning = False for material_dir in sorted(root.iterdir()): if not material_dir.is_dir(): continue files = {f.name for f in material_dir.iterdir() if f.is_file()} missing = [] for channel in required_channels: if not any(channel.lower() in name.lower() for name in files): missing.append(channel) if missing: warning = True print(f"[缺失] {material_dir.name}: {', '.join(missing)}") else: print(f"[OK] {material_dir.name}") if warning: print("有材质缺少关键通道,请检查后再导入引擎。") else: print("所有材质关键通道完整。")这个脚本按目录名逐个检查,如果某个材质缺少BaseColor、Normal或Roughness,会直接列出来。Metallic和AO可以做成可选检查项,因为部分材质包会合并通道。
6.2 Unity批量设置纹理导入参数
在Unity中批量导入纹理时,最麻烦的是法线贴图需要单独设置Texture Type。可以写一个Editor脚本:
using UnityEngine; using UnityEditor; using System.IO; public class TextureImporterHelper : EditorWindow { [MenuItem("Tools/批量设置PBR纹理")] static void SetupTextures() { string folder = "Assets/PBR_Ground_Textures"; string[] guids = AssetDatabase.FindAssets("t:Texture2D", new[] { folder }); int count = 0; foreach (string guid in guids) { string path = AssetDatabase.GUIDToAssetPath(guid); TextureImporter importer = AssetImporter.GetAtPath(path) as TextureImporter; if (importer == null) continue; string fileName = Path.GetFileName(path).ToLower(); if (fileName.Contains("_normal")) { importer.textureType = TextureImporterType.NormalMap; } else if (fileName.Contains("_roughness") || fileName.Contains("_metallic")) { importer.textureType = TextureImporterType.Default; importer.sRGBTexture = false; } else if (fileName.Contains("_height") || fileName.Contains("_ao")) { importer.textureType = TextureImporterType.Default; importer.sRGBTexture = false; } else { importer.textureType = TextureImporterType.Default; importer.sRGBTexture = true; } importer.SaveAndReimport(); count++; } Debug.Log($"已批量处理 {count} 张贴图。"); } }这个脚本放到项目的Editor目录下,菜单栏会出现“Tools/批量设置PBR纹理”,一键处理整个文件夹的贴图类型和颜色空间。注意脚本里是用文件名后缀匹配通道,如果你的素材命名不规范,需要先按4.1节的命名规则批量重命名。
6.3 批量生成缩略图预览
素材多了以后,光看文件名很难回忆起每张贴图的样子。可以用Python和PIL批量生成缩略图,把BaseColor、Normal、Roughness拼到一张图上:
from PIL import Image from pathlib import Path root = Path("./PBR_Ground_Textures") output = Path("./Preview") output.mkdir(exist_ok=True) for material_dir in sorted(root.iterdir()): if not material_dir.is_dir(): continue files = {f.name.lower(): f for f in material_dir.iterdir()} base = files.get("basecolor.png") or files.get("albedo.png") normal = files.get("normal.png") rough = files.get("roughness.png") if base is None or normal is None or rough is None: print(f"[跳过] {material_dir.name}: 通道不全") continue imgs = [Image.open(base), Image.open(normal), Image.open(rough)] # 统一尺寸后横向拼接 imgs = [img.resize((512, 512)) for img in imgs] combined = Image.new("RGB", (512 * 3, 512)) for i, img in enumerate(imgs): if img.mode != "RGB": img = img.convert("RGB") combined.paste(img, (512 * i, 0)) combined.save(output / f"{material_dir.name}_preview.png") print(f"[生成] {material_dir.name}_preview.png")这样每个材质生成一张包含BaseColor、Normal、Roughness的预览图,找素材时扫一眼就知道大概效果。
7. 资源占用与性能观察
4K贴图的资源占用需要重视。这里给一个粗略的内存计算公式:
原始RGBA贴图大小 ≈ 宽 × 高 × 4字节 4K贴图大小 ≈ 4096 × 4096 × 4 ≈ 67,108,864字节 ≈ 64MB如果把BaseColor、Normal、Roughness、Metallic、AO都加载成4096×4096 RGBA,单材质显存占用预计在300MB以上。实际引擎不会直接以原始的RGBA32载入,而会使用压缩格式:
- Unity的BC7压缩约为每像素8bit,4K贴图大约16MB。
- ASTC 4×4压缩类似BC7,移动端常用。
- Unreal的BC1压缩固有色约为每像素4bit,4K大约8MB。
- 法线贴图常用BC5,约8bit/像素,4K约16MB。
所以实际显存占用取决于纹理压缩格式、Mipmap层级和平台。
观察资源占用的方法:
- Unity:Window > Analysis > Profiler,在Rendering或Memory面板查看Texture占用;或使用Memory Profiler查找具体贴图资产。
- Unreal:使用
stat texture或r.TextureStreaming相关命令,观察纹理流送和显存占用。 - GPU显存:使用GPU-Z、NVIDIA NSight或任务管理器查看整体显存占用。
降低资源占用的建议:
- 非重点场景使用2K贴图,近景、强调材质才用4K。
- 开启Mipmap,远处的纹理自动降级,能明显减少显存压力。
- 使用纹理流送,Unity的Texture Streaming和Unreal的Texture Streaming都值得开启。
- 如果有多张纹理重复使用同一套法线或粗糙度,考虑共用贴图减少内存。
- 移动端尽量使用ASTC,PC使用BC7,不要用RGBA32跑最终包。
性能测试方法:搭建一个10米×10米的地面,使用4K贴图,开启/关闭Mipmap和纹理压缩,分别记录帧率和显存占用。这样能快速判断这套素材在你的目标配置下是否吃得消。
8. 常见问题与排查方法
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 贴图导入后发灰发白 | 颜色空间设置错误 | 检查sRGB开关 | Base Color开启sRGB;Normal/Roughness/Metallic关闭sRGB |
| 地面有横竖接缝 | 贴图本身不是无缝平铺,或Mipmap边缘异常 | 用Offset滤镜检查边缘 | 用Substance Designer修复平铺,或使用Triplanar投影 |
| 凹凸方向相反 | 法线贴图是OpenGL/DirectX反向 | 观察高光方向 | 反转Green通道;UE勾选Flip Green Channel |
| 地面像抹了油 | Roughness过低或Smoothness逻辑反向 | 检查Roughness贴图连接 | 正确连接Roughness,或在Unity中对Smoothness取反 |
| 地面出现大片黑色或紫色 | 贴图通道缺失,材质节点连接错误 | 检查每个图像节点的颜色空间 | 把缺失的通道补齐;把颜色空间设为Non-Color |
| 近看清晰,远看模糊 | Mipmap未开启,或纹理过滤设置为Point | 检查纹理过滤模式 | 开启Mipmap,过滤模式设为Trilinear或Anisotropic |
| 4K贴图加载后明显卡顿 | 显存不足或贴图过多 | 查看Profiler/GPU占用 | 降低分辨率、开纹理流送、使用压缩格式 |
| 重复感太强 | 平铺次数过高,纹理重复率高 | 缩小UV平铺倍数 | 多层混合、贴图阵列、顶点绘制或添加细节法线 |
| 地面颜色和场景不搭 | BaseColor直接使用,未做调色 | 检查环境和光照 | 加入颜色校正、对比度调整、AO叠加 |
| 导入UE后法线紫色乱跳 | 法线压缩格式不对 | 检查纹理压缩设置 | 法线贴图压缩改为Normalmap或BC5 |
9. 最佳实践与使用建议
以这套PBR地面纹理为例,我建议你在实际项目里建立一套固定流程,而不是每次临时拖贴图。
第一,建立统一的资产命名和目录规范。材质的文件夹名、贴图后缀名尽量统一,建议包含材质类型和通道信息,这样脚本批量处理、引擎自动识别都会顺利很多。不要出现中文空格和特殊符号,避免在不同引擎间转移时出问题。
第二,导入引擎前先做贴图通道体检。用6.1节的脚本扫一遍,确认BaseColor、Normal、Roughness三个最关键通道齐全。Metallic和AO可以后补,但前三个缺了,材质效果基本不能看。
第三,每个材质保留多档分辨率。4K作为原始素材保留,导入引擎时按场景需求生成2K或1K版本。不要把所有地面都直接用4K,尤其是移动端或大世界场景。
第四,制作阶段先小参数测试。第一次测试使用一个1米×1米的平面,UV Scale设为1,确认单张贴图效果;再逐步放大到4×4、8×8,观察平铺和重复感。批量测试时记录每个材质的显存占用和帧率,避免最后打包时才发现性能问题。
第五,法线贴图处理不要省。法线贴图的方向、压缩格式、颜色空间是最容易出问题的环节。在项目起步阶段就固化一套模板材质,把所有PBR连接关系固定下来,后面的材质都从模板复制,能减少很多低级错误。
第六,版权合规要在下载阶段就确认。素材包授权信息保留在项目文档里,记录来源、授权类型和使用范围。如果用于商业项目,提前确认是否可以商用,是否需要署名,是否被禁止用于NFT、区块链、AI训练等特殊场景。
第七,使用过程中注意素材改动痕迹。如果你在Substance Designer里修改了贴图,或者叠加了程序化纹理,建议保留原始素材文件和修改后的工作文件,分目录存好,方便回溯。
第八,批量任务加日志和失败重试。批处理导入或批量生成预览时,不要一次性处理整个根目录,先跑一个材质测试脚本逻辑,再跑全量。脚本中要输出成功和失败的文件列表,失败时能定位到具体文件。
10. 总结与下一步
这套PBR地面纹理素材,最大价值在于覆盖了地编中最常接触的地表类型:砖石、碎石、混凝土、水泥地、土地、草地、石头地、树皮。你不需要自己从零制作法线和粗糙度,导入后只要处理好颜色空间、法线方向和压缩格式,就能快速看到效果。
拿到素材后的第一步,建议先做5.1节的通道完整性检查,再用Blender或Unity搭一个最简单的测试平面,把BaseColor、Normal、Roughness接上去,确认基础效果。第二步在Unreal或Unity里按4.1/4.2节的流程设置好导入参数,跑一遍4K与2K对比,记录显存占用和帧率。第三步做瓦数大一点的平铺测试,验证无缝和重复感是否在可接受范围内。第四步建立素材目录和脚本批量管理流程,为后续完整场景地编做准备。
最容易踩的坑有三个:法线贴图方向反了导致凹凸方向不对;Roughness和Smoothness逻辑搞混导致地面像打了蜡;4K贴图不注意压缩和Mipmap导致显存爆掉。开局按本文的导入设置和测试流程走,这些坑都可以绕开。
后续可以继续扩展的方向,是在这套基础纹理上做变体。比如把砖石纹理叠加破损细节,在混凝土基础上叠加污渍和裂缝,把草地纹理拆成多个变化版本,再用顶点绘制或遮罩做自然过渡。这样一套素材就能扩展出十几个不同风格的地表材质,覆盖一个中型场景的地面需求。建议收藏备用,做地编的时候直接按这个流程来。