目的
学习在Python脚本API(应用程序编程接口)中所用到的变量。
※参考:
- 示例文件位置:
- CLO安装文件。
- CLO安装文件。
- 如何执行示例文件:
-
请在脚本控制台(console)中输入以下文本
-
py> import example
-
py> from example import *
-
py> exam = example()
-
py> exam.function(mdsa)
-
Function只是一个例子, 请从example.py文件中共找到可用的函数。
-
mdsa是一个python模块,允许用户使用python中的Marvelous Designer函数。
-
访问路径
- 打开Python脚本.
- 当Python脚本控制台出现时,输入合适的API.
API
#mdsa = CLO Script API
变量
变量名 |
类型 |
描述 |
---|---|---|
open_avatar_file_list |
String List |
列表类型变量, 指定想要打开的虚拟模特文件的目录。 |
open_garment_file_list |
String List |
列表类型变量, 指定想要打开的服装文件的目录。 |
open_animation_file_list |
String List |
列表类型变量, 指定想要打开的动画文件的目录 |
save_file_path_list |
String List |
列表类型变量, 指定文件将被保存的路径及名称。 |
obj_type_list |
Integer List |
列表类型变量, 保存需要使用的虚拟模特类型。 |
simulation_quality_list |
Integer List |
列表类型变量, 指定模拟类型。 |
simulation_delay_time_list |
Integer List |
列表类型变量, 指定默认姿势模拟的时间. |
export_scale_unit |
String |
变量, 指定导出物体时的缩放,以单位计算。 |
export_fps |
Integer |
变量, 指定导出物体时的FPS。 |
unified_map |
Boolean |
变量, 导出时决定是否统一UV。 |
import_scale_unit |
String |
变量, 指定导入物体时的缩放,以单位计算。 |
import_fps |
Integer |
变量, 指定导入物体时的FPS. |
current_process |
Integer |
‘Process’ 代表了‘文件打开 -> 模拟 -> 动画 -> 保存文件’的流程. 可以同时计算多个‘Process’。 我们不建议访问该变量。 |
save_folder_path |
String |
变量指定保存文件夹。 |
module_obj |
CLO Module |
MarvelousDesigner的内部API模块。 我们不建议访问该变量。 |
函数
def initialize(object):
- 重置当前使用的mdsa对象。
def clear_console(object):
- 清除控制台窗口。
def get_split_string(object, string, split_filter_list):
- String = 字符串类型, split_filter_list = 字符串列表类型
- 该函数将返回一个字符串列表(字符串列表 = 源字符串 / split_filter_list). Split_filter_list 是分割标准字符串的列表。
get_split_string函数从第一个字符串中分割了Split_filter_list. 当字符串无法通过第一个字符串进行分割时,(如果一个字符不包含在字符串中) 它将按照顺序查找下一个字符串.
当它找到了一个可以通过split_filter_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是一个字符串
- 此函数仅将从file_path收到的file_name返回为因子。
- 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是一个字符串列表,filter是字符串。
- 该函数将返回具有特定扩展名的文件列表,这些文件是从file_list中接收的因子。查找文件名时不区分大小写。
def make_valid_folder_path(object, folder_path):.
- Folder_path是一个字符串。
- 当路径的最后一个字符不是 “\” 或 “/”, 它将被认为是无效的路径. 该函数将无效的路径转换为有效格式并返回值。
def get_entry_list(object, folder_path):
- Folder_path是一个字符串。
- get_entry_list将返回Folder_path中文件的列表。
def set_open_option(object, unit = "none", fps = 30):
- 单位是字符串, 允许你将单位值设置为"cm", "mm", "inch", "feet", "m". 默认值为 "mm".
- Fps是一个整数, 默认设置为30fps.
- set_open_option指定obj,cache,fbx和alembic文件的导入选项。 如果您需要导入多个文件并且想要设置不同的选项,请使用set_open_option_list函数。该函数仅决定数值。要将此值应用于Marvelous Designer,必须调用set_app_open_option函数。
def set_save_option(object, unit = "none", fps = 30, unified = False):
- 单位是字符串, 允许你将单位值设置为"cm", "mm", "inch", "feet", "m". 默认值为 "mm".
- Fps是一个整数, 默认设置为30fps.
- Unified是布尔类型, 当它是True, 它会把物体的UV的值由0更改为1。默认为False.
- 设置obj,cache,fbx,alembic和Garment文件的导出选项。如果您需要导出多个文件并想要设置不同的选项,请使用set_save_option_list函数。该函数仅决定值。要将此值应用于Marvelous Designer,必须调用set_app_save_option函数。
- def set_open_option_list(object, unit_list, fps_list):
- unit_list是字符串类型, fps_list时整数列表类型
- 设置obj,cache,fbx,alembic和Garment文件的导入选项。 如果您需要导入多个文件并要设置不同的选项,请调用此函数。因子是列表类型,因子unit_list及fps_list内必须有相同的数量。如果要导入的文件多于option_list,则值将与最后一项设置相同。有关详细信息,请参阅example.py。
def set_save_option_list(object, unit_list, fps_list, unified_map_list):
- unit_list是一个字符串列表, fps_list是整数列表类型,unified_map_list是布尔列表类型。
- 设置obj,cache,fbx,alembic和Garment文件的导出选项。 如果您需要导出多个文件并要设置不同的选项,请调用此函数。因子是列表类型,因子unit_list及fps_list内必须有相同的数量。如果要导入的文件多于option_list,则值将与最后一项设置相同。有关详细信息,请参阅example.py。
def run_app_open_option(object):
- run_app_open_option应用保存在set_open_option函数中的值并指定Marvelous Designer的导入选项。
def run_app_save_option(object):
- run_app_save_option应用保存在set_save_option中的值,它指定Marvelous Designer的导出选项。
- def run_app_open_option(object, index):
- index是整数类型
- 该函数应用保存在set_open_option_list中的值,它指定Marvelous Designer的导出选项。
- 如果set_open_option_list中的选项设置为列表, 它将指定项目的index发送到因子。 Index的最小值是-0,列表总值的最大数值为-1。
def run_app_save_option(object, index):
- index是整数类型
- 在set_save_option_list函数中保存的函数应用值。它指定了Marvelous Designer的导出选项。如果选项作为列表保存在set_save_option_list中,它将保存选项值并将其作为因子发送并应用于所需的项目。Index的最小值为0,整个列表的最大值为-1.
def get_app_open_optin_count(object):
- 将当前导入选项数返回。默认值为0。
def get_app_save_optin_count(object):
- 将当前导出选项数返回。默认值为0。
def set_avatar_file_path(object, open_avatar_file_path):
- open_avatar_file_path是一个字符串类型.
- 添加虚拟模特文件路径。 当数值与其他文件无法匹配时,则加载最后一个虚拟模特文件路径。
def set_avatar_file_path_list(object, open_avatar_file_path_list):
- open_avatar_file_path_list是一个字符串列表类型。
- 设置虚拟模特文件列表。它用于设置外部列表类型数值。如果数值与其他文件列表不匹配,则加载最后一个虚拟模特文件路径。
def set_garment_file_path(object, open_garment_file_path):
- open_garment_file_path是一个字符串类型。
- 添加服装文件路径. 当数量与其他文件不匹配,则最后的服装文件路径将被加载。
def set_garment_file_path_list(object, open_garment_file_path_list):
- open_garment_file_path_list是一个字符串列表类型。
- 设置服装文件列表。它用于设置外部列表类型值。当数值与其他文件无法匹配时,将打开最后一个服装文件路径。
def set_animation_file_path(object, open_animation_file_path):
- open_animation_file_path是一个字符串列表类型。
- 设置动画文件列表。它用于设置外部列表类型值。 当数值与其他文件无法匹配时,将打开最后一个动画文件路径。
def set_animation_file_path_list(object, open_animation_file_path_list):
- open_animation_file_path_list是一个字符串列表类型。
- 设置动画文件列表。它用于设置外部列表类型值。 当数值与其他文件无法匹配时,将打开最后一个动画文件路径。
- def set_simulation_options(object, obj_type = 0, simulation_quality = 0, simulation_delay_time = 5000, process_simulation = True):
- obj_type类型为整数,将根据obj_type的数值载入物体,当数值为0时,物体将被导入为模特;数值为0时,将导入为虚拟模特,数值为1时将导入为附件,数值为2时将导入为服装。默认导入为模特。
- Simulation_quality类型为整数, 它通过数值来更改模拟质量,数值为0时为普通,1为完成,2为自定义模式。默认设置为普通。
- Simulation_delay_time类型为整数, 此至为动画稳定前的模拟时间。默认值为5000微秒 (1秒=1000微秒 )
- Process_simulation类型为布尔,它决定了是否继续模拟,默认数值为True.
- 该函数添加了与OBJ类型及模拟相关的导入选项。如果记数与将要导入的文件不匹配或者选项未设置,则值将被设置为默认值。
def avatar_file_open(object, open_file_path, obj_type = 0, scale = "mm", fps = 30):
- open_file_path类型为字符串, obj_type类型为字符串, scale类型为字符串, fps类型为整数。
- 该函数加载位于open_file_path中的虚拟模特文件(avt,obj,fbx,alembic)。 还应用保存的obj_type,scale,fps选项。
def garment_file_open(object, open_file_path):
- open_file_path类型为字符串。
- 该函数加载位于open_file_path中的服装(zpac,pac,zprj)文件。
def animation_file_open(object, open_file_path, scale = "mm", fps = 30):
- open_file_path是字符串类型,scale是字符串类型,fps是整数类型
- 该函数加载位于open_file_path文件中的动画(pos,mc,mcx,pc2,mdd)。也适用于保存比例,fps选项。
def save_file_stand_alone(object, file_path, scale = "mm", fps = 30, unfined_map = True):
- File_path是字符串类型,scale是字符串类型,fps是整数类型,unified_map是布尔类型
- 该函数将加载的文件保存到file_path。它会根据保存在File_path中的扩展名自动指定文件类型。还应用保存的比例,fps,unified_map选项。
def SimulationOn(object, time):
- Time是整数类型, 微秒(1000微秒=1秒)
- 指定时间后开始模拟.
def SimulationOff(object, time):
- Time是整数类型, 微秒(1000微秒=1秒)
- 指定时间后停止模拟.
def StartAnimationRecord(object, time):
- Time是整数类型, 微秒(1000微秒=1秒)
- 在指定时间后开始并录制动画。
def set_save_file_path(object, save_file_path):
- save_file_path是字符串类型
- 该函数将从因子收到的路径添加到save_file_path_list。save_file_path_list需要至少匹配保存的导入文件列表中的一个。
- 可以通过设置set_save_folder_path来取代。 任何一个都必须设置。
def set_save_folder_path(object, save_folder_path):
- save_folder_path是字符串类型
- 此函数将从因子收到的路径设置为保存文件夹路径。保存用以将文件保存为项目文件的路径。 文件的名称将与具有最大计数的导入文件列表相同。 可以通过设置set_save_file_path来取代。 任何一个都必须设置。
def set_garment_folder(object, garment_folder_path, filter = "zpac"):
- garment_folder_path类型为字符串, filter类型为字符串
- 该函数从指定的文件夹加载服装文件,并通过open_garment_file_list进行设置。在设置过滤值的情况下,它通过在过滤器处保存的扩展名来设置open_garment_file_list。
- 过滤器的默认设置是“zpac”。
def set_avatar_folder(object, avatar_folder_path, filter = "avt"):
- avatar_folder_path类型为字符串, filter类型为字符串
- 该函数从指定的文件夹加载虚拟模特文件,并通过set by open_avatar_file_list进行设置. 在设置过滤值的情况下,它通过在过滤器处保存的扩展名来设置open_avatar_file_list。
- 过滤器的默认设置是“avt”。
def set_animation_folder(object, animation_folder_path, filter = "pos"):
- animation_folder_path类型为字符串, filter类型为字符串
- 该函数从指定的文件夹加载动画文件,并通过set by open_animation_file_list进行设置. 在设置过滤值的情况下,它通过在过滤器处保存的扩展名来设置open_animation_file_list。
- 过滤器的默认设置是“pos”。
def get_max_count(object):
- 该函数返回将要打开的文件列表中最大尺寸列表的项目数。
def set_auto_save(object, bAutosave) :
- 该函数决定了是否保存CLO项目文件(Zprj).
- 如果bAutoSave值为True, 项目文件(Zprj)文件将被与您导出为特定格式的文件保存为同一名称。
- 自动保存的默认状态为 'True'.
def on_save_zprj_with_metadata_info(object, bWith_meta_data, image_number, save_type):
- bWith_meta_data 是一个布尔类型,如果值为True,则将meta_data储存在一起。
- image_number 是保存的快照的数量。 将旋转360度并储存快照。每个快照的旋转角度即image_number数量/360度。仅在with_meta_data值为True时才有效。
- save_type确定meta_data的存储方式。如果值为0, 创建一个与要保存的项目文件同名的文件夹,并将xml文件和图像保存于该文件夹下。所有meta_data将被压缩并储存为zip文件。
- 在保存项目文件时将会储存Metadata。请参考手册以了解更多关于Metadata的内容。
def on_export_garment_only(object):
- 该函数设置了仅有场景中的服装会被导出。
def on_export_garment_with_relative_objects_only(object):
- 该函数置了场景中除了模特以外的对象都会被导出。
def on_export_avatar_only(object):
- 该函数设置了场景中只导出虚拟模特。
def on_export_piping_pattern_only(object):
- 该函数设置了场景中只导出嵌条板片。
def on_export_zipper_teeth_pattern_only(object):
- 该函数设置了场景中只导出拉链条板片。
def on_export_trim_only(object):
- 该函数设置了场景中只导出附件。
def on_export_graphics_only(object):
- 该函数设置了场景中只导出贴图。
def on_export_zipper_puller_and_slider_only(object):
- 该函数设置了场景中只导出拉链头和拉链片。
def on_export_button_hole_only(object):
- 该函数设置了场景中只导出扣眼。
def on_export_button_head_only(object):
- 该函数设置了场景中只导出纽扣。
def on_export_obj_stitch_only(object):
- 该函数设置了场景中只导出明线。
※参考: 当export_(something)_only 选项未被设置时,所有物体将被导出。 这些选项仅作用于导出OBJ文件。
def on_export_single_object(object):
- 该函数将导出的全部网格合并为一个整体的网格面并导出。
- 该功能无法同时与 on_export_multi_object 函数进行使用. 当这两个函数同时进行使用时,将被设置为最后一个使用的函数。
def on_export_multi_object(object):
- 该函数将导出的全部网格导出为分割为几块的网格。
- 该函数无法与on_export_single_object 函数同时使用. 如果同时进行使用,将被设置为最后一个使用的函数。
def on_export_save_with_texture(object):
- 该函数设置了导出OBJ时,将导出纹理及文件导出为zip文件。
def on_export_diffuse_color_combined(object):
- 该函数设置了导出OBJ时,将服装上的纹理图及颜色保存为一张图(即导出obj格式时的将颜色和纹理合在一起).
def on_export_exclude_ambient_color(object):
- 该函数设置了导出OBJ时,将环境反射色除外。
def on_export_include_inner_shape(object):
- 该函数设置了导出OBJ时,将会同时保存内部图形信息。
def on_export_save_meta_data(object):
- 该函数设置了导出时保存Meta数据。详细信息请参考Metadata手册。
def set_export_unified_uv_texcoordnate(object, bTexture_bake, texture_bake_size, fill_texture_seam):
- bTexture_bake 将导出为一张图片. 当btexture_bake option值为True时,texture_bake_size 确定了要保存的分辨率,最小值到最大值为100到10000倍的 pixelon_export_zipper_teeth_pattern_only值并将图片尺寸设置为设定的高度和宽度。
- 该函数设置了将多个纹理图保存为一个图片。
- CLO使用的是纹理坐标而不是普通的UV (0 - 1)坐标. 该函数可用于导出时保存统一的UV坐标。
def set_export_axis_x(object, axis):
- axis可以设置为字符串 "Y" 或 "Z". axis不区分大小写.
def set_export_axis_y(object, axis):
- axis可以设置为字符串 "X" or "Z". axis不区分大小写.
def set_export_axis_z(object, axis):
- axis可以设置为字符串 "X" or "Y". axis不区分大小写.
def on_export_invert_x(object):
- 该函数设置了将x轴倒放。
def on_export_invert_y(object):
- 该函数设置了将y轴倒放。
def on_export_invert_z(object):
- 该函数设置了将z轴倒放.
def go_animation_first_frame(object):
- 该函数用于将帧数跳到动画第一帧然后导出场景。如果你调用了该函数,你不会立刻就导出。该函数将会影响导出函数,因为它会在进程函数中前进。
- 该函数不能与go_animation_end_frame 函数同时使用, 并且go_animation_first_frame更优先。
def go_animation_end_frame(object):
- 该函数用于将帧数跳到动画最后一帧然后导出场景。如果你调用了该函数,你不会立刻就导出。该函数将会影响导出函数,因为它会在进程函数中前进。
- 该函数不能与go_animation_first_frame 函数同时使用, 并且go_animation_first_frame更优先。
def set_windcontroller_wind_activate(object, bActivate):
- bActivate是一种布尔类型。 默认值为True.
- 该函数将更改风控制器的激活状态。
def set_windcontroller_wind_type(object, windType):
- windType是一种字符串类型。如果wind type数值为0, sphercal. 1, 然后 planar. default 变为 1.
- 该函数设定了风的属性.
def set_windcontroller_wind_strength(object, strength):
- strength是浮点型数据,默认值为1000.00
- 该函数设置了风的强度。
def set_windcontroller_wind_decay(object, decay):
- decay是浮点型数据, 默认值为 0.00
- 该函数设置风的影响距离。风沿着抛物线减弱设定值。
def set_windcontroller_wind_frequency(object, frequency):
- frequency是浮点型数据. 默认值为 0.00
- 该函数设置了风循环。基于设定的间隔值,风将变强或变弱。
def set_windcontroller_wind_turbulence(object, turbulence):
- Turbulence是浮点型数据. 默认值为 30.00
- 该函数设置了风力强度的不规则率,数值越大,越不规律。
def set_windcontroller_translate_x(object, x):
- x是浮点型数据. 默认值为 -700.00
- 该函数设置了风控制器的x坐标位置。
def set_windcontroller_translate_y(object, y):
- y是浮点型数据. 默认值为 1000.00
- 该函数设置了风控制器的y坐标位置
def set_windcontroller_translate_z(object, z):
- z是浮点型数据. 默认值为 300.00
- 该函数将设置风控制器的z坐标位置.
def set_skin_offset(object, offset):
- offset是浮点型数据. 默认值为 is 3.0
- 该函数设置了虚拟模特到服装之间的距离。
- 该函数 sets the y coordinate position of the wind controller.
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文件将作为虚拟模特被导入,数值为1时,将作为附件被打开,数值为2时,将作为服装文件被打开。
- simulation_delay_time用于设置处理动画稳定之前的延迟时间。 打开的虚拟模特和服装将模拟开始姿势指定的时间和开始动画。simulation_delay_time用于设置处理动画稳定之前的延迟时间。 打开的虚拟模特和服装将模拟开始姿势指定的时间和开始动画。simulation_delay_time用于设置处理动画稳定之前的延迟时间。 打开的虚拟模特和服装将模拟开始姿势指定的时间和开始动画。simulation_delay_time用于设置处理动画稳定之前的延迟时间。 打开的虚拟模特和服装将模拟开始姿势和指定的时间和开始动画。
- simulation_delay_time使用微秒作为单位 (1000微秒 = 1秒)
- simulation_quality控制模拟的精确度。当数值为0时,将进行普通品质的模拟。当数值为1时,将进行完全模拟。simulation_quality的这些选项与Marvelous Designer的模拟质量相同。 有关详细信息,请参阅Marvelous Designer手册。
- 模拟因子决定是否在加载文件后开始模拟。 如果为True,则加载所有文件后开始模拟。 默认值为True。
- auto_save_project_file是允许将项目文件保存到save_file_path的选项。 默认值为True。
※参考: 调用single_process时,它只保存一次文件。 请使用“process”功能保存多个文件。
def process(object, auto_save_zprj_file = True):
- auto_save_zprj_file是布尔类型,如果将auto_save_zprj_file设置为True,则会将其他Zprj文件保存到保存到save_file_path或save_folder_path的文件夹中。
- process函数打开指定文件并处理和录制动画,然后将其保存为动画、服装及虚拟模特文件。导入/导出设置需要在调用process函数之前完成。Process函数允许通过保存的文件列表和导入/导出选项来保存和加载一个或多个文件。
- 每个导出的结果都使用一个导入/导出选项进行设置。
请参照 example.py 以查看其它细节.
评论
请参照example.py我看是一个链接可是点过去想不到相关的python例子。
how to export obj , Can you give a simple example , thanks
How to write next
'''
def test_export_obj(self,object):
object.on_export_garment_only()
'''