GFShaderParameterBinder¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/utilities/display/gf_shader_parameter_binder.gd - 模块:
Standard - 继承:
Node - API:
public - 类别:运行时句柄 (
runtime_handle) - 首次版本:
4.3.0
场景中的 Shader 参数 Profile 绑定节点。 将 GFShaderParameterProfile 应用到目标节点或材质,便于项目用可复用 Resource 管理 ShaderMaterial uniform 参数。它只负责目标解析、材质复制选项、 profile 变化监听和批量写入,不规定 shader、uniform 命名或视觉语义。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 信号 | profile_applied |
signal profile_applied(applied_count: int) |
| 属性 | profile |
var profile: GFShaderParameterProfile = null: |
| 属性 | target_path |
var target_path: NodePath = ^".." |
| 属性 | material_property |
var material_property: NodePath = ^"material" |
| 属性 | apply_on_ready |
var apply_on_ready: bool = true |
| 属性 | apply_each_process |
var apply_each_process: bool = false: |
| 属性 | auto_apply_on_profile_changed |
var auto_apply_on_profile_changed: bool = true |
| 属性 | duplicate_material_on_apply |
var duplicate_material_on_apply: bool = false |
| 属性 | require_declared_parameters |
var require_declared_parameters: bool = true |
| 属性 | warn_on_invalid_target |
var warn_on_invalid_target: bool = true |
| 属性 | warn_on_missing_parameters |
var warn_on_missing_parameters: bool = true |
| 属性 | copy_values |
var copy_values: bool = true |
| 方法 | apply |
func apply() -> int: |
| 方法 | resolve_target |
func resolve_target() -> Object: |
信号¶
profile_applied¶
- API:
public
Profile 应用完成时发出。
参数:
| 名称 | 说明 |
|---|---|
applied_count |
实际写入的参数数量。 |
属性¶
profile¶
- API:
public
要应用的 Shader 参数 Profile。
target_path¶
- API:
public
目标节点路径。默认指向父节点,适合把 Binder 作为材质节点的子节点使用。
material_property¶
- API:
public
当目标不是 ShaderMaterial 时,用于读取材质的属性路径。
apply_on_ready¶
- API:
public
进入场景树 ready 阶段时是否自动应用 profile。
apply_each_process¶
- API:
public
是否在每帧 _process() 中重新应用 profile。
auto_apply_on_profile_changed¶
- API:
public
Profile 通过公开方法发出 changed 信号时是否自动应用。
duplicate_material_on_apply¶
- API:
public
应用前是否复制目标材质并写回 material_property,避免修改共享材质资源。
require_declared_parameters¶
- API:
public
是否要求 shader 已声明 profile 中的 uniform 参数。
warn_on_invalid_target¶
- API:
public
目标或材质无效时是否输出 warning。
warn_on_missing_parameters¶
- API:
public
profile 中存在 shader 未声明参数时是否输出 warning。
copy_values¶
- API:
public
写入参数前是否复制集合值,避免外部可变集合污染材质参数。
方法¶
apply¶
- API:
public
将当前 profile 应用到目标材质。
返回:实际写入的参数数量。
resolve_target¶
- API:
public
解析当前目标对象。
返回:目标节点;解析失败时返回 null。