Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
VisualShaderNodeCustom¶
Inherits: VisualShaderNode < Resource < Reference < Object
Clase virtual para definir los VisualShaderNode personalizados para su uso en el Visual Shader Editor.
Descripción¶
Heredando esta clase puedes crear un addon de script VisualShader personalizado que se añadirá automáticamente al Visual Shader Editor. El comportamiento del VisualShaderNode se define anulando los métodos virtuales proporcionados.
Para que el nodo se registre como un addon de edición, debes usar la palabra clave tool
y proporcionar un class_name
para tu script personalizado. Por ejemplo:
tool
extends VisualShaderNodeCustom
class_name VisualShaderNodeNoise
Tutoriales¶
Métodos¶
_get_category ( ) virtual |
|
_get_code ( Array input_vars, Array output_vars, int mode, int type ) virtual |
|
_get_description ( ) virtual |
|
_get_global_code ( int mode ) virtual |
|
_get_input_port_count ( ) virtual |
|
_get_input_port_name ( int port ) virtual |
|
_get_input_port_type ( int port ) virtual |
|
_get_name ( ) virtual |
|
_get_output_port_count ( ) virtual |
|
_get_output_port_name ( int port ) virtual |
|
_get_output_port_type ( int port ) virtual |
|
_get_return_icon_type ( ) virtual |
|
_get_subcategory ( ) virtual |
Descripciones de Métodos¶
String _get_category ( ) virtual
Override this method to define the category of the associated custom node in the Visual Shader Editor's members dialog. The path may look like "MyGame/MyFunctions/Noise"
.
Defining this method is optional. If not overridden, the node will be filed under the "Custom" category.
Anula este método para definir el código real shader del nodo personalizado asociado. El código shader debe devolverse como una string, que puede tener varias líneas (para mayor comodidad, puede utilizarse la construcción de string multilínea ""
).
Los arrays input_vars
y output_vars
contienen los nombres de las strings de las diversas variables de entrada y salida, tal como se definen en los métodos virtuales _get_input_*
y _get_output_*
de esta clase.
A los puertos de salida se les pueden asignar valores en el código shader. Por ejemplo, return output_vars[0] + " = " + input_vars[0] + ";"
.
Puedes personalizar el código generado en base al shader mode
(ver Mode) y/o type
(ver Type).
La definición de este método es required.
String _get_description ( ) virtual
Anula este método para definir la descripción del nodo personalizado asociado en el diálogo de miembros del Editor de shader Visual.
La definición de este método es opcional.
Sobreescribe este método para añadir código de shader encima del shader global, para definir su propia biblioteca estándar de métodos reutilizables, variaciones, constantes, uniformes, etc. El código shader debe ser devuelto como una string, que puede tener múltiples líneas (la construcción de string multilínea ""
puede ser usada para mayor conveniencia).
Tenga cuidado con esta funcionalidad ya que puede causar conflictos de nombres con otros nodos personalizados, así que asegúrese de dar a las entidades definidas nombres únicos.
Puede personalizar el código generado basándose en el shader mode
(véase Mode).
Definir este método es opcional.
int _get_input_port_count ( ) virtual
Anular este método para definir la cantidad de puertos de entrada del nodo personalizado asociado.
La definición de este método es required. Si no se anula, el nodo no tiene puertos de entrada.
Sobreescribir este método para definir los nombres de los puertos de entrada del nodo personalizado asociado. Los nombres se usan tanto para los puertos de entrada en el editor como identificadores en el código shader, y se pasan en el array input_vars
en _get_code.
La definición de este método es opcional, pero se recomienda. Si no se anula, los puertos de entrada se nombran como "in" + str(port)
.
Sobreescribe este método para definir el tipo devuelto de cada puerto de entrada del nodo personalizado asociado (véase PortType para los posibles tipos).
Definir este método es opcional, pero se recomienda. Si no se anula, los puertos de entrada devolverán el tipo VisualShaderNode.PORT_TYPE_SCALAR.
String _get_name ( ) virtual
Sobreescribe este método para definir el nombre del nodo personalizado asociado en el diálogo y el gráfico de miembros del Editor de shader Visual.
Definir este método es opcional, pero se recomienda. Si no se anula, el nodo se nombrará como "Unnamed".
int _get_output_port_count ( ) virtual
Sobreescribe este método para definir la cantidad de puertos de salida del nodo personalizado asociado.
La definición de este método es requerida. Si no se sobreescribe, el nodo no tiene puertos de salida.
Sobreescribe este método para definir los nombres de los puertos de salida del nodo personalizado asociado. Los nombres se utilizan tanto para los puertos de salida en el editor como identificadores en el código shader, y se pasan en el array output_vars
en _get_code.
La definición de este método es opcional, pero se recomienda. Si no se sobreescribe, los puertos de salida se nombran como "out" + str(port)
.
Sobreescribe este método para definir el tipo devuelto de cada puerto de salida del nodo personalizado asociado (véase PortType para los posibles tipos).
Definir este método es opcional, pero se recomienda. Si no se anula, los puertos de salida devolverán el tipo VisualShaderNode.PORT_TYPE_SCALAR.
int _get_return_icon_type ( ) virtual
Sobrescribe este método para definir el icono de retorno del nodo personalizado asociado en el diálogo de miembros del Editor Shader Visual.
La definición de este método es opcional. Si no se anula, no se muestra ningún icono de retorno.
String _get_subcategory ( ) virtual
Override this method to define the subcategory of the associated custom node in the Visual Shader Editor's members dialog.
Defining this method is optional. If not overridden, the node will be filed under the root of the main category (see _get_category).