53 lines
2.2 KiB
Python
53 lines
2.2 KiB
Python
|
|
from .conf import CURRENT_CATEGORY, CURRENT_FUNCTION
|
|
from yors_pano_zero_field import ZeroField
|
|
# from yors_pano_ansi_color import log_msg
|
|
import numpy as n
|
|
from .util import create_shatter_effect
|
|
# from ...base_util import dict_read_with_stro
|
|
|
|
# required,optional
|
|
class ShatterEffectAdvNode:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
# names='input_image,output_dir,frame_count,shard_size,speed,rotation,fade_start'
|
|
|
|
return {
|
|
"required": {
|
|
"input_image_path": ZeroField.any(),#STRING,MASK,IMAGE
|
|
"output_folder": ("STRING", {"multiline": False, "default": "output_frames"}),
|
|
},
|
|
"optional": {
|
|
"frame_count": ("STRING", {"multiline": False, "default": "30"}),
|
|
"shard_size": ("STRING", {"multiline": False, "default": "40"}),
|
|
"speed": ("STRING", {"multiline": False, "default": "10"}),
|
|
"rotation": ("STRING", {"multiline": False, "default": "5"}),
|
|
"fade_start": ("STRING", {"multiline": False, "default": "0"}),
|
|
"name_prefix": ("STRING", {"multiline": False, "default": "frame_"}),
|
|
"name_id_length": ("STRING", {"multiline": False, "default": "3"}),
|
|
"frame_start_index": ("STRING", {"multiline": False, "default": "1"}),
|
|
"shard_shape": ("STRING", {"multiline": False, "default": "square"}),
|
|
"shard_mask_image": ZeroField.any(),
|
|
"shards_area_mask": ZeroField.any(),
|
|
"show_image": ("STRING", {"multiline": False, "default": "False"}),
|
|
"save_image": ("STRING", {"multiline": False, "default": "True"}),
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("STRING","STRING","IMAGE","MASK",)
|
|
RETURN_NAMES = ("output_folder","filepaths","images","masks",)
|
|
|
|
FUNCTION = CURRENT_FUNCTION
|
|
CATEGORY = CURRENT_CATEGORY
|
|
NODE_DESC = "effect shatter (1.0)"
|
|
|
|
OUTPUT_NODE = True
|
|
|
|
def exec(self, **kwargs):
|
|
files,images,masks,has_non_empty_mask = create_shatter_effect(kwargs)
|
|
# last_tensor = get_last_frame(input_image,files)
|
|
output_folder = kwargs.get('output_folder')
|
|
return (output_folder,'\n'.join(files),images,masks)
|
|
|
|
|