63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
class DDLatentSwitcher:
|
|
"""
|
|
DD 潜空间切换 - 在多个潜空间输入之间选择一个作为输出
|
|
支持最多4个潜空间输入,可以通过选择器指定输出哪一个潜空间
|
|
"""
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
"潜空间1": ("LATENT",),
|
|
"潜空间2": ("LATENT",),
|
|
"选择输出": ("INT", {"default": 1, "min": 1, "max": 4, "step": 1}),
|
|
},
|
|
"optional": {
|
|
"潜空间3": ("LATENT",),
|
|
"潜空间4": ("LATENT",),
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("LATENT",)
|
|
RETURN_NAMES = ("潜空间",)
|
|
FUNCTION = "switch_latent"
|
|
CATEGORY = "🍺DD系列节点"
|
|
|
|
def switch_latent(self, 潜空间1, 潜空间2, 选择输出, 潜空间3=None, 潜空间4=None):
|
|
"""
|
|
在多个潜空间之间切换,根据选择输出指定的数字返回对应的潜空间
|
|
|
|
Args:
|
|
潜空间1-4: 输入的潜空间
|
|
选择输出: 选择输出第几个潜空间(1-4)
|
|
|
|
Returns:
|
|
选定的潜空间
|
|
"""
|
|
# 创建潜空间列表
|
|
潜空间列表 = [潜空间1, 潜空间2, 潜空间3, 潜空间4]
|
|
|
|
# 确定要输出的潜空间索引
|
|
选择索引 = int(选择输出) - 1 # 转换为0-3的索引
|
|
|
|
# 检查所选索引处是否有潜空间
|
|
if 选择索引 > 1 and 潜空间列表[选择索引] is None:
|
|
print(f"[潜空间切换] 警告:潜空间{选择索引+1}不存在,默认使用潜空间1")
|
|
选择索引 = 0
|
|
|
|
# 获取要输出的潜空间
|
|
输出潜空间 = 潜空间列表[选择索引]
|
|
|
|
print(f"[潜空间切换] 已选择输出潜空间{选择索引+1}")
|
|
|
|
return (输出潜空间,)
|
|
|
|
# 节点类映射
|
|
NODE_CLASS_MAPPINGS = {
|
|
"DD-LatentSwitcher": DDLatentSwitcher
|
|
}
|
|
|
|
# 节点显示名称映射
|
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
|
"DD-LatentSwitcher": "DD Latent Switcher"
|
|
} |