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, VisualShaderNodeReroute, 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

linked_parent_graph_frame

-1

int

output_port_for_preview

-1

方法

void

clear_default_input_values()

int

get_default_input_port(type: PortType) const

Array

get_default_input_values() const

Variant

get_input_port_default_value(port: int) const

void

remove_input_port_default_value(port: int)

void

set_default_input_values(values: Array)

void

set_input_port_default_value(port: int, value: Variant, prev_value: Variant = 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 linked_parent_graph_frame = -1 🔗

  • void set_frame(value: int)

  • int get_frame()

表示该节点被链接到的框的索引。如果设置为 -1,则表示节点未被链接到任何框。


int output_port_for_preview = -1 🔗

  • void set_output_port_for_preview(value: int)

  • int get_output_port_for_preview()

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


方法说明

void clear_default_input_values() 🔗

清除默认输入端口值。


int get_default_input_port(type: PortType) const 🔗

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


Array get_default_input_values() const 🔗

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


Variant get_input_port_default_value(port: int) const 🔗

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


void remove_input_port_default_value(port: int) 🔗

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


void set_default_input_values(values: Array) 🔗

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


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

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