← 全部标签
# 材质
7 篇页面
页面
图形学基于物理的着色Physically Based Shading基于物理的着色从光与物质交互的物理出发,用 BRDF 和反射方程计算表面沿视线方向射出的辐射亮度:镜面项来自微表面理论与菲涅耳反射,漫反射项来自局部次表面散射,布料、波动光学与分层材质再作扩展。本页是 RTR4 第 9 章的总览,并收录该章第 9.13 节的材质混合与材质过滤(镜面抗锯齿)。图形学着色频率与材质系统Shading Frequency & Material Systems实现着色时要按"计算频率"划分工作:整个 draw call 不变的放到应用端作为 uniform,其余放在相应的可编程阶段。实践中大多数着色在像素级完成,顶点着色器负责变换和变形。材质系统把面向美术的材质与底层着色器组织起来,处理海量着色器变体的组合问题。游戏开发 · UE5Custom 材质表达式Custom Material ExpressionCustom 节点允许在材质图里直接写 HLSL:任意数量输入、指定输出类型,可选额外输出、define 与外部 .ush/.usf 包含路径。它是「内置节点做不到」时的逃生口;代价是无法常量折叠、输入仅函数局部可见、且必须是合法 HLSL。优先用内置节点与材质函数,只在必要时上 Custom。游戏开发 · UE5Substrate 材质Substrate MaterialsSubstrate 用一种更有表现力、更模块化的框架,取代旧材质系统里固定的一组着色模型和混合模式(Default Lit、Clear Coat 等)。材质被看作一块块「物质板 (Slab)」,每块是用有明确单位的物理量参数化的原则化 BSDF,再通过混合、垂直分层等运算组合成图。代价是光照评估更贵,所以提供参数混合和两种 GBuffer 格式(Blendable / Adaptive)来在速度和画质之间取舍。新项目默认启用 Substrate;升级到 5.7 及以后的老项目默认不启用。游戏开发 · UE5材质图到 HLSL 的翻译Material Graph to HLSL Translation材质编辑器点 Apply 之后,引擎先把节点图翻译成 HLSL,再把 HLSL 编译成 GPU 字节码。翻译以 MaterialTemplate.ush 为模板、由 FHLSLMaterialTranslator 做文本替换与常量折叠;内置节点能被折叠,Custom 材质表达式 则不能。每个材质还会按特性/平台/用途生成多份着色器排列。游戏开发 · UE5材质系统Material SystemUE 材质 (Material) 是用节点图描述「表面如何与光交互」的着色器生成器。它有三个正交维度:着色模型 (Shading Model) 决定光照模型(Default Lit、次表面、清漆、毛发等),混合模式 (Blend Mode) 决定与背景的合成公式(Opaque/Masked/Translucent…),参数 + 材质实例 (Material Instance) 让美术在不重编译着色器的前提下做变体。PBR 输入(Base Color/Roughness/Metallic/Specular)直接对应 RTR4 的金属度-粗糙度工作流;最大的工程坑是静态参数导致的着色器排列爆炸。游戏策划叙事空间与环境叙事Narrative Spaces & Environmental StorytellingTotten 在 Henry Jenkins《Game Design as Narrative Architecture》的基础上列出四种叙事空间:唤起空间(借用熟悉的乡土建筑语言营造情绪)、舞台空间(发生重要事件的地方)、嵌入空间(建筑本身承载过去发生的事)和资源提供空间(为玩家自己的涌现故事提供可利用的特征)。落到制作上,就是用模块化资源的摆放讲小故事、用镜头构图揭示叙事,以及按英雄之旅安排材质(第 9 章,p.398–416)。