主题
GameGraph.MaterialSystem
LandscapePatchBlend 双端
命名空间 GameGraph.MaterialSystem
csharp
public readonly struct LandscapePatchBlend : IEquatable<LandscapePatchBlend>Landscape patch 使用的地表贴图组合。
构造函数
LandscapePatchBlend 双端
csharp
public LandscapePatchBlend(Vector4 BlendIndex, Vector4? BlendIndex2 = null)Landscape patch 使用的地表贴图组合。
属性
BlendIndex 双端
csharp
public Vector4 BlendIndex { get; init; }BlendIndex2 双端
csharp
public Vector4? BlendIndex2 { get; init; }方法
ToString 双端
csharp
public override string ToString()operator != 双端
csharp
public static bool operator !=(LandscapePatchBlend left, LandscapePatchBlend right)operator == 双端
csharp
public static bool operator ==(LandscapePatchBlend left, LandscapePatchBlend right)GetHashCode 双端
csharp
public override int GetHashCode()Equals 双端
csharp
public override bool Equals(object obj)Equals 双端
csharp
public bool Equals(LandscapePatchBlend other)Deconstruct 双端
csharp
public void Deconstruct(out Vector4 BlendIndex, out Vector4? BlendIndex2)Material 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public abstract class Material : Resource属性
Technique 仅客户端
csharp
public Technique? Technique { get; set; }当前材质绑定的 Technique XML 渲染方案。
Shader 仅客户端
csharp
public Shader? Shader { get; set; }当前材质绑定的 Technique 的兼容属性。
Textures 仅客户端
csharp
public MaterialTextureAccessor Textures { get; set; }获取材质纹理访问器
StencilState 仅客户端
csharp
public StencilState StencilState { get; set; }获取/设置材质模板状态
CullMode 仅客户端
csharp
public CullMode CullMode { get; set; }获取/设置材质裁剪模式
FillMode 仅客户端
csharp
public FillMode FillMode { get; set; }获取/设置材质填充模式
RenderOrder 仅客户端
csharp
public uint RenderOrder { get; set; }获取/设置材质渲染优先级
UVTiling 仅客户端
csharp
public Vector2 UVTiling { get; set; }纹理坐标平铺、速度和旋转参数。
UVSpeed 仅客户端
csharp
public Vector2 UVSpeed { get; set; }TextureRotation 仅客户端
csharp
public float TextureRotation { get; set; }BacksideLighting 仅客户端
csharp
public bool BacksideLighting { get; set; }Transparent 仅客户端
csharp
public bool Transparent { get; set; }HasAlphaTestPass 仅客户端
csharp
public bool HasAlphaTestPass { get; }AuxViewFrameNumber 仅客户端
csharp
public uint AuxViewFrameNumber { get; }ShaderParameterHash 仅客户端
csharp
public uint ShaderParameterHash { get; }TemplateName 仅客户端
csharp
public UTF8String TemplateName { get; set; }IsColorTintSupported 仅客户端
csharp
public bool IsColorTintSupported { get; }RuntimeTint 仅客户端
csharp
public bool RuntimeTint { get; set; }方法
SetShaderParameterAnimation 仅客户端
csharp
public void SetShaderParameterAnimation(string name, ValueAnimation? animation, ObjectAnimationWrapMode wrapMode = ObjectAnimationWrapMode.Loop, float speed = 1f)Attaches a client-side ValueAnimation to a shader parameter. Passing null removes the animation for that parameter.
GetShaderParameterAnimation 仅客户端
csharp
public ValueAnimation? GetShaderParameterAnimation(string name)GetShaderParameterAnimationWrapMode 仅客户端
csharp
public ObjectAnimationWrapMode GetShaderParameterAnimationWrapMode(string name)SetShaderParameterAnimationWrapMode 仅客户端
csharp
public void SetShaderParameterAnimationWrapMode(string name, ObjectAnimationWrapMode wrapMode)GetShaderParameterAnimationSpeed 仅客户端
csharp
public float GetShaderParameterAnimationSpeed(string name)SetShaderParameterAnimationSpeed 仅客户端
csharp
public void SetShaderParameterAnimationSpeed(string name, float speed)Load 仅客户端
csharp
public static Material? Load(GameCore.ResourceType.Material materialPath)从资源路径加载材质文件,并在可能时转换为 SDK 已知的强类型材质。
materialPath— 材质资源路径。
返回: 加载失败时返回 null;加载成功后根据 Technique 路径返回 MaterialPBR、MaterialFlatLambert、MaterialWater、 MaterialVertexColor 或 MaterialCustom。
SetTemplate 仅客户端
csharp
public bool SetTemplate(UTF8String templatePath, bool force = false)IsCompatible 仅客户端
csharp
public bool IsCompatible(Material? other)SetPassEnabled 仅客户端
csharp
public void SetPassEnabled(string passName, bool enabled)设置 Technique pass 是否可用。
SetPassDepthWrite 仅客户端
csharp
public void SetPassDepthWrite(string passName, bool depthWrite)设置 Technique pass 的深度写入状态。
SetPassColorWrite 仅客户端
csharp
public void SetPassColorWrite(string passName, bool colorWrite)设置 Technique pass 的颜色写入状态。
HasPass 仅客户端
csharp
public bool HasPass(string passName, uint techniqueIndex = 0u)判断指定 Technique 上是否存在指定 pass。
SetShaderPassEnabled 仅客户端
csharp
public void SetShaderPassEnabled(string passName, bool enabled)SetShaderPassDepthWrite 仅客户端
csharp
public void SetShaderPassDepthWrite(string passName, bool depthWrite)SetShaderPassColorWrite 仅客户端
csharp
public void SetShaderPassColorWrite(string passName, bool colorWrite)HasShaderPass 仅客户端
csharp
public bool HasShaderPass(string passName, uint techniqueIndex = 0u)GetDebugInfo 仅客户端
csharp
public MaterialDebugInfo GetDebugInfo(IEnumerable<string>? passNames = null)获取材质运行时诊断快照,便于和 RenderDoc/PIX 抓帧结果对照。
DebugDescribe 仅客户端
csharp
public string DebugDescribe(IEnumerable<string>? passNames = null)返回一行可读的材质诊断摘要。
MaterialCustom 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public class MaterialCustom : Material自定义材质,用于设置材质参数。与其它材质不同的是,其它材质使用固定的材质参数,而自定义材质可以输入材质参数名来设置材质参数。
构造函数
MaterialCustom 仅客户端
csharp
public MaterialCustom()MaterialCustom 仅客户端
csharp
public MaterialCustom(Technique technique)MaterialCustom 仅客户端
csharp
public MaterialCustom(Shader shader)属性
Colors 仅客户端
csharp
public ColorProperty Colors { get; }预定义颜色属性访问器。
Floats 仅客户端
csharp
public FloatProperty Floats { get; }预定义浮点属性访问器。
Vectors 仅客户端
csharp
public VectorProperty Vectors { get; }预定义向量属性访问器。
方法
ToKnownMaterial 仅客户端
csharp
public Material? ToKnownMaterial()如果当前 Technique 路径匹配 SDK 已知材质,则返回对应的强类型材质包装。
返回: 匹配成功时返回 MaterialPBR、MaterialFlatLambert 或 MaterialWater 或 MaterialVertexColor;否则返回 null。
SetFloat 仅客户端
csharp
public void SetFloat(string propertyName, float value)设置材质参数
propertyName— 材质参数名value— 材质参数值(float)
GetFloat 仅客户端
csharp
public float GetFloat(string propertyName)获取材质参数
propertyName— 材质参数名
返回: 材质参值
SetFloat 仅客户端
csharp
public void SetFloat(uint propertyId, float value)设置材质参数
propertyId— 材质参idvalue— 材质参数值(float)
GetFloat 仅客户端
csharp
public float GetFloat(uint propertyId)获取材质参数
propertyId— 材质参数id
返回: 材质参值
SetVector 仅客户端
csharp
public void SetVector(string propertyName, Vector4 value)设置材质参数
propertyName— 材质参数名value— 材质参数值(Vector4)
GetVector 仅客户端
csharp
public Vector4 GetVector(string propertyName)获取材质参数
propertyName— 材质参数名
返回: 材质参数值
SetVector 仅客户端
csharp
public void SetVector(uint propertyId, Vector4 value)设置材质参数
propertyId— 材质参数idvalue— 材质参数值(Vector4)
GetVector 仅客户端
csharp
public Vector4 GetVector(uint propertyId)获取材质参数
propertyId— 材质参数id
返回: 材质参数值
SetColor 仅客户端
csharp
public void SetColor(string propertyName, HdrColor value)设置材质参数
propertyName— 材质参数名value— 材质参数值(Color)
GetColor 仅客户端
csharp
public HdrColor GetColor(string propertyName)获取材质参数
propertyName— 材质参数名
返回: 材质参数值
SetColor 仅客户端
csharp
public void SetColor(uint propertyId, HdrColor value)设置材质参数
propertyId— 材质参数idvalue— 材质参数值(Color)
GetColor 仅客户端
csharp
public HdrColor GetColor(uint propertyId)获取材质参数
propertyId— 材质参数id
返回: 材质参数值
MaterialDebugInfo 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public sealed class MaterialDebugInfo材质运行时诊断快照。只描述调用时刻的状态,不持有 native 生命周期。
构造函数
MaterialDebugInfo 仅客户端
csharp
public MaterialDebugInfo()属性
MaterialType 仅客户端
csharp
public required string MaterialType { get; init; }运行时材质类型名,例如 MaterialPBR、MaterialFlatLambert 或 MaterialCustom。
ShaderPath 仅客户端
csharp
public string? ShaderPath { get; init; }当前材质绑定的 technique XML 路径。
TechniquePath 仅客户端
csharp
public string? TechniquePath { get; }当前材质绑定的 Technique XML 路径。
HasShader 仅客户端
csharp
public bool HasShader { get; init; }当前材质是否绑定了 Technique。
HasTechnique 仅客户端
csharp
public bool HasTechnique { get; }当前材质是否绑定了 Technique。
TechniqueCount 仅客户端
csharp
public uint TechniqueCount { get; init; }当前材质上的 technique 数量。
VertexShaderDefines 仅客户端
csharp
public required string VertexShaderDefines { get; init; }材质级顶点 shader defines。
PixelShaderDefines 仅客户端
csharp
public required string PixelShaderDefines { get; init; }材质级像素 shader defines。
CullMode 仅客户端
csharp
public CullMode CullMode { get; init; }背面剔除模式。
FillMode 仅客户端
csharp
public FillMode FillMode { get; init; }几何填充模式。
RenderOrder 仅客户端
csharp
public uint RenderOrder { get; init; }渲染顺序,值越大越晚渲染。
AlphaToCoverage 仅客户端
csharp
public bool AlphaToCoverage { get; init; }是否启用 alpha-to-coverage。
Occlusion 仅客户端
csharp
public bool Occlusion { get; init; }是否参与遮挡相关渲染逻辑。
Specular 仅客户端
csharp
public bool Specular { get; init; }是否启用高光相关材质状态。
StencilState 仅客户端
csharp
public StencilState StencilState { get; init; }模板测试状态。
Passes 仅客户端
csharp
public required MaterialDebugPassInfo[] Passes { get; init; }指定 pass 在各 technique 上是否存在。
Properties 仅客户端
csharp
public required MaterialDebugPropertyInfo[] Properties { get; init; }已知材质类型的关键参数快照。
方法
Describe 仅客户端
csharp
public string Describe()返回一行适合写入日志的材质诊断摘要。
字段
DefaultPassNames 仅客户端
csharp
public static readonly string[] DefaultPassNames默认检查的常见 RenderPath pass 名称。
MaterialDebugPassInfo 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public readonly struct MaterialDebugPassInfo : IEquatable<MaterialDebugPassInfo>单个 shader pass 的存在性诊断结果。
TechniqueIndex— Technique 索引。Name— Pass 名称。Exists— 指定 technique 上是否存在该 pass。
构造函数
MaterialDebugPassInfo 仅客户端
csharp
public MaterialDebugPassInfo(uint TechniqueIndex, string Name, bool Exists)单个 shader pass 的存在性诊断结果。
TechniqueIndex— Technique 索引。Name— Pass 名称。Exists— 指定 technique 上是否存在该 pass。
属性
TechniqueIndex 仅客户端
csharp
public uint TechniqueIndex { get; init; }Technique 索引。
Name 仅客户端
csharp
public string Name { get; init; }Pass 名称。
Exists 仅客户端
csharp
public bool Exists { get; init; }指定 technique 上是否存在该 pass。
方法
ToString 仅客户端
csharp
public override string ToString()operator != 仅客户端
csharp
public static bool operator !=(MaterialDebugPassInfo left, MaterialDebugPassInfo right)operator == 仅客户端
csharp
public static bool operator ==(MaterialDebugPassInfo left, MaterialDebugPassInfo right)GetHashCode 仅客户端
csharp
public override int GetHashCode()Equals 仅客户端
csharp
public override bool Equals(object obj)Equals 仅客户端
csharp
public bool Equals(MaterialDebugPassInfo other)Deconstruct 仅客户端
csharp
public void Deconstruct(out uint TechniqueIndex, out string Name, out bool Exists)MaterialDebugPropertyInfo 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public readonly struct MaterialDebugPropertyInfo : IEquatable<MaterialDebugPropertyInfo>材质关键参数诊断项。
Name— 参数名。Value— 格式化后的参数值。
构造函数
MaterialDebugPropertyInfo 仅客户端
csharp
public MaterialDebugPropertyInfo(string Name, string Value)材质关键参数诊断项。
Name— 参数名。Value— 格式化后的参数值。
属性
Name 仅客户端
csharp
public string Name { get; init; }参数名。
Value 仅客户端
csharp
public string Value { get; init; }格式化后的参数值。
方法
ToString 仅客户端
csharp
public override string ToString()operator != 仅客户端
csharp
public static bool operator !=(MaterialDebugPropertyInfo left, MaterialDebugPropertyInfo right)operator == 仅客户端
csharp
public static bool operator ==(MaterialDebugPropertyInfo left, MaterialDebugPropertyInfo right)GetHashCode 仅客户端
csharp
public override int GetHashCode()Equals 仅客户端
csharp
public override bool Equals(object obj)Equals 仅客户端
csharp
public bool Equals(MaterialDebugPropertyInfo other)Deconstruct 仅客户端
csharp
public void Deconstruct(out string Name, out string Value)MaterialFlatLambert 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public sealed class MaterialFlatLambert : Material无贴图 Lambert 纯色材质,会受场景光照与 SSAO 影响。
备注
适用于程序生成网格、调试可视化和不需要贴图的简单几何体。若需要严格不受光照影响的 Unlit, 需要等待对应 shadercache 覆盖后再使用专门的 Unlit 材质。
构造函数
MaterialFlatLambert 仅客户端
csharp
public MaterialFlatLambert(bool transparent = false)创建一个新的无贴图 Lambert 材质实例。
transparent— 是否使用透明 pass。透明模式下颜色的 Alpha 通道有效。
属性
Transparent 仅客户端
csharp
public new bool Transparent { get; set; }是否使用透明 pass。
Color 仅客户端
csharp
public HdrColor Color { get; set; }主颜色。透明模式下 Alpha 通道参与混合。
MaterialPBR 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public sealed class MaterialPBR : MaterialPBR(Physically Based Rendering)材质,基于物理的渲染材质。
备注
使用金属度-粗糙度工作流(Metallic-Roughness workflow)。
构造函数
MaterialPBR 仅客户端
csharp
public MaterialPBR(bool useAlbedoTexture = false, bool useAlphaChannel = false)创建一个新的 PBR 材质实例。
useAlbedoTexture— 是否使用Albedo纹理。为false时,Albedo使用白色。useAlphaChannel— 是否使用透明通道。
MaterialPBR 仅客户端
csharp
public MaterialPBR(Texture2D albedoTexture, bool useAlphaChannel = false)使用指定 Albedo 纹理创建一个新的 PBR 材质实例。
albedoTexture— Albedo 纹理。useAlphaChannel— 是否使用透明通道。
属性
UseAlbedoTexture 仅客户端
csharp
public bool UseAlbedoTexture { get; set; }是否使用 Albedo 纹理。
备注
为 false 时,Albedo 使用白色(Solid 模式)。 更改此属性会切换底层 Technique。
UseAlphaChannel 仅客户端
csharp
public bool UseAlphaChannel { get; set; }是否使用透明通道。
备注
从不透明模式设为 true 时切换到 Alpha 混合;设为 false 时切回不透明。 已明确选择 AlphaCutout 时,再设为 true 会保留裁剪模式。 新代码需要区分混合与裁剪时请使用 AlphaMode。
AlphaMode 仅客户端
csharp
public PBRAlphaMode AlphaMode { get; set; }Alpha 渲染模式。
备注
Alpha 裁剪要求启用 Albedo 纹理,固定阈值为 0.5。
ColorFactor 仅客户端
csharp
public HdrColor ColorFactor { get; set; }颜色因子(与纹理颜色相乘的比例系数),定义材质的固有颜色。
EmissiveColor 仅客户端
csharp
public HdrColor EmissiveColor { get; set; }自发光颜色,使材质表面发出光亮。
备注
配合 EmissiveIntensity 控制发光强度。
MetallicFactor 仅客户端
csharp
public float MetallicFactor { get; set; }金属度,范围 0~1。
备注
0 = 非金属(电介质),1 = 全金属。
RoughnessFactor 仅客户端
csharp
public float RoughnessFactor { get; set; }粗糙度,范围 0~1。
备注
0 = 完全光滑(镜面反射),1 = 完全粗糙(漫反射)。
EmissiveIntensity 仅客户端
csharp
public float EmissiveIntensity { get; set; }自发光强度乘数。
备注
可超过 1 用于 HDR 效果,与 EmissiveColor 相乘得到最终发光值。
方法
Create 仅客户端
csharp
public static MaterialPBR Create(PBRAlphaMode alphaMode, bool useAlbedoTexture = false)使用明确的 Alpha 模式创建一个新的 PBR 材质实例。
alphaMode— Alpha 渲染模式。useAlbedoTexture— 是否使用 Albedo 纹理。
Create 仅客户端
csharp
public static MaterialPBR Create(Texture2D albedoTexture, PBRAlphaMode alphaMode)使用指定 Albedo 纹理与明确的 Alpha 模式创建一个新的 PBR 材质实例。
albedoTexture— Albedo 纹理。alphaMode— Alpha 渲染模式。
UseDefaultTextures 仅客户端
csharp
public void UseDefaultTextures()将内置的白色 Albedo 与默认金属度/粗糙度纹理绑定到材质。
MaterialPBRVertexColor 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public sealed class MaterialPBRVertexColor : Material将 PBR 贴图、材质乘色与网格顶点颜色相乘的材质。
备注
网格必须提供 Position、Normal、UV、Color 与 Tangent 顶点流。 金属度读取混合贴图 G 通道,粗糙度读取 R 通道。
构造函数
MaterialPBRVertexColor 仅客户端
csharp
public MaterialPBRVertexColor(Texture2D albedoTexture, Texture2D normalTexture, Texture2D roughnessMetalnessTexture, PBRVertexColorMaterialMode mode = PBRVertexColorMaterialMode.Opaque)使用完整的 PBR 贴图组创建顶点颜色材质。
albedoTexture— 与顶点颜色相乘的 Albedo 贴图。normalTexture— 法线贴图。roughnessMetalnessTexture— R 通道为粗糙度、G 通道为金属度的混合贴图。mode— 渲染模式。
属性
Mode 仅客户端
csharp
public PBRVertexColorMaterialMode Mode { get; set; }当前渲染模式。更改后会切换到对应的固定 Technique。
AlbedoTexture 仅客户端
csharp
public Texture2D? AlbedoTexture { get; set; }与顶点颜色相乘的 Albedo 贴图。
NormalTexture 仅客户端
csharp
public Texture2D? NormalTexture { get; set; }法线贴图。
RoughnessMetalnessTexture 仅客户端
csharp
public Texture2D? RoughnessMetalnessTexture { get; set; }R 通道为粗糙度、G 通道为金属度的混合贴图。
ColorFactor 仅客户端
csharp
public HdrColor ColorFactor { get; set; }材质乘色;最终颜色还会乘以 Albedo 与顶点 RGBA。
SpecularFactor 仅客户端
csharp
public HdrColor SpecularFactor { get; set; }非金属区域的高光颜色因子。
MetallicOffset 仅客户端
csharp
public float MetallicOffset { get; set; }加到混合贴图 G 通道上的金属度偏移。
RoughnessOffset 仅客户端
csharp
public float RoughnessOffset { get; set; }加到混合贴图 R 通道上的粗糙度偏移。
MaterialUrho2D 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public sealed class MaterialUrho2D : MaterialUrho2D 无光照材质,输出主纹理、精灵顶点颜色和材质颜色的乘积。
备注
每个实例拥有独立的 Technique,可单独修改混合和深度状态。 赋给 StaticSprite2D.CustomMaterial 后,纹理和混合方式由此材质管理,不再自动跟随精灵。 AnimatedSprite2D 会把同一个自定义材质用于所有批次;本材质不会自动适配多图集或多种混合方式。 需要客户端已有 Technique/Pass 接口及 Urho2D shadercache。
构造函数
MaterialUrho2D 仅客户端
csharp
public MaterialUrho2D()创建独立材质。默认白色乘色、Alpha 混合、LessEqual 深度测试、不写深度、双面绘制;纹理需自行绑定。
属性
Texture 仅客户端
csharp
public Texture2D? Texture { get; set; }主纹理。更换精灵资源后需自行更新;null 不代表自动使用精灵纹理。
Color 仅客户端
csharp
public HdrColor Color { get; set; }材质乘色,默认白色。Alpha 也参与相乘;不会替换精灵自身的 Color/Alpha。
BlendMode 仅客户端
csharp
public BlendMode BlendMode { get; set; }混合方式,默认 Alpha。设置 PremulAlpha 不会自动预乘纹理或颜色。
DepthTestMode 仅客户端
csharp
public CompareMode DepthTestMode { get; set; }深度比较,默认 LessEqual。Always 可忽略已有深度遮挡,但不保证覆盖后续绘制的对象。
DepthWrite 仅客户端
csharp
public bool DepthWrite { get; set; }是否写入深度,默认 false。开启后透明纹素也可能写入深度,不会自动按 Alpha 裁剪。
MaterialVertexColor 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public sealed class MaterialVertexColor : Material将 Albedo 贴图、材质乘色与网格顶点颜色相乘的材质。
备注
网格必须提供 Color 顶点流。需要透明效果时,请选择明确的裁剪或混合模式, 不要通过运行时修改 Technique pass 或 shader defines 改变透明语义。
构造函数
MaterialVertexColor 仅客户端
csharp
public MaterialVertexColor(Texture2D albedoTexture, VertexColorMaterialMode mode = VertexColorMaterialMode.LitOpaque)使用指定 Albedo 纹理创建顶点颜色材质。
albedoTexture— 与顶点颜色相乘的 Albedo 纹理。mode— 渲染模式,默认为受光照的不透明模式。
属性
Mode 仅客户端
csharp
public VertexColorMaterialMode Mode { get; set; }当前渲染模式。更改后会切换到对应的固定 Technique。
AlbedoTexture 仅客户端
csharp
public Texture2D? AlbedoTexture { get; set; }与顶点颜色相乘的 Albedo 纹理。
ColorFactor 仅客户端
csharp
public HdrColor ColorFactor { get; set; }材质乘色,默认白色;最终颜色还会乘以 Albedo 与顶点颜色。
MaterialWater 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public sealed class MaterialWater : Material水面材质,用于渲染简单的水体效果。
备注
基于单层水面渲染(Single Layer Water),适用于性能要求较高的场景。
构造函数
MaterialWater 仅客户端
csharp
public MaterialWater()创建一个新的水面材质实例。
属性
TintColor 仅客户端
csharp
public HdrColor TintColor { get; set; }水体染色颜色,用于调整水面的整体色调。
PBRAlphaMode 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public enum PBRAlphaModePBR 材质的 Alpha 渲染模式。
枚举值
Opaque— 不使用纹理 Alpha,按不透明材质渲染。AlphaBlend— 使用纹理或颜色 Alpha 混合,并关闭深度写入。AlphaCutout— 按 Albedo Alpha 以固定阈值 0.5 裁剪颜色、深度和阴影。
PBRVertexColorMaterialMode 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public enum PBRVertexColorMaterialModePBR 贴图与顶点颜色组合材质的渲染模式。
枚举值
Opaque— 受场景光照影响的不透明材质。AlphaCutout— 受场景光照影响,并按 Albedo Alpha 裁剪颜色、深度和阴影。
Terrain 双端
命名空间 GameGraph.MaterialSystem
csharp
public class Terrain构造函数
Terrain 双端
csharp
public Terrain()属性
MaterialCount 仅客户端
csharp
public static int MaterialCount { get; }当前客户端可访问的地形材质数量。
TileStyleMapSize 仅客户端
csharp
public static TerrainTexturePoint TileStyleMapSize { get; }获取运行时离散瓦片地图尺寸(单位:tile)。
LandscapePatchCount 仅客户端
csharp
public static TerrainTexturePoint LandscapePatchCount { get; }当前 Landscape patch 数量。
LandscapeWeightMapSize 仅客户端
csharp
public static TerrainTexturePoint LandscapeWeightMapSize { get; }当前 Landscape weight map 尺寸。
方法
GetMaterials 仅客户端
csharp
public static Material[] GetMaterials()获取当前客户端地形材质实例。
备注
返回的是当前运行中地形渲染使用的材质对象;修改这些材质的贴图或参数只影响当前客户端视觉, 不会同步到服务器,也不会写回地图数据、地形权重或 landscape patch 配置。
GetMaterial 仅客户端
csharp
public static Material? GetMaterial(uint index)获取指定索引的当前客户端地形材质实例。
TryGetMaterial 仅客户端
csharp
public static bool TryGetMaterial(uint index, out Material? material)尝试获取指定索引的当前客户端地形材质实例。
GetMaterialTexture 仅客户端
csharp
public static GameGraph.ResourceSystem.Texture? GetMaterialTexture(uint materialIndex, TextureUnit unit)获取指定地形材质上的贴图槽位。
SetMaterialTexture 仅客户端
csharp
public static bool SetMaterialTexture(uint materialIndex, TextureUnit unit, GameGraph.ResourceSystem.Texture? texture)设置指定地形材质上的贴图槽位。
备注
这是 runtime-only、client-only 的视觉修改;它只替换材质实例上的纹理, 不会修改地表 texture weight、landscape weight map 或场景数据。
SetMaterialTexture 仅客户端
csharp
public static bool SetMaterialTexture(uint materialIndex, TextureUnit unit, GameCore.ResourceType.Texture texturePath)加载纹理资源并设置到指定地形材质的贴图槽位。
返回: 材质索引有效且纹理加载成功时返回 true。
WorldPositionToTextureWeightPoint 仅客户端
csharp
public static TerrainTexturePoint WorldPositionToTextureWeightPoint(ScenePoint position)将场景世界坐标转换为普通 tile 地表 texture weight 采样点坐标。
TryGetTextureWeights 仅客户端
csharp
public static bool TryGetTextureWeights(int x, int y, out TerrainTextureWeights weights)尝试读取普通 tile 地表的 texture weight。
GetTextureWeights 仅客户端
csharp
public static TerrainTextureWeights? GetTextureWeights(int x, int y)读取普通 tile 地表的 texture weight。
TryGetTextureWeights 仅客户端
csharp
public static bool TryGetTextureWeights(ScenePoint position, out TerrainTextureWeights weights)尝试读取指定世界坐标处的普通 tile 地表 texture weight。
GetTextureWeights 仅客户端
csharp
public static TerrainTextureWeights? GetTextureWeights(ScenePoint position)读取指定世界坐标处的普通 tile 地表 texture weight。
SetTextureWeights 仅客户端
csharp
public static bool SetTextureWeights(int x, int y, TerrainTextureWeights weights, bool refresh = true)设置普通 tile 地表的 texture weight。
备注
runtime-only、client-only;只修改当前客户端视觉,不同步服务器,也不写回地图文件。 场景加载前应启用 GameDataScene.EnableRuntimeTerrainTextureEditing,并使用支持 RuntimeTerrainTextureEditing 的客户端;普通加载会释放未启用场景的权重和重建数据。
SetTextureWeights 仅客户端
csharp
public static bool SetTextureWeights(ScenePoint position, TerrainTextureWeights weights, bool refresh = true)设置指定世界坐标处的普通 tile 地表 texture weight。
备注
runtime-only、client-only;只修改当前客户端视觉,不同步服务器,也不写回地图文件。
TryGetTextureLabel 仅客户端
csharp
public static bool TryGetTextureLabel(int x, int y, out TerrainTextureLabel label)尝试读取普通 tile 地表采样点当前主导贴图的名称和标签。
GetTextureLabel 仅客户端
csharp
public static TerrainTextureLabel? GetTextureLabel(int x, int y)读取普通 tile 地表采样点当前主导贴图的名称和标签。
GetStyleInfos 仅客户端
csharp
public static TerrainStyleInfo[] GetStyleInfos()获取当前客户端地形配置中已加载的离散瓦片风格目录。
TryGetTileStyle 仅客户端
csharp
public static bool TryGetTileStyle(int x, int y, out string style)尝试读取指定 tile 的运行时 TileSet/style 名称。
TryGetTextureLabel 仅客户端
csharp
public static bool TryGetTextureLabel(ScenePoint position, out TerrainTextureLabel label)尝试读取指定世界坐标处当前主导贴图的名称和标签。
GetTextureLabel 仅客户端
csharp
public static TerrainTextureLabel? GetTextureLabel(ScenePoint position)读取指定世界坐标处当前主导贴图的名称和标签。
RefreshDirtyTerrain 仅客户端
csharp
public static void RefreshDirtyTerrain()刷新普通 tile 地表 dirty mesh。
TryGetLandscapePatchBlend 仅客户端
csharp
public static bool TryGetLandscapePatchBlend(int patchX, int patchY, out LandscapePatchBlend blend)尝试读取 Landscape patch 的地表贴图组合。
GetLandscapePatchBlend 仅客户端
csharp
public static LandscapePatchBlend? GetLandscapePatchBlend(int patchX, int patchY)读取 Landscape patch 的地表贴图组合。
SetLandscapePatchBlend 仅客户端
csharp
public static bool SetLandscapePatchBlend(int patchX, int patchY, LandscapePatchBlend blend)设置 Landscape patch 的地表贴图组合。
备注
runtime-only、client-only;只修改当前客户端视觉,不同步服务器,也不写回 landscape.xml。
TryGetLandscapeWeightMapPixel 仅客户端
csharp
public static bool TryGetLandscapeWeightMapPixel(int x, int y, out Vector4 weights)尝试读取 Landscape weight map 像素。
GetLandscapeWeightMapPixel 仅客户端
csharp
public static Vector4? GetLandscapeWeightMapPixel(int x, int y)读取 Landscape weight map 像素。
SetLandscapeWeightMapPixel 仅客户端
csharp
public static bool SetLandscapeWeightMapPixel(int x, int y, Vector4 weights)设置 Landscape weight map 像素。
备注
runtime-only、client-only;只更新当前客户端的 weight texture,不同步服务器,也不写回 weightmap.png。
PaintLandscapeWeights 仅客户端
csharp
public static bool PaintLandscapeWeights(TerrainPixelRect area, TerrainWeightPaintOptions options)在 Landscape weight map 上按矩形区域涂刷权重。
备注
runtime-only、client-only;只更新当前客户端的 weight texture,不同步服务器,也不写回 weightmap.png。
TerrainPixelRect 双端
命名空间 GameGraph.MaterialSystem
csharp
public readonly struct TerrainPixelRect : IEquatable<TerrainPixelRect>Landscape weight map 像素矩形。
构造函数
TerrainPixelRect 双端
csharp
public TerrainPixelRect(int X, int Y, int Width, int Height)Landscape weight map 像素矩形。
属性
X 双端
csharp
public int X { get; init; }Y 双端
csharp
public int Y { get; init; }Width 双端
csharp
public int Width { get; init; }Height 双端
csharp
public int Height { get; init; }方法
ToString 双端
csharp
public override string ToString()operator != 双端
csharp
public static bool operator !=(TerrainPixelRect left, TerrainPixelRect right)operator == 双端
csharp
public static bool operator ==(TerrainPixelRect left, TerrainPixelRect right)GetHashCode 双端
csharp
public override int GetHashCode()Equals 双端
csharp
public override bool Equals(object obj)Equals 双端
csharp
public bool Equals(TerrainPixelRect other)Deconstruct 双端
csharp
public void Deconstruct(out int X, out int Y, out int Width, out int Height)TerrainStyleInfo 双端
命名空间 GameGraph.MaterialSystem
csharp
public readonly struct TerrainStyleInfo : IEquatable<TerrainStyleInfo>当前客户端已加载的离散瓦片地表风格目录项。
构造函数
TerrainStyleInfo 双端
csharp
public TerrainStyleInfo(int Id, string TileStyle, string TextureStyle)当前客户端已加载的离散瓦片地表风格目录项。
属性
Id 双端
csharp
public int Id { get; init; }TileStyle 双端
csharp
public string TileStyle { get; init; }TextureStyle 双端
csharp
public string TextureStyle { get; init; }方法
ToString 双端
csharp
public override string ToString()operator != 双端
csharp
public static bool operator !=(TerrainStyleInfo left, TerrainStyleInfo right)operator == 双端
csharp
public static bool operator ==(TerrainStyleInfo left, TerrainStyleInfo right)GetHashCode 双端
csharp
public override int GetHashCode()Equals 双端
csharp
public override bool Equals(object obj)Equals 双端
csharp
public bool Equals(TerrainStyleInfo other)Deconstruct 双端
csharp
public void Deconstruct(out int Id, out string TileStyle, out string TextureStyle)TerrainTextureLabel 双端
命名空间 GameGraph.MaterialSystem
csharp
public readonly struct TerrainTextureLabel : IEquatable<TerrainTextureLabel>地表贴图名称/标签。
构造函数
TerrainTextureLabel 双端
csharp
public TerrainTextureLabel(string Name, string Tag)地表贴图名称/标签。
属性
Name 双端
csharp
public string Name { get; init; }Tag 双端
csharp
public string Tag { get; init; }方法
ToString 双端
csharp
public override string ToString()operator != 双端
csharp
public static bool operator !=(TerrainTextureLabel left, TerrainTextureLabel right)operator == 双端
csharp
public static bool operator ==(TerrainTextureLabel left, TerrainTextureLabel right)GetHashCode 双端
csharp
public override int GetHashCode()Equals 双端
csharp
public override bool Equals(object obj)Equals 双端
csharp
public bool Equals(TerrainTextureLabel other)Deconstruct 双端
csharp
public void Deconstruct(out string Name, out string Tag)TerrainTexturePoint 双端
命名空间 GameGraph.MaterialSystem
csharp
public readonly struct TerrainTexturePoint : IEquatable<TerrainTexturePoint>普通 tile 地表的 texture weight 采样点坐标。
构造函数
TerrainTexturePoint 双端
csharp
public TerrainTexturePoint(int X, int Y)普通 tile 地表的 texture weight 采样点坐标。
属性
X 双端
csharp
public int X { get; init; }Y 双端
csharp
public int Y { get; init; }方法
ToString 双端
csharp
public override string ToString()operator != 双端
csharp
public static bool operator !=(TerrainTexturePoint left, TerrainTexturePoint right)operator == 双端
csharp
public static bool operator ==(TerrainTexturePoint left, TerrainTexturePoint right)GetHashCode 双端
csharp
public override int GetHashCode()Equals 双端
csharp
public override bool Equals(object obj)Equals 双端
csharp
public bool Equals(TerrainTexturePoint other)Deconstruct 双端
csharp
public void Deconstruct(out int X, out int Y)TerrainTextureWeights 双端
命名空间 GameGraph.MaterialSystem
csharp
public readonly struct TerrainTextureWeights : IEquatable<TerrainTextureWeights>普通 tile 地表的贴图索引和混合权重。
备注
SCE tile 地表底层把 style、三个 texture index 以及前两个权重编码在 vertex color 中; 第三个权重按 1 - Weight1 - Weight2 推导。
构造函数
TerrainTextureWeights 双端
csharp
public TerrainTextureWeights(uint TextureStyle, uint Texture1, uint Texture2, uint Texture3, float Weight1, float Weight2, Vector4 ExtendedWeights)普通 tile 地表的贴图索引和混合权重。
备注
SCE tile 地表底层把 style、三个 texture index 以及前两个权重编码在 vertex color 中; 第三个权重按 1 - Weight1 - Weight2 推导。
TerrainTextureWeights 双端
csharp
public TerrainTextureWeights(uint textureStyle, uint texture1, uint texture2, uint texture3, float weight1, float weight2)创建不带高质量扩展权重的 tile 地表权重。
属性
TextureStyle 双端
csharp
public uint TextureStyle { get; init; }Texture1 双端
csharp
public uint Texture1 { get; init; }Texture2 双端
csharp
public uint Texture2 { get; init; }Texture3 双端
csharp
public uint Texture3 { get; init; }Weight1 双端
csharp
public float Weight1 { get; init; }Weight2 双端
csharp
public float Weight2 { get; init; }ExtendedWeights 双端
csharp
public Vector4 ExtendedWeights { get; init; }Weight3 双端
csharp
public float Weight3 { get; }第三个贴图权重。
方法
ToString 双端
csharp
public override string ToString()operator != 双端
csharp
public static bool operator !=(TerrainTextureWeights left, TerrainTextureWeights right)operator == 双端
csharp
public static bool operator ==(TerrainTextureWeights left, TerrainTextureWeights right)GetHashCode 双端
csharp
public override int GetHashCode()Equals 双端
csharp
public override bool Equals(object obj)Equals 双端
csharp
public bool Equals(TerrainTextureWeights other)Deconstruct 双端
csharp
public void Deconstruct(out uint TextureStyle, out uint Texture1, out uint Texture2, out uint Texture3, out float Weight1, out float Weight2, out Vector4 ExtendedWeights)TerrainWeightPaintOptions 双端
命名空间 GameGraph.MaterialSystem
csharp
public readonly struct TerrainWeightPaintOptions : IEquatable<TerrainWeightPaintOptions>Landscape weight map 运行时涂刷参数。
构造函数
TerrainWeightPaintOptions 双端
csharp
public TerrainWeightPaintOptions(Vector4 Weights, float Opacity = 1f)Landscape weight map 运行时涂刷参数。
属性
Weights 双端
csharp
public Vector4 Weights { get; init; }Opacity 双端
csharp
public float Opacity { get; init; }方法
ToString 双端
csharp
public override string ToString()operator != 双端
csharp
public static bool operator !=(TerrainWeightPaintOptions left, TerrainWeightPaintOptions right)operator == 双端
csharp
public static bool operator ==(TerrainWeightPaintOptions left, TerrainWeightPaintOptions right)GetHashCode 双端
csharp
public override int GetHashCode()Equals 双端
csharp
public override bool Equals(object obj)Equals 双端
csharp
public bool Equals(TerrainWeightPaintOptions other)Deconstruct 双端
csharp
public void Deconstruct(out Vector4 Weights, out float Opacity)VertexColorMaterialMode 仅客户端
命名空间 GameGraph.MaterialSystem
csharp
public enum VertexColorMaterialMode贴图与顶点颜色组合材质的渲染模式。
枚举值
LitOpaque— 受场景光照影响的不透明材质。UnlitOpaque— 不受场景光照影响的不透明材质,适合使用顶点 RGB 烘焙亮度。LitAlphaCutout— 受场景光照影响,并按 Albedo Alpha 裁剪的材质。UnlitAlphaBlend— 不受场景光照影响,并使用 Alpha 混合的材质。
KnownColorProperty 双端
命名空间 GameGraph.MaterialSystem.Enum
csharp
public readonly struct KnownColorProperty属性
PropertyId 双端
csharp
public required uint PropertyId { get; init; }PBRColorFactor 双端
csharp
public static KnownColorProperty PBRColorFactor { get; }PBR 颜色因子(与纹理颜色相乘的比例系数)
Urho2DColor 仅客户端
csharp
public static KnownColorProperty Urho2DColor { get; }Urho2D 材质乘色,与主纹理和精灵顶点颜色相乘。
VertexColorColorFactor 仅客户端
csharp
public static KnownColorProperty VertexColorColorFactor { get; }贴图顶点颜色材质乘色,与 Albedo 和顶点颜色相乘。
PBRVertexColorColorFactor 仅客户端
csharp
public static KnownColorProperty PBRVertexColorColorFactor { get; }PBR 顶点颜色材质乘色,与 Albedo 和顶点颜色相乘。
PBRVertexColorSpecularFactor 仅客户端
csharp
public static KnownColorProperty PBRVertexColorSpecularFactor { get; }PBR 顶点颜色材质的高光颜色因子。
PBREmissiveColor 双端
csharp
public static KnownColorProperty PBREmissiveColor { get; }PBR 自发光颜色
FlatLambertColor 双端
csharp
public static KnownColorProperty FlatLambertColor { get; }无贴图 Lambert 主颜色
OverrideColor 双端
csharp
public static KnownColorProperty OverrideColor { get; }覆盖颜色(将纹理颜色覆盖为指定颜色)
WaterTintColor 双端
csharp
public static KnownColorProperty WaterTintColor { get; }水体染色
KnownFloatProperty 双端
命名空间 GameGraph.MaterialSystem.Enum
csharp
public readonly struct KnownFloatProperty属性
PropertyId 双端
csharp
public required uint PropertyId { get; init; }PBRMetallicFactor 双端
csharp
public static KnownFloatProperty PBRMetallicFactor { get; }PBR 金属度(0=非金属,1=全金属)
PBRRoughnessFactor 双端
csharp
public static KnownFloatProperty PBRRoughnessFactor { get; }PBR 粗糙度(0=光滑,1=粗糙)
PBREmissiveIntensity 双端
csharp
public static KnownFloatProperty PBREmissiveIntensity { get; }PBR 自发光强度乘数(可超过1用于HDR效果)
PBRVertexColorMetallicOffset 仅客户端
csharp
public static KnownFloatProperty PBRVertexColorMetallicOffset { get; }PBR 顶点颜色材质的金属度偏移。
PBRVertexColorRoughnessOffset 仅客户端
csharp
public static KnownFloatProperty PBRVertexColorRoughnessOffset { get; }PBR 顶点颜色材质的粗糙度偏移。
KnownShader 双端
命名空间 GameGraph.MaterialSystem.Enum
csharp
public readonly struct KnownShader已加载的 SDK 推荐材质 Technique 的兼容名称。
属性
PhysicalBasedRendering 双端
csharp
public static Shader PhysicalBasedRendering { get; }PBR 默认材质,使用 Albedo 与金属度/粗糙度贴图。
PhysicalBasedRenderingAlpha 双端
csharp
public static Shader PhysicalBasedRenderingAlpha { get; }PBR 透明材质,使用 Albedo 的 Alpha 通道。
PhysicalBasedRenderingSolid 双端
csharp
public static Shader PhysicalBasedRenderingSolid { get; }无 Albedo 贴图的 PBR 不透明材质。
PhysicalBasedRenderingAlphaSolid 双端
csharp
public static Shader PhysicalBasedRenderingAlphaSolid { get; }无 Albedo 贴图的 PBR 透明材质。
DefaultLambert 双端
csharp
public static Shader DefaultLambert { get; }引擎默认 Lambert 材质。
ParticleLambert 双端
csharp
public static Shader ParticleLambert { get; }粒子 Mesh 推荐使用的 Lambert technique。
UnlitStealth 双端
csharp
public static Shader UnlitStealth { get; }内部使用的无光照外观 Lambert 变体;外部项目通常优先使用 FlatLambert。
GrayLevelFive 双端
csharp
public static Shader GrayLevelFive { get; }内置灰度五级材质。
GrayLevelTwo 双端
csharp
public static Shader GrayLevelTwo { get; }内置灰度二级材质。
HairSimulation 双端
csharp
public static Shader HairSimulation { get; }头发模拟专用材质。
StaticObject 双端
csharp
public static Shader StaticObject { get; }静态物体专用 PBR 材质。
FlatLambert 双端
csharp
public static Shader FlatLambert { get; }无贴图 Lambert 纯色不透明材质。
FlatLambertAlpha 双端
csharp
public static Shader FlatLambertAlpha { get; }无贴图 Lambert 纯色透明材质。
Water 双端
csharp
public static Shader Water { get; }单层水面材质。
KnownShaderPath 双端
命名空间 GameGraph.MaterialSystem.Enum
csharp
public readonly struct KnownShaderPath内置或 SDK 推荐的材质 Technique XML 路径兼容名称。
属性
Path 双端
csharp
public UTF8String Path { get; init; }Technique XML 资源路径。
PhysicalBasedRendering 双端
csharp
public static KnownShaderPath PhysicalBasedRendering { get; }PBR 默认材质,使用 Albedo 与金属度/粗糙度贴图。
PhysicalBasedRenderingAlpha 双端
csharp
public static KnownShaderPath PhysicalBasedRenderingAlpha { get; }PBR 透明材质,使用 Albedo 的 Alpha 通道。
PhysicalBasedRenderingSolid 双端
csharp
public static KnownShaderPath PhysicalBasedRenderingSolid { get; }无 Albedo 贴图的 PBR 不透明材质。
PhysicalBasedRenderingAlphaSolid 双端
csharp
public static KnownShaderPath PhysicalBasedRenderingAlphaSolid { get; }无 Albedo 贴图的 PBR 透明材质。
DefaultLambert 双端
csharp
public static KnownShaderPath DefaultLambert { get; }引擎默认 Lambert 材质。
ParticleLambert 双端
csharp
public static KnownShaderPath ParticleLambert { get; }粒子 Mesh 推荐使用的 Lambert technique。
UnlitStealth 双端
csharp
public static KnownShaderPath UnlitStealth { get; }内部使用的无光照外观 Lambert 变体;外部项目通常优先使用 FlatLambert。
GrayLevelFive 双端
csharp
public static KnownShaderPath GrayLevelFive { get; }内置灰度五级材质。
GrayLevelTwo 双端
csharp
public static KnownShaderPath GrayLevelTwo { get; }内置灰度二级材质。
HairSimulation 双端
csharp
public static KnownShaderPath HairSimulation { get; }头发模拟专用材质。
StaticObject 双端
csharp
public static KnownShaderPath StaticObject { get; }静态物体专用 PBR 材质。
FlatLambert 双端
csharp
public static KnownShaderPath FlatLambert { get; }无贴图 Lambert 纯色不透明材质。
FlatLambertAlpha 双端
csharp
public static KnownShaderPath FlatLambertAlpha { get; }无贴图 Lambert 纯色透明材质。
Water 双端
csharp
public static KnownShaderPath Water { get; }单层水面材质。
KnownTechnique 双端
命名空间 GameGraph.MaterialSystem.Enum
csharp
public static class KnownTechnique已加载的 SDK 推荐材质 Technique。
属性
Urho2D 仅客户端
csharp
public static Technique Urho2D { get; }Urho2D 无光照透明绘制方案,使用 alpha pass。
备注
按需在内存中创建,无对应 XML 路径。此实例共享;修改 pass 前请 Clone,或使用 MaterialUrho2D。
PhysicalBasedRendering 双端
csharp
public static Technique PhysicalBasedRendering { get; }PhysicalBasedRenderingAlpha 双端
csharp
public static Technique PhysicalBasedRenderingAlpha { get; }PhysicalBasedRenderingSolid 双端
csharp
public static Technique PhysicalBasedRenderingSolid { get; }PhysicalBasedRenderingAlphaSolid 双端
csharp
public static Technique PhysicalBasedRenderingAlphaSolid { get; }DefaultLambert 双端
csharp
public static Technique DefaultLambert { get; }ParticleLambert 双端
csharp
public static Technique ParticleLambert { get; }UnlitStealth 双端
csharp
public static Technique UnlitStealth { get; }GrayLevelFive 双端
csharp
public static Technique GrayLevelFive { get; }GrayLevelTwo 双端
csharp
public static Technique GrayLevelTwo { get; }HairSimulation 双端
csharp
public static Technique HairSimulation { get; }StaticObject 双端
csharp
public static Technique StaticObject { get; }FlatLambert 双端
csharp
public static Technique FlatLambert { get; }FlatLambertAlpha 双端
csharp
public static Technique FlatLambertAlpha { get; }Water 双端
csharp
public static Technique Water { get; }PhysicalBasedRenderingAlphaCutout 仅客户端
csharp
public static Technique PhysicalBasedRenderingAlphaCutout { get; }使用 Albedo Alpha 固定阈值裁剪的 PBR Technique。
PhysicalBasedRenderingAlphaBlend 仅客户端
csharp
public static Technique PhysicalBasedRenderingAlphaBlend { get; }读取 Albedo Alpha 且不写深度的 PBR 混合 Technique。
PhysicalBasedRenderingAlphaBlendSolid 仅客户端
csharp
public static Technique PhysicalBasedRenderingAlphaBlendSolid { get; }使用材质颜色 Alpha 且不写深度的无贴图 PBR 混合 Technique。
TexturedVertexColorLitOpaque 仅客户端
csharp
public static Technique TexturedVertexColorLitOpaque { get; }受光照的不透明贴图顶点颜色 Technique。
TexturedVertexColorUnlitOpaque 仅客户端
csharp
public static Technique TexturedVertexColorUnlitOpaque { get; }不受光照的不透明贴图顶点颜色 Technique。
TexturedVertexColorLitAlphaCutout 仅客户端
csharp
public static Technique TexturedVertexColorLitAlphaCutout { get; }受光照且使用 Alpha 裁剪的贴图顶点颜色 Technique。
TexturedVertexColorUnlitAlphaBlend 仅客户端
csharp
public static Technique TexturedVertexColorUnlitAlphaBlend { get; }不受光照且使用 Alpha 混合的贴图顶点颜色 Technique。
PhysicalBasedRenderingVertexColor 仅客户端
csharp
public static Technique PhysicalBasedRenderingVertexColor { get; }贴图乘顶点 RGBA 的不透明 PBR Technique。
PhysicalBasedRenderingVertexColorAlphaCutout 仅客户端
csharp
public static Technique PhysicalBasedRenderingVertexColorAlphaCutout { get; }贴图乘顶点 RGBA,并按 Albedo Alpha 裁剪的 PBR Technique。
KnownTechniquePath 双端
命名空间 GameGraph.MaterialSystem.Enum
csharp
public readonly struct KnownTechniquePath内置或 SDK 推荐的材质 Technique XML 路径。
属性
Path 双端
csharp
public UTF8String Path { get; init; }Technique XML 资源路径。
PhysicalBasedRendering 双端
csharp
public static KnownTechniquePath PhysicalBasedRendering { get; }PhysicalBasedRenderingAlpha 双端
csharp
public static KnownTechniquePath PhysicalBasedRenderingAlpha { get; }PhysicalBasedRenderingSolid 双端
csharp
public static KnownTechniquePath PhysicalBasedRenderingSolid { get; }PhysicalBasedRenderingAlphaSolid 双端
csharp
public static KnownTechniquePath PhysicalBasedRenderingAlphaSolid { get; }PhysicalBasedRenderingAlphaCutout 仅客户端
csharp
public static KnownTechniquePath PhysicalBasedRenderingAlphaCutout { get; }使用 Albedo Alpha 固定阈值裁剪的 PBR Technique。
PhysicalBasedRenderingAlphaBlend 仅客户端
csharp
public static KnownTechniquePath PhysicalBasedRenderingAlphaBlend { get; }读取 Albedo Alpha 且不写深度的 PBR 混合 Technique。
PhysicalBasedRenderingAlphaBlendSolid 仅客户端
csharp
public static KnownTechniquePath PhysicalBasedRenderingAlphaBlendSolid { get; }使用材质颜色 Alpha 且不写深度的无贴图 PBR 混合 Technique。
DefaultLambert 双端
csharp
public static KnownTechniquePath DefaultLambert { get; }ParticleLambert 双端
csharp
public static KnownTechniquePath ParticleLambert { get; }UnlitStealth 双端
csharp
public static KnownTechniquePath UnlitStealth { get; }GrayLevelFive 双端
csharp
public static KnownTechniquePath GrayLevelFive { get; }GrayLevelTwo 双端
csharp
public static KnownTechniquePath GrayLevelTwo { get; }HairSimulation 双端
csharp
public static KnownTechniquePath HairSimulation { get; }StaticObject 双端
csharp
public static KnownTechniquePath StaticObject { get; }FlatLambert 双端
csharp
public static KnownTechniquePath FlatLambert { get; }FlatLambertAlpha 双端
csharp
public static KnownTechniquePath FlatLambertAlpha { get; }Water 双端
csharp
public static KnownTechniquePath Water { get; }TexturedVertexColorLitOpaque 仅客户端
csharp
public static KnownTechniquePath TexturedVertexColorLitOpaque { get; }受光照的不透明贴图顶点颜色 Technique。
TexturedVertexColorUnlitOpaque 仅客户端
csharp
public static KnownTechniquePath TexturedVertexColorUnlitOpaque { get; }不受光照的不透明贴图顶点颜色 Technique。
TexturedVertexColorLitAlphaCutout 仅客户端
csharp
public static KnownTechniquePath TexturedVertexColorLitAlphaCutout { get; }受光照且使用 Alpha 裁剪的贴图顶点颜色 Technique。
TexturedVertexColorUnlitAlphaBlend 仅客户端
csharp
public static KnownTechniquePath TexturedVertexColorUnlitAlphaBlend { get; }不受光照且使用 Alpha 混合的贴图顶点颜色 Technique。
PhysicalBasedRenderingVertexColor 仅客户端
csharp
public static KnownTechniquePath PhysicalBasedRenderingVertexColor { get; }贴图乘顶点 RGBA 的不透明 PBR Technique。
PhysicalBasedRenderingVertexColorAlphaCutout 仅客户端
csharp
public static KnownTechniquePath PhysicalBasedRenderingVertexColorAlphaCutout { get; }贴图乘顶点 RGBA,并按 Albedo Alpha 裁剪的 PBR Technique。
KnownVectorProperty 双端
命名空间 GameGraph.MaterialSystem.Enum
csharp
public readonly struct KnownVectorProperty属性
PropertyId 双端
csharp
public required uint PropertyId { get; init; }