脚本API参考
本页介绍API的主要概念。
有关更多详细信息,请参阅应用程序附带的文档,可在 帮助> Python API文档…… 中访问这些文档。在本文档中,对模块名称(位于下方的括号中)执行 快速搜索 以轻松查找其定义。
上下文
上下文(Context)对象是API的主要入口点。 它是用户第一次使用“sd”模块中的方法“getContext()”获取它时创建的。
此对象允许实质上检索应用程序** (SDApplication)对象。## 应用程序(SDApplication)应用程序(SDApplication)是允许 访问主API管理器 的对象,例如:* 管理应用程序所有 包 的 包 管理器(SDPackageMgr);
-
管理应用程序所有 模块 的 模块 管理器(SDModuleMgr);
-
UI 管理器(SDUIMgr),可以在应用程序窗口中创建菜单和停靠站。可以在发生某些事件时调用的应用程序中注册回调。## 包管理器(SDPackageMgr)此对象管理应用程序的所有包包。 包显示在“资源管理器”组件中。通过它,您可以:* 创建新包;
-
加载/卸载包;
-
保存包;
-
查找包。## 包(SDPackage)包(SDPackage)是资源集合 (SDResource)。包的内容可以通过“SDPackageMgr”对象 存储 到扩展名为 .sbs 的文件。 此对象允许您 检索 特定资源。要 创建 特定资源,请参阅相关对象静态方法(例如:“SDSBSCompGraph.sNew()”)。软件包还包含元数据词典(SDMetadataDict)。 您可以在此处找到有关元数据的更多信息。## 资源(SDResource)资源(SDResource)是可由其他资源 引用 的对象。有多个资源类型:* 文件夹(SDResourceFolder);
-
图形(SDGraph);
-
位图(SDResourceBitmap);
-
SVG图像(SDResourceSVG);
-
字体(SDResourceFont);
-
场景(SDResourceScene);
-
BSDF测量(SDResourceBSDFMeasurement);
-
光源配置文件(SDResourceLightProfile)。资源可以从以下项下的静态方法“sNew()”中创建:* 一个包裹;
-
文件夹。一个资源可以有多个属性 (SDProperty)。## UI管理器(SDUIMgr)UI管理器允许在Substance Designer的主窗口(如菜单**、停靠站)中创建用户界面元素**,并允许在发生用户界面相关事件时调用回调。此外,UI管理器有权访问 当前活动图形 和活动图形选区。## 图形(SDGraph)图形(SDGraph)是包含以下内容的对象:* 节点(SDNode);
-
图形对象 (SDGraphObjects);
-
属性(SDProperty)。图形类型有4种:* 图形(SDSBSCompGraph)
-
函数图形(SDSBSFunctionGraph)Substance
-
FXMap图形(SDSBSFxMapGraph)Substance一个图形可以有一个或多个 输出 节点。 输出节点表示图形的结果。图形的所有可用节点都可以使用“getNodeDefinitions()”方法检索。可以使用方法“newNode()”创建新节点。可以使用方法“newInstanceNode()”从资源(SDResource)创建新的 实例 节点。## 节点(SDNode)节点(SDNode)表示对对象执行的操作。可从以下位置创建它:* 定义 (SDDefinition) (请参见“SDGraph.newNode()”);
-
资源 (SDResource) (请参见“SDGraph.newInstanceNode()”)。一个节点可以有多个属性。节点有多个类型:* SDSBSCompNode:Substance 图形的节点(SDSBSCompGraph);
-
SDSBSFunctionNode:Substance 函数图形的节点(SDSBSFunctionGraph);
-
SDSBSFxMapNode:SubstanceFXMap图形(SDSBSFxMapGraph)的节点;## 图形对象(SDGraphObjects)图形对象(SDGraphObject)是 向图形添加附加信息 的对象,但在图形评估过程中未将其考虑在内。图形对象有3种类型:* 大头针 (SDGraphObjectPin)
-
注释 (SDGraphObjectComment)
-
帧 (SDGraphObjectFrame)请参阅这些对象上的静态方法“sNew()”,以了解有关如何 创建 这些对象的详细信息。## 属性(SDProproperty)属性(SDProperty)是 描述 了另一个对象(图形、节点、资源等)的属性。它属于特定的类别 (SDPropertyCategory):* 输入:分类对象的输入属性,通常会影响当前对象执行的操作;
- 例如:图形中统一颜色节点的属性“color”是输入属性;
-
输出:分类对象的输出属性。 它用于标识对象的结果;
-
批注:将 不影响由对象执行的操作 的属性分类;
- 例如:图形的“标签”是批注属性,因为它不影响图形计算。它包含以下成员:* Id:属性在其类别上下文中的标识符;
-
类型:当前属性支持的类型。 某些属性可以支持 多个 类型:“int”、“float”等;
- 例如:“sbs::add”节点的输入属性可以支持不同的类型:“int”、“int2”、“int3”、“int4”、“float”、“float2”、“float3”、“float4”等;
-
类别:属性所属的类别(输入、输出、批注);
-
标签:属性的标签,仅用于显示**;
-
描述:属性的描述;
-
DefaultValue:默认值;
-
IsConnectable:指示是否可以对此属性执行连接(SDConnection) SDConnection;
-
isReadyOnly:指示属性是否为只读。 如果为true,则与其关联的值 不 可修改;
-
isVariadic:如果为true,则此属性将被表示为对象上的 多个 属性;
-
isPrimary:指示指定的属性是否为控制某些其他属性的 主体 属性。 注意:此操作特定于Substance 合成节点(SDSBSCompNode)。示例:* “sbs::input”节点的属性:sbs::input输入注释输出$outputsize标签unique_filter_output (可连接)$format描述$pixelsize标识符$pixelrationuserdata$拼贴群组$randomseedvisibleifbitmapresourcepath使用情况* “sbs::blend”节点的属性:sbs::blend输入注释输出$outputsizeunique_filter_output (可连接)$format$pixelsize$pixelration$tiling$randomseedsource.连接器(可连接)destination.连接器(可连接)不透明度。连接器(可连接)不透明度多项混合模式colorblending蒙版矩形## 类型(SDType)类型(SDType)包含值 类型 的信息,例如:* Id:类型的标识符;
-
Modifier:类型修饰符,可以是“SDTypeModifier” 枚举值之一:
- 自动;
- 统一:每个操作计算值一次;
- 变化:每个操作计算值次(例如:每个纹理)。定义了多种类型,例如:* 枚举 (SDTypeEnum):描述一个 枚举 类型及其所有属性;
-
结构 (SDTypeStruct):描述一个 结构 类型及其所有属性;
-
数组 (SDTypeArray):描述数组。
-
等。有关详尽列表,请参阅Substance Designer的Python API文档。## 值(SDValue)值(SDValue)是 将 封装为 基类型 值的对象。例如:* “SDValueInt”对象封装“int”值;
-
“SDValueFloat4”对象封装“float4”值;
-
等。基类型值通常可以是使用“get()”方法检索的,但此值可以取决于已返回的“SDValue“”的类型。## 连接(SDConnection)连接(SDConnection)表示两个不同 节点 的两个不同 属性 之间的链接。它包含:* 目标节点;
-
目标节点的目标属性;所有 连接操作 都在节点上执行:* 正在创建新连接,请参阅“SDNode.newPropertyConnection()”
-
删除现有连接,请参阅“SDNode.deletePropertyConnection()”
-
检索属性的连接,请参阅“SDNode.getPropertyConnections()”## 模块(SDModule)模块是定义和类型的集合。它允许方便地检索有关可创建的节点以及枚举和结构的所有信息。它包含:* 在模块管理器(SDModuleMgr)的上下文中唯一的标识符 (Id);
-
定义的列表(SDDefinition);
-
类型的列表(SDType)。## 定义(SDDefinition)定义(SDDefinition)对象包含有关基于属性 (“SDNode“”等)的特定 对象 的定义的信息。它包含:* Id:定义的标识符;
-
标签:定义的标签;
-
描述:定义的描述;
-
属性:所有可用属性 类别 的属性(SDPropertyCategory)。**