2.2 KiB
2.2 KiB
tags
| tags | |
|---|---|
|
SMPL Loader
Documentation
- Class name:
SMPLLoader - Category:
MotionDiff/smpl - Output node:
False
The SMPLLoader node is designed to load and process SMPL model data from specified files, facilitating the integration of SMPL models into motion analysis and synthesis workflows.
Input types
Required
smpl- Specifies the file name of the SMPL model to be loaded. This file contains essential data for motion synthesis, including pose parameters.
- Comfy dtype:
COMBO[STRING] - Python dtype:
str
smpl_model- Determines the specific SMPL model to be used, affecting the interpretation of the loaded SMPL data.
- Comfy dtype:
COMBO[STRING] - Python dtype:
str
Output types
smpl- Comfy dtype:
SMPL - Outputs a tuple containing the path to the SMPL model, pose parameters (thetas), and metadata, ready for further processing or visualization.
- Python dtype:
Tuple[str, torch.Tensor, Dict]
- Comfy dtype:
Usage tips
- Infra type:
CPU - Common nodes: unknown
Source code
class SMPLLoader:
@classmethod
def INPUT_TYPES(s):
global smpl_model_dicts
smpl_model_dicts = get_smpl_models_dict()
input_dir = folder_paths.get_input_directory()
files = [f for f in os.listdir(input_dir) if os.path.isfile(os.path.join(input_dir, f))]
files = folder_paths.filter_files_extensions(files, ['.pt'])
return {
"required": {
"smpl": (files, ),
"smpl_model": (list(smpl_model_dicts.keys()), {"default": "SMPL_NEUTRAL.pkl"})
}
}
RETURN_TYPES = ("SMPL", )
FUNCTION = "load_smpl"
CATEGORY = "MotionDiff/smpl"
def load_smpl(self, smpl, smpl_model):
input_dir = folder_paths.get_input_directory()
smpl_dict = torch.load(os.path.join(input_dir, smpl))
thetas, meta = smpl_dict["thetas"], smpl_dict["meta"]
global smpl_model_dicts
if smpl_model_dicts is None:
smpl_model_dicts = get_smpl_models_dict()
smpl_model_path = smpl_model_dicts[smpl_model]
return ((smpl_model_path, thetas, meta), )