跳到主要内容

ShaderAsset

Ploy3D / ShaderAsset

Interface: ShaderAsset

着色器预制资产。

Table of contents

Properties

Properties

filtering

Optional filtering: number

渲染标志过滤设置,将过滤着色器永远不会用到的标志,可以显著减少分支数量。


instance

Optional instance: number

着色器实例ID(着色器资产装载后生成)。


name

name: string

唯一名称。


pass

pass: Record<string, ShaderPass[]>

通道集,为多个渲染通道提供不同着色器,每个渲染通道可以执行多个着色器通道(用于实现植物生长效果)。


properties

properties: Record<string, [string, string, number[]]>

属性声明,如果期望材质属性能在不同着色器间正确转移,请使用标准PBR属性名称: baseColor:非金属表面的漫反射反照率,金属表面的镜面反射颜色; metallic:金属度,通常取值0表示非金属或1表示金属; roughness:粗糙度,值越大,反射波瓣越大,表面越粗糙; reflectance:反射系数,菲涅尔基础反射率(正常入射时),控制反射强度; emissiveColor:自发光颜色。追加漫反射反照率模拟表面自发光(比如霓虹灯),通常结合HDR管线中的BLOOM通道使用; emissiveIntensity:自发光颜色强度; 在代码自动补全功能中,如果发现着色器定义了以上属性,则用属性值初始化材质,否则使用默认值; 如果定义了PBR属性贴图,优先从贴图采样获取属性值: baseTex:baseColor属性贴图; metallicTex:metallic属性贴图; roughnessTex:roughness属性贴图; emissiveTex:emissiveColor属性贴图; 另外可以定义以下细节贴图: normalTex:法线贴图; light_aoTex:环境光遮蔽贴图;