Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

VisualShaderNode

继承: Resource < RefCounted < Object

派生: VisualShaderNodeBillboard, VisualShaderNodeClamp, VisualShaderNodeColorFunc, VisualShaderNodeColorOp, VisualShaderNodeCompare, VisualShaderNodeConstant, VisualShaderNodeCubemap, VisualShaderNodeCustom, VisualShaderNodeDerivativeFunc, VisualShaderNodeDeterminant, VisualShaderNodeDistanceFade, VisualShaderNodeDotProduct, VisualShaderNodeFloatFunc, VisualShaderNodeFloatOp, VisualShaderNodeFresnel, VisualShaderNodeIf, VisualShaderNodeInput, VisualShaderNodeIntFunc, VisualShaderNodeIntOp, VisualShaderNodeIs, VisualShaderNodeLinearSceneDepth, VisualShaderNodeMix, VisualShaderNodeMultiplyAdd, VisualShaderNodeOuterProduct, VisualShaderNodeOutput, VisualShaderNodeParameter, VisualShaderNodeParameterRef, VisualShaderNodeParticleAccelerator, VisualShaderNodeParticleConeVelocity, VisualShaderNodeParticleEmit, VisualShaderNodeParticleEmitter, VisualShaderNodeParticleMultiplyByAxisAngle, VisualShaderNodeParticleRandomness, VisualShaderNodeProximityFade, VisualShaderNodeRandomRange, VisualShaderNodeRemap, VisualShaderNodeResizableBase, VisualShaderNodeRotationByAxis, VisualShaderNodeSample3D, VisualShaderNodeScreenNormalWorldSpace, VisualShaderNodeScreenUVToSDF, VisualShaderNodeSDFRaymarch, VisualShaderNodeSDFToScreenUV, VisualShaderNodeSmoothStep, VisualShaderNodeStep, VisualShaderNodeSwitch, VisualShaderNodeTexture, VisualShaderNodeTextureSDF, VisualShaderNodeTextureSDFNormal, VisualShaderNodeTransformCompose, VisualShaderNodeTransformDecompose, VisualShaderNodeTransformFunc, VisualShaderNodeTransformOp, VisualShaderNodeTransformVecMult, VisualShaderNodeUIntFunc, VisualShaderNodeUIntOp, VisualShaderNodeUVFunc, VisualShaderNodeUVPolarCoord, VisualShaderNodeVarying, VisualShaderNodeVectorBase, VisualShaderNodeWorldPositionFromDepth

VisualShader 节点的基类。与场景节点无关。

描述

可视化着色器图由各种节点组成。图中的每个节点都是一个独立的对象,它们被表示为带有标题和一系列属性的矩形框。每个节点还有连接端口,可以将其连接到另一个节点并控制着色器的流程。

教程

属性

int

output_port_for_preview

-1

方法

void

clear_default_input_values ( )

int

get_default_input_port ( PortType type ) const

Array

get_default_input_values ( ) const

Variant

get_input_port_default_value ( int port ) const

void

remove_input_port_default_value ( int port )

void

set_default_input_values ( Array values )

void

set_input_port_default_value ( int port, Variant value, Variant prev_value=null )


枚举

enum PortType:

PortType PORT_TYPE_SCALAR = 0

浮点数类型。在着色器代码中,会被翻译为 float 类型。

PortType PORT_TYPE_SCALAR_INT = 1

整数标量。在着色器代码中,会被翻译为 int 类型。

PortType PORT_TYPE_SCALAR_UINT = 2

无符号整数标量。在着色器代码中,会被翻译为 uint 类型。

PortType PORT_TYPE_VECTOR_2D = 3

浮点数 2D 向量。在着色器代码中,会被翻译为 vec2 类型。

PortType PORT_TYPE_VECTOR_3D = 4

浮点数 3D 向量。在着色器代码中,会被翻译为 vec3 类型。

PortType PORT_TYPE_VECTOR_4D = 5

浮点数 4D 向量。在着色器代码中,会被翻译为 vec4 类型。

PortType PORT_TYPE_BOOLEAN = 6

布尔值类型。在着色器代码中,会被翻译为 bool 类型。

PortType PORT_TYPE_TRANSFORM = 7

变换类型。在着色器代码中,会被翻译为 mat4 类型。

PortType PORT_TYPE_SAMPLER = 8

采样器类型。在着色器代码中,会被翻译为对采样器 uniform 的引用。只能用于非 uniform 节点的输入端口。

PortType PORT_TYPE_MAX = 9

表示 PortType 枚举的大小。


属性说明

int output_port_for_preview = -1

  • void set_output_port_for_preview ( int value )

  • int get_output_port_for_preview ( )

设置将被显示为预览的输出端口索引。如果设置为-1,则没有端口会被打开进行预览。


方法说明

void clear_default_input_values ( )

清除默认输入端口值。


int get_default_input_port ( PortType type ) const

返回输入端口,当由于将连接从已有节点拖动到图形上的空白区域而创建节点时,默认情况下应连接该输入端口。


Array get_default_input_values ( ) const

返回一个包含节点所有输入端口默认值的 Array,形式为 [index0, value0, index1, value1, ...]


Variant get_input_port_default_value ( int port ) const

返回输入端口 port 的默认值。


void remove_input_port_default_value ( int port )

移除输入端口 port 的默认值。


void set_default_input_values ( Array values )

使用 [index0, value0, index1, value1, ...] 形式的 Array 设置默认输入端口值。例如: [0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)]


void set_input_port_default_value ( int port, Variant value, Variant prev_value=null )

设置输入端口 port 的默认值 value