CLO HELP CENTER

How can we help you?

Python 스크립트 API

팔로우

Objective

Python 스크립트 사용 시 필요한 변수를 확인합니다.

※참조:

  • 예제 파일 위치:
    • CLO 설치 폴더

  • 예제 파일 실행 방법:
    • Please type below text in Script Console

    • py> import example

    • py> from example import *

    • py> exam = example()

    • py> exam.function(mdsa)

    • Function은 예시입니다. 사용 할 수 있는 Function은 example.py 파일에서 확인하세요

    • mdsa는 CLO 내부 기능과 연결해주는 python module 입니다.



Operation

  1. Python 스크립트를 실행합니다.

  2. Python 스크립트 창이 실행되면 커서에 원하는 API를 입력하여 사용합니다.

API

#mdsa = CLO Script API

 

변수 

Variable name

Type

Explication

open_avatar_file_list

String List

Open할 Avatar File들의 경로를 지정하는 
리스트 형 변수입니다.

open_garment_file_list

String List

Open할 Garment File들의 경로를 지정하는
리스트 형 변수입니다.

open_animation_file_list

String List

Open할 Animation File들의 경로를 지정하는 
리스트 형 변수입니다.

save_file_path_list

String List

저장할 파일들의 경로와 파일 이름을 저장하는 
리스트 형 변수입니다.

obj_type_list

Integer List

Open할 Avatar의 Type을 저장하는 
리스트 형 변수입니다.

simulation_quality_list

Integer List

Simulation 또는 Animation 할 때 Simulation의 Quality를 
지정하는 리스트 형 변수입니다.

simulation_delay_time_list

Integer List

Animation을 하기 전 제 자리에서 Simulation을 할 시간을
지정하는 리스트 형 변수입니다.

export_scale_unit_list

String List

Export 할 때 Object들의 Scale을 Unit 단위로 지정하는 
리스트 형 변수입니다.

export_fps_list

Integer List

Export 할 때 Object들의 fps를 지정하는 
리스트 형 변수입니다.

unified_map_list

Boolean List

Export 할 때 UV를 Unified 시킬 지 지정하는 
리스트 형 변수입니다.

export_scale_unit

String

Export 할 때 Object들의 Scale을 Unit 단위로
 지정하는 변수입니다.

export_fps

Integer

Export 할 때 Object들의 fps를
 지정하는 변수입니다.

unified_map

Boolean

Export 할 때 Object들의 UV를 unified 시킬지를
 지정하는 변수입니다.

import_scale_unit_list

String List

Import 할 때 Object들의 Scale을 Unit 단위로 지정하는 
리스트 형 변수 입니다.

import_fps_list

Integer List

Import 할 때 Object들의 fps를 지정하는 
리스트 형 변수 입니다.

import_scale_unit

String

Import 할 때 Object들의 Scale을 Unit 단위로 지정하는 
변수 입니다.

import_fps

Integer

Import 할 때 Object들의 fps를 지정하는 변수 입니다.

current_process

Integer

여러 개의 파일들을 한꺼번에 처리하는 경우 
파일 오픈에서부터  Simulation, Animation
파일 저장까지의 일련의 과정을
하나의 Process처럼 처리합니다. 이런 일련의 과정에 대한 
Progress를 나타내는 변수입니다.

export_option_count

Integer

설정된 Export Option들의 Size 입니다. 리스트 형 변수들을
설정했을 때만 값을 가집니다. 단일 option 변수들을 설정
한 경우에는 0을 유지해야 합니다.

import_option_count

Integer

설정된 Import Option들의 Size 입니다. 리스트 형 변수들을
설정했을 때만 값을 가집니다. 단일 option 변수들을 설정
한 경우에는 0을 유지해야 합니다

save_folder_path

String

저장할 파일들의 폴더를 지정하는 변수입니다. 만약 사용자가
save_file_path_list를 설정하지 않았다면 이 변수에 지정된 
경로에 임의의 파일 이름으로 파일들이 저장됩니다.

module_obj

CLO Module

CLO 내부 API module입니다. 이 변수를 
직접 사용할 경우 오작동할 우려가 있습니다.

 

함수

def initialize(object):

- 현재 사용하고 있는 mdsa 객체를 초기화 합니다.

def clear_console(object):

- console window를 지웁니다.

def get_split_string(object, string, split_filter_list):

- string은 string type, split_filter_list는 string list type

- 인자로 받은 string을 split_filter_list에 값으로 나누어 string list로 반환합니다. Split_filter_list는 문자열을 나눌 때 기준이 되는 문자들의 list 입니다.

이 함수는 Split_filter_list의 첫 번째 문자부터 문자열을 나눕니다. 만약 첫 번째 문자로 문자열이 나누어지지 않는 경우 (string에 filter 문자가 포함되어 있지 않은 경우) 두 번째, 세 번째 문자로 순차적으로 검색합니다.

만약 x 번째 split_filter_list에서 문자열이 나누어진 경우 나누어진 string list를 반환합니다. 만약 검색에 실패한 경우 빈 string list를 반환합니다. 반환되는 string list에는 split_filter 문자는 제외됩니다.

get_split_string(“C:\Users\Public\Documents\MarvelousDesigner\Assets_ver_3.0.9999\default.zpac”, [“\\”, “/”])

- [“C:”, “Users”, “Public”, “Documents”, “MarvelousDesigner”, “Assets_ver_3.0.9999”, “default.zpac”]

def get_file_name(object, file_path):

- file_path는 string type

- 인자로 받은 file_path에서 file_name 만을 Return 합니다.

get_file_name(“C:\Users\Public\Documents\MarvelousDesigner\Assets_ver_3.0.9999\default.zpac”)

- default.zpac”

def get_filter_file_name(object, file_list, filter):

- file_list는 string list type, filter는 string type

- 인자로 받은 file_list에서 확장자가 filter factor와 동일한 file들을 list type으로 반환합니다. 확장자 검색 시 대/소문자를 구분하지 않습니다

def make_valid_folder_path(object, folder_path):.

- Folder_path는 string type

- Folder_path의 마지막 문자가 “\” 또는 “/”이 아닌 경우 유효하지 않은 Path로 인식합니다. 이 함수를 사용하면 유효하지 않은 경로를 유효한 형태의 경로로 반환합니다.

def get_entry_list(object, folder_path):

- Folder_path는 string type

- Folder_path에 있는 파일들의 list를 반환합니다.

def set_open_option(object, unit = "none", fps = 30):

- Unit은 string type, "cm", "mm", "inch", "feet", "m"의 값으로 설정 가능합니다. defalut는 "mm" 값 입니다.

- Fps는 integer type, default는 30 fps입니다

- obj, cache, fbx. alembic file의 import option을 설정합니다. 여러 개의 파일들을 import하는 경우에 각각의 파일의 옵션을 다르게 설정하고 싶다면 set_open_option_list 함수를 사용하십시요.

이 함수는 값만 설정합니다. Marvelous Designer에 값을 적용하기 위해서는 set_app_open_option 함수도 호출해야 합니다.

def set_save_option(object, unit = "none", fps = 30, unified = False):

- unit은 string type, "cm", "mm", "inch", "feet", "m"의 값으로 설정 가능합니다. defalut는 "mm" 값 입니다.

- Fps는 integer type, default는 30 fps입니다

- Unified는 Boolean type, True일 경우 object의 UV를 0 ~ 1까지의 값으로 변경합니다. default는 False 입니다.

- obj, cache, fbx. alembic, Garment file의 export option을 설정합니다. 여러 개의 파일들을 export하는 경우에 각각의 파일의 옵션을 다르게 설정하고 싶다면 set_save_option_list 함수를 사용 하십시요.

이 함수는 값만 설정합니다. Marvelous Designer에 값을 적용하기 위해서는 set_app_save_option 함수도 호출해야 합니다.

def set_open_option_list(object, unit_list, fps_list):

- unit_list는 string list type, fps_list는 integer list type

- obj, cache, fbx. alembic, Garment file의 import option을 설정합니다. 여러 개의 파일들을 import 할 때 각각의 파일의 옵션을 다르게 설정하고 싶다면 이 함수를 호출하여 사용하면 됩니다.

인자는 list 형이며 unit_list, fps_list는 동일한 count여야 합니다. 이 함수에 인자인 unit_list, fps_list의 count는 import할 파일의 count와 동일해야 합니다.

만약 import할 파일이 option_list보다 많은 경우 option_list의 마지막 item들로 값이 설정됩니다. 자세한 사항은 example.py를 확인해주세요.

def set_save_option_list(object, unit_list, fps_list, unified_map_list):

- unit_list는 string list type, fps_list는 integer list type, unified_map_list는 Boolean list type

- obj, cache, fbx. alembic, Garment file의 export option을 설정합니다. 여러 개의 파일들을 export 할 때 각각의 파일의 옵션을 다르게 설정하고 싶다면 이 함수를 호출하여 사용하면 됩니다.

인자는 list 형이며 unit_list, fps_list, unified_map_list는 동일한 count여야 합니다.이 함수에 인자인 unit_list, fps_list, unified_map_list의 count는 export할 파일의 count와 동일해야 합니다.

만약 export할 파일이 option_list보다 많은 경우 option_list의 마지막 item들로 값이 설정됩니다. 자세한 사항은 example.py를 확인해주세요.

def run_app_open_option(object):

- set_open_option 함수에서 설정한 값으로 Marvelous Designer Import Option을 설정합니다.

def run_app_save_option(object):

- set_save_option 함수에서 설정한 값으로 Marvelous Designer Import Option을 설정합니다

def run_app_open_option(object, index):

- index는 integer type

- set_open_option_list 함수에서 설정한 값으로 Marvelous Designer Import Option을 설정합니다. set_open_option_list 함수에서 List로 option 값을 설정했다면 설정한 List에서 적용하고 싶은 item의 index를 인자로 넘겨줍니다.

- Index의 최소값은 0이며 list의 전체 사이즈 – 1 값이 index의 최대값입니다.

def run_app_save_option(object, index):

- index는 integer type

- set_save_option_list 함수에서 설정한 값으로 Marvelous Designer Export Option을 설정합니다. set_save_option_list 함수에서 List로 option 값을 설정했다면 설정한 List에서 적용하고 싶은 item의 index를 인자로 넘겨줍니다.

- Index의 최소값은 0이며 list의 전체 사이즈 – 1 값이 index의 최대값입니다.

def get_app_open_optin_count(object):

- 현재 설정된 import option의 count를 반환합니다. defalut는 0입니다.

def get_app_save_optin_count(object):

- 현재 설정된 export option의 count를 반환합니다. defalut는 0입니다.

def set_avatar_file_path(object, open_avatar_file_path):

- open_avatar_file_path는 string type.

- avatar file path를 추가합니다. 만약 다른 파일들과 count가 맞지 않는 경우 맨 마지막에 등록한 avatar file path가 load 됩니다.

def set_avatar_file_path_list(object, open_avatar_file_path_list):

- open_avatar_file_path_list는 string list type

- avatar file list를 설정합니다. list 형태의 값을 직접 설정하고 싶은 경우 사용합니다. 만약 다른 파일들과 count가 맞지 않는 경우 맨 마지막에 등록한 avatar file path가 load 됩니다.

def set_garment_file_path(object, open_garment_file_path):

- open_garment_file_path는 string type

- garment file path를 추가합니다. 만약 다른 파일들과 count가 맞지 않는 경우 맨 마지막에 등록한 garment file path가 load 됩니다.

def set_garment_file_path_list(object, open_garment_file_path_list):

- open_garment_file_path_list는 string list type

- garment file list를 설정합니다. list 형태의 값을 직접 설정하고 싶은 경우 사용합니다. 만약 다른 파일들과 count가 맞지 않는 경우 맨 마지막에 등록한 garment file path가 load 됩니다.

def set_animation_file_path(object, open_animation_file_path):

- open_animation_file_path는 string list type

- animation file list를 설정합니다. list 형태의 값을 직접 설정하고 싶은 경우 사용합니다. 만약 다른 파일들과 count가 맞지 않는 경우 맨 마지막에 등록한 animation file path가 load 됩니다.

def set_animation_file_path_list(object, open_animation_file_path_list):

- open_animation_file_path_list는 string list type

- animation file list를 설정합니다. List 형태의 값을 직접 설정하고 싶은 경우 사용합니다. 만약 다른 파일들과 count가 맞지 않는 경우 맨 마지막에 등록한 animation file path가 load 됩니다.

def set_simulation_options(object, obj_type = 0, simulation_quality = 0, simulation_delay_time = 5000, process_simulation = True):

- obj_type은 integer type, obj_type = 0인 경우 avatar, 1인 경우 trim object, 2인 경우 obj to garment로 로드 됩니다. Default는 avatar type입니다.

- Simulation_quality는 integer type, 0인 경우 Normal, 1인 경우 Complete, 2인 경우 Custom type 입니다. Default는 Normal입니다.

- Simulation_delay_time은 integer type, 이 값은 설정한 시간만큼 simulation을 진행 한 후에 animation을 진행하고 싶은 경우 사용합니다.

Default는 5000 micro second이며 simulation을 진행하고 싶은 시간(second) * 1000입니다.

- Process_simulation은 boolean type, simulation 진행 여부를 결정합니다. Default는 True입니다.

- 이 함수는 obj type과 simulation과 관련된 Import option들을 추가합니다. 만약 Import할 다른 파일들과 count가 맞지 않거나 option을 설정하지 않는 경우 default 값으로 설정됩니다.

def avatar_file_open(object, open_file_path, obj_type = 0, scale = "mm", fps = 30):

- open_file_path는 string type, obj_type은 string type, scale은 string type, fps는 integer type

- 이 함수를 사용하면 open_file_path에 있는 avatar (avt, obj, fbx, alembic) file을 불러옵니다. 이 때 함께 지정한 obj_type, scale, fps option이 적용됩니다.

def garment_file_open(object, open_file_path):

- open_file_path는 string type,

- 이 함수를 사용하면 open_file_path에 있는 garment (zpac, pac, zprj) file을 불러옵니다.

def animation_file_open(object, open_file_path, scale = "mm", fps = 30):

- open_file_path는 string type, scale은 string type, fps는 integer type

- 이 함수를 사용하면 open_file_path에 있는 animation (pos, mc, mcx, pc2, mdd) file을 불러옵니다. 이 때 함께 지정한 scale, fps option이 적용됩니다.

def save_file_stand_alone(object, file_path, scale = "mm", fps = 30, unfined_map = True):

- File_path는 string type, scale은 string type, fps는 integer type, unified_map은 Boolean type

- 이 함수를 사용하면 현재 load되어 있는 파일들을 file_path에 저장합니다. File_path에 확장자에 따라 save 할 파일 타입을 자동으로 지정합니다. 함께 지정한 scale, fps, unified_map option이 적용되어 저장됩니다.

def SimulationOn(object, time):

- Time은 integer type, micro second (second * 1000)

- 지정한 time 이후에 simulation을 실행합니다.

def SimulationOff(object, time):

- Time은 integer type, micro second (second * 1000)

- 지정한 time 이후에 simulation을 정지 시킵니다.

def StartAnimationRecord(object, time):

- Time은 integer type, micro second (second * 1000)

- 지정된 time 이후에 animation을 실행 또는 녹화 합니다.

def set_save_file_path(object, save_file_path):

- save_file_path는 string type

- 이 함수는 인자로 넘어온 경로를 save_file_path_list에 추가합니다. save_file_path_list는 사용자가 미리 설정한 import file list들 중 적어도 하나의 list의 크기와 동일해야 합니다.

- set_save_folder_path를 설정하여 대체할 수 있습니다. 두 함수 중 하나는 반드시 설정되어야 합니다.

def set_save_folder_path(object, save_folder_path):

- save_folder_path 는 string type

- 이 함수는 인자로 넘어온 경로를 save folder path로 설정합니다. Save folder path는 사용자가 미리 설정한 import file list들 중 크기가 가장 큰 list의 file name과 동일한 name의 zprj(프로젝트) 파일로 해당 폴더에 파일들을 저장합니다.

- set_save_file_path를 설정하여 대체할 수 있습니다. 두 함수 중 하나는 반드시 설정되어야 합니다.

def set_garment_folder(object, garment_folder_path, filter = "zpac"):

- garment_folder_path는 string type, filter는 string type

- 이 함수는 사용자가 원하는 폴더에 존재하는 의상 파일들을 읽어드려 open_garment_file_list로 설정합니다. Filter 값을 설정할 경우 filter의 확장자 파일들로 open_garment_file_list를 설정합니다.

- Filter의 default는 “zpac” 입니다.

def set_avatar_folder(object, avatar_folder_path, filter = "avt"):

- avatar_folder_path는 string type, filter는 string type

- 이 함수는 사용자가 원하는 폴더에 존재하는 avatar 파일들을 읽어드려 open_avatar_file_list로 설정합니다. Filter 값을 설정할 경우 filter의 확장자 파일들로 open_avatar_file_list를 설정합니다.

- Filter의 default는 “avt” 입니다.

def set_animation_folder(object, animation_folder_path, filter = "pos"):

- animation_folder_path는 string type, filter는 string type

- 이 함수는 사용자가 원하는 폴더에 존재하는 Animation 파일들을 읽어드려 open_animation_file_list로 설정합니다. Filter 값을 설정할 경우 filter의 확장자 파일들로 open_animation_file_list를 설정합니다.

- Filter의 default는 “pos” 입니다.

def get_max_count(object):

- 이 함수는 open할 file들의 list (avatar, garment, animation) 중에서 가장 큰 사이즈의 list의 item count를 반환합니다.

def single_process(object, open_garment_path, open_avatar_path, open_animation_path, save_file_path, obj_type = 0, simulation_delay_time = 5000, simulation_quality = 0, simulation = True, auto_save_project_file = True):

- single_process는 인자로 넘어온 경로들에 위치한 파일들을 순차적으로 로드하고 save_file_path에 결과 파일을 저장합니다.

- obj_type은 불러올 파일이 obj일 경우에만 적용합니다. obj_type이 0일 경우 불러온 obj file은 avatar로 불러오며 1인 경우 trim object로 로드되며 2인 경우 obj to Garment file로 불러옵니다.

- simulation_delay_time은 파일을 불러온 이후 animation을 진행하기 전 animation의 안정성을 높이기 위해 지연 시간을 설정할 때 사용합니다.

avatar와 의상은 처음 불러온 위치에서 지연 시간동안 Simulation을 진행 한 이후 Animation을 시작합니다.

- simulation_delay_time은 micro second를 사용합니다. (1000 == 1 second)

- simulation_quality는 Simulation 할 때의 정밀도를 조절하는데 사용합니다. 0인 경우 Normal 상태로 Simulation을 진행하며 1인 경우 Complete 상태로 Simulation을 진행합니다.

simulation_quality는 Marvelous Designer의 Simulation Quality와 동일합니다. 자세한 설명은 Manual을 참조하십시요.

- Simulation 인자는 파일을 로드한 이후에 Simulation 여부를 결정하는 인자입니다. True 인 경우 파일을 모두 로드한 이후에 Simulation을 진행합니다. 기본 값은 True입니다.

- auto_save_project_file은 save_file_path와 동일한 Folder에 Project File을 자동으로 저장하는 옵션입니다. 기본 값은 True입니다.

※참조: single_process는 호출했을 때 단 한 번 파일을 저장합니다. 여러 개의 파일을 저장하고 싶다면 “process" 함수를 이용하십시요.

def process(object, auto_save_zprj_file = True):

- auto_save_zprj_file은 Boolean type, auto_save_zprj_file을 True로 설정할 경우 설정된 저장 파일 경로와 동일한 위치에 ZPrj File을 추가로 저장합니다.

- process 함수는 설정된 파일들을 로드하고 Animation을 녹화 또는 포즈를 변경한 이후 Animation 파일 또는 의상, 아바타 파일로 저장하는 함수입니다.

process 함수는 파일 설정, import/export 설정이 모두 완료된 상태에서 호출하여야 합니다. process 함수는 설정된 file 리스트와 import / export 옵션들을 이용하여 1개에서부터 수십 개의 파일들을 로드하고 저장할 수 있습니다.

 

도움이 되었습니까?
1명 중 1명이 도움이 되었다고 했습니다.

댓글

댓글을 남기려면 로그인하세요.