Files
Dontdrunk-ComfyUI-DD-Nodes/node/latent_switcher.py
T

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"
}