Referencia de API de scripts

Esta página describe los conceptos principales de la API.

Para obtener información más detallada, consulte la documentación suministrada con la aplicación a la que se puede acceder en Ayuda > Documentación de la API de Python…. En esta documentación, realice una búsqueda rápida de los nombres de los módulos (entre paréntesis) para encontrar fácilmente su definición.

Contexto

El objeto de contexto (Context) es el punto de entrada principal a la API. Se crea la primera vez que el usuario lo obtiene mediante el método ‘getContext()’ del módulo ‘sd’.

Este objeto permite esencialmente recuperar el objeto application (SDApplication).

Aplicación (SDApplication)

La aplicación (SDApplication) es el objeto que permite acceso a los principales administradores de API, como:

  • el Administrador del paquete (SDPackageMgr) que administra todos los paquetes de la aplicación;
  • el Administrador del módulo (SDModuleMgr) que administra todos los módulos de la aplicación;
  • el Administrador de IU (SDUIMgr) que puede crear menús y muelles en la ventana de la aplicación.

Puede registrar devoluciones de llamada con la aplicación a la que se llamará cuando se produzcan ciertos eventos.

Administrador de paquetes (SDPackageMgr)

Este objeto administra todos los paquetes de la aplicación. Los paquetes se muestran en el componente ‘Explorer’.

Esto le permite:

  • crear un nuevo paquete;
  • cargar/descargar un paquete;
  • guardar un paquete;
  • buscar un paquete.

Paquete (SDPackage)

Un paquete (SDPackage) es una colección de recursos (SDResource).

El contenido de un paquete se puede almacenar en un archivo con la extensión .sbs mediante el objeto ‘SDPackageMgr’. Este objeto permite recuperar recursos específicos.

Para crear un recurso específico, vea los métodos estáticos de objeto relacionados (p. ej.: ‘SDSBSCompGraph.sNew()’).

Un paquete también contiene un diccionario de metadatos (SDMetadataDict). Puede encontrar más información sobre los metadatos aquí.

Recurso (SDResource)

Un recurso (SDResource) es un objeto al que otro recurso puede hacer referencia.

Hay varios recursos tipos:

  • Carpetas (SDResourceFolder);
  • Gráficos (SDGraph);
  • Bitmaps (SDResourceBitmap);
  • Imágenes de SVG (SDResourceSVG);
  • Fuentes (SDResourceFont);
  • Escenas (SDResourceScene);
  • Medidas BSDF (SDResourceBSDFMeasurement);
  • Perfiles ligeros (SDResourceLightProfile).

Se puede crear un recurso a partir del método estático ‘sNew()’ en:

  • un bulto;
  • una carpeta.

Un recurso puede tener varias propiedades (SDProperty).

Administrador de IU (SDUIMgr)

El administrador de interfaz de usuario permite crear elementos de interfaz de usuario en la ventana principal de Substance Designer, como menus, docks y permite registrar devoluciones de llamada cuando se producen eventos relacionados con la interfaz de usuario.

Además, el administrador de IU tiene acceso al gráfico activo actual y a la selección del gráfico activo.

Gráficos (SDGraph)

Un gráfico (SDGraph) es un objeto que contiene:

  • nodos (SDNode);
  • objetos de gráfico (SDGraphObjects);
  • propiedades (SDProperty).

Hay 4 tipos de gráficas diferentes:

  • Gráfico del Substance (SDSBSCompGraph)
  • Gráfico de funciones del Substance (SDSBSFunctionGraph)
  • Gráfico de Substance FXMap (SDSBSFxMapGraph)

Un gráfico puede tener uno o varios nodos output. Los nodos de salida representan los resultados del gráfico.

Se pueden recuperar todos los nodos disponibles para un gráfico con el método ‘getNodeDefinitions()’.

Se puede crear un nuevo nodo con el método ‘newNode()’.

Se puede crear un nuevo nodo instance a partir de un recurso (SDResource) con el método ‘newInstanceNode()’.

Nodo (SDNode)

Un nodo (SDNode) representa una operación realizada en un objeto.

Se puede crear a partir de:

  • una definición (SDDefinition) (consulte 'SDGraph.newNode()');
  • un recurso (SDResource) (consulte 'SDGraph.newInstanceNode()').

Un nodo puede tener varias propiedades.

Hay varios tipos de nodo:

  • SDSBSCompNode: Un nodo del Gráfico de Substance (SDSBSCompGraph);
  • SDSBSFunctionNode: Un nodo del Gráfico de función de Substance (SDSBSFunctionGraph);
  • SDSBSFxMapNode: Un nodo del Substance FXMap Graph (SDSBSFxMapGraph);

Objetos de gráficos (SDGraphObjects)

Un objeto de gráfico (SDGraphObject) es un objeto que agrega información adicional al gráfico, pero que no se tiene en cuenta durante el proceso de evaluación del gráfico.

Hay 3 tipos de objetos gráficos:

  • Pin (SDGraphObjectPin)
  • Comentario (SDGraphObjectComment)
  • Marco (SDGraphObjectFrame)

Consulte el método estático ‘sNew()’ en estos objetos para obtener más información sobre cómo crearlos.

Propiedades (SDProperty)

Una propiedad (SDProperty) es un objeto que describe una propiedad de otro objeto (un gráfico, un nodo, un recurso, etc.).

Pertenece a una categoría específica (SDPropertyCategory):

  • Entrada: clasifica las propiedades de entrada de un objeto, que normalmente afectan a la operación realizada por el objeto actual;
    • Por ejemplo: la propiedad ‘color’ de un nodo de Color uniforme en un gráfico de Substance es una propiedad de entrada;
  • Salida: clasifica las propiedades de salida de un objeto. Se utiliza para identificar un resultado de un objeto;
  • Anotación: clasifica las propiedades que no afectan a la operación realizada por un objeto;
    • Por ejemplo: la ‘etiqueta’ de un gráfico es una propiedad de anotación porque no afecta al cálculo del gráfico.

Contiene los siguientes miembros:

  • Id: El identificador de los bienes en el contexto de esta categoría;
  • Tipos: Los tipos admitidos por la propiedad actual. Algunas propiedades pueden admitir varios tipos: ‘int’, ‘float’, etc.;
    • Por ejemplo: las propiedades de entrada de un nodo ‘sbs::add’ pueden admitir diferentes tipos: 'int’, 'int2’, 'int3’, 'int4’, 'float’, 'float2’, 'float3’, 'float4’, etc.;
  • Categoría: La categoría a la que pertenece la propiedad (entrada, salida, anotación);
  • Etiqueta: La etiqueta de la propiedad, utilizada para mostrar only;
  • Descripción: La descripción de la propiedad;
  • ValorPredeterminado: El valor predeterminado;
  • EsConectable: Indica si se puede realizar una conexión ( SDConnection ) en esta propiedad;
  • isReadyOnly: Indica si la propiedad es de sólo lectura. Si es true, el valor asociado no se puede modificar;
  • isVariadic: Si es true, esta propiedad se representará como varias propiedades en el objeto;
  • isPrimary: Indica si la propiedad especificada es la propiedad principal que controla otras propiedades. Nota: esto es específico para el Substance Composición nodos (SDSBSCompNode).

Ejemplos:

  • Propiedades del nodo ‘sbs::input’:
sbs::entrada
Entrada
Anotación
Salida
$outputsize
etiqueta
unique_filter_output (CONECTABLE)
$format
descripción
$pixelsize
identificador
$pixelratio
userdata
$mosaico
grupo
$aleatorio
visible si
bitmapresourcepath
usos
  • Propiedades del nodo ‘sbs::blend’:
sbs::blend
Entrada
Anotación
Salida
$outputsize
unique_filter_output (CONECTABLE)
$format
$pixelsize
$pixelratio
$mosaico
$aleatorio
source.connector (CONECTABLE)
destination.connector (CONECTABLE)
opacity.connector (CONECTABLE)
opacitimulto
blendingmode
mezcla de colores
maskrectangle

Tipo (SDType)

Un tipo (SDType) contiene información de un valor type, como:

  • Id: El identificador del tipo;

  • Modificador: El modificador de tipo que puede ser uno de los valores enum de ‘SDTypeModifier’’:

    • Automático;
    • Uniforme: El valor se evalúa una vez por operación;
    • Variación: El valor se evalúa varias veces por operación (por ejemplo: para cada texel).

Se definen varios tipos, como:

  • enumeraciones (SDTypeEnum): describe un tipo enumeration con todas sus propiedades;
  • estructuras (SDTypeStruct): describe un tipo structure con todas sus propiedades;
  • matriz (SDTypeArray): describe una matriz.
  • etc.

Consulte la Documentación de la API de Python del Substance Designer para obtener una lista exhaustiva.

Valores (SDValue)

Un valor (SDValue) es un objeto que encapsula un valor de tipo base.

Por ejemplo:

  • un objeto ‘SDValueInt’ encapsula un valor ‘int’;
  • un objeto ‘SDValueFloat4’ encapsula un valor ‘float4’;
  • etc.

El valor del tipo base normalmente se puede recuperar con el método ‘get()’, pero esto puede depender del tipo de 'SDValue’ que se haya devuelto.

Conexión (SDConnection)

Una conexión (SDConnection) representa un vínculo entre dos propiedades diferentes de dos nodos diferentes.

Contiene:

  • El nodo de destino;
  • La propiedad de destino del nodo de destino;

Todas las operaciones de conexión se llevan a cabo en un nodo:

  • creando una nueva conexión, consulte ‘SDNode.newPropertyConnection()
  • eliminando una conexión existente, consulte ‘SDNode.deletePropertyConnection()
  • Recuperando las conexiones de una propiedad, consulte ‘SDNode.getPropertyConnections()

Módulo (SDModule)

Un módulo es una colección de definiciones y tipos.

Permite recuperar fácilmente toda la información sobre los nodos que se pueden crear, así como sobre enumeraciones y estructuras.

Contiene:

  • un identificador (Id) que es único en el contexto del administrador de módulos (SDModuleMgr);
  • una lista de definiciones (SDDefinition);
  • una lista de tipos (SDType).

Definición (Definición SD)

Un objeto de definición (SDDefinition) contiene información sobre la definición de un objeto determinado basado en propiedades ('SDNode’, etc.).

Contiene:

  • Id: el identificador de la definición;
  • Etiqueta: La etiqueta de la definición;
  • Descripción: La descripción de la definición;
  • Propiedades: Las propiedades de todas las propiedades disponibles categorías (SDPropertyCategory).
recommendation-more-help
substance-3d-designer-help-guide