目的
学习在Python脚本API(应用程序编程接口)中所用到的变量。
※参考:
示例文件位置:
-
Marvelous Designer安装文件。
如何执行示例文件:
-
请在脚本控制台(console)中输入以下文本
-
py> import example
-
py> from example import *
-
py> exam = example()
-
py> exam.function(mdsa)
-
Function只是一个例子, 请从example.py文件中共找到可用的函数。
-
mdsa是一个python模块,允许用户使用python中的Marvelous Designer函数。
访问路径
1. 打开Python脚本.
2. 当Python脚本控制台出现时,输入合适的API.
*在Marvelous Designer 10中,支持模块重新加载。
1. 关闭脚本窗口.
2. 点击并拖动脚本文件以重新导入到3D窗口中.
此外,您可以在脚本窗口中使用重新加载功能,就像从Python重新加载一样。
* 自MarvelousDesigner 10开始,支持Python 3.7。
* 不再支持PythonQt。
API
#mdsa = Marvelous Designer Script API
变量
变量名
|
类型 |
描述 |
open_avatar_file_list |
String List |
列表类型变量, 指定想要打开的虚拟模特文件的目录。 |
open_garment_file_list |
String List |
列表类型变量, 指定想要打开的服装文件的目录。 |
open_animation_file_list |
String List |
列表类型变量, 指定想要打开的动画文件的目录 |
open_fabric_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。 |
export_weld |
Boolean |
变量,当你导出服装时合并重合的顶点。 |
export_thin |
Boolean |
当你导出服装时,定义服装的厚度。当它为False,导出的服装会包含厚度信息。默认值为True。 |
export_unified_uv_coordinates |
Boolean |
变量,在导出时,决定是否统一UV。 |
import_scale_unit |
String |
变量, 指定导入物体时的缩放,以单位计算。 |
import_fps |
Integer |
变量, 指定导入物体时的FPS. |
current_process |
Integer |
‘Process’ 代表了‘文件打开 -> 模拟 -> 动画 -> 保存文件’的流程. 可以同时计算多个‘Process’。 该变量显示了多进程的进度。 我们不建议访问该变量。 |
save_folder_path |
String |
变量指定保存文件夹。 |
save_capture_image_folder_path |
String |
变量,指定快照文件夹路径。 |
avatar_skin_offset |
String |
变量,设置服装与虚拟模特的表面间距。 |
module_obj |
Marvelous Designer Module |
内部API模块。不推荐去访问其变量。直接使用其变量会导致不确定的故障。 |
export_include_pattern |
Boolean |
变量。在导出时,决定是否包含板片信息。如为False,导出时不包含板片。默认值为False。 |
export_include_piping_pattern |
Boolean |
变量,在导出时,决定是否包含嵌条。如为False,导出时不包含嵌条。默认值为False。 |
export_include_zipper_teeth_pattern |
Boolean |
变量,在导出时,决定是否包含拉链齿。如为False,导出时不包含拉链。默认值为False。 |
export_include_avatar |
Boolean |
变量,在导出时,决定是否包含虚拟模特。如为False,导出时不包含虚拟模特。默认值为False |
export_include_trim |
Boolean |
变量,在导出时,决定是否包含附件。如为False,导出时不包含附件。默认值为False。 |
export_include_graphics |
Boolean |
变量,在导出时,决定是否包含贴图。如为False,导出时不包含贴图。默认值为False (如果export_unified_texture变量为True,会无视该变量的设置并且贴图不会被导出。) |
export_include_top_stitch |
Boolean |
变量,在导出时,决定是否包含明线。如为False,导出时不包含明线。默认值为False。 |
export_include_zipper_puller_and_slider |
Boolean |
变量,在导出时,决定是否包含拉链头。如为False,导出时不包含拉链头。默认值为False。 |
export_include_button_hole |
Boolean |
变量,在导出时,决定是否包含扣眼。如为False,导出时不包含扣眼。默认值为False。 (如果export_unified_texture变量为True,会无视该变量的设置并且扣眼不会被导出。) |
export_include_button_head |
Boolean |
变量,在导出时,决定是否包含纽扣。如为False,导出时不包含纽扣。默认值为False。 |
export_include_obj_stitch |
Boolean |
变量,在导出时,决定是否包含Obj 明线。如为False,导出时不包含Obj 明线。默认值为False。 |
export_unified_texture |
Boolean |
变量,决定是否保存服装的图片作为一张新的烘焙图片。该变量只在export_unified_uv_coordinates变量为True时可行。默认值为False。 |
export_fill_texture_seams |
Integer |
变量,可以通过输入数值扩展图片的边界。 最小值:0 最大值:15 该变量只在export_unified_texture变量 为True时可行。 |
export_texture_size |
Integer |
变量,决定烘焙图片的大小。该屏幕高宽比为1:1. 该变量只在导出_统一 _图片变量为True时可行。 |
export_single_object |
Boolean |
变量,决定是否保存服装为一个Object文件。如为True,所有服装板片将被保存为一个Object。默认值为False。 |
export_save_with_texture |
Boolean |
变量,决定是否保存已加载的图片为一个文件。如为True,该图片文件将被保存在与项目文件相同的路径下。默认值为False。 |
export_diffuse_color_combined |
Boolean |
变量,在保存图片文件时,决定是否烘焙应用在板片上的材质颜色与贴图信息。该变量只在export_save_with_texture变量为True时可行。默认值为False。 |
export_exclude_ambient_color |
Boolean |
变量,在导出时,决定是否排除应用在板片上颜色材质中的颜色环境色。如为True,将保存除了环境色以外的材质信息。默认值为False。 |
export_include_inner_shape |
Boolean |
变量,在导出时,决定是否包含板片上的内部线信息。如为True,将会以曲线形式保存内部线。(只在以Obj格式保存时有效)默认值为False。 |
export_save_meta_data |
Boolean |
变量,在导出时,决定是否保存板片(网格)物理属性,与缝合信息为Meta Data(xml format)。默认值为False。 |
export_invert_x |
Boolean |
变量,在导出时,决定是否翻转x轴坐标。如为True,该X轴将被转变为-X轴。默认值为False。 |
export_invert_y |
Boolean |
变量,在导出时,决定是否翻转Y轴坐标。如为True,该Y轴将被转变为-Y轴。默认值为False。 |
export_invert_z |
Boolean |
变量,在导出时,决定是否翻转Z轴坐标。如为True,该Z轴将被转变为-Z轴。默认值为False。 |
simulation_quality |
Integer |
变量,决定模拟的质量。0为完成模式,1为正常模式,2为用户自定义模式。默认值为1。 |
simulation_time_step |
Floating point |
变量,决定从一开始到最后的模拟间距。默认值为0.03333333. |
simulation_number_of_simulation |
Integer |
变量,运行模拟次数与你输入的时间间隔数值相同。 如果数值超过1,模拟会根据你所输入的时间间隔数值的次数进行模拟。 默认值为1。 |
simulation_cg_finish_condition |
Integer |
变量,修改CG完成状态。0为Iteration,1为Residual。 默认值为0。 |
simulation_cg_iteration_count |
Integer |
变量,指定CG循环计算的次数。 数值越低,速度越快,精度越低。数值越高,速度越慢,精度越高。 默认值为50。
|
simulation_cg_residual |
Integer |
变量,指定CG残余偏差值。 数值越低,精度越高,速度越慢。数值越高,精度越低,速度越快。 默认值为0.000100。 |
simulation_self_collision_iteration_count |
Integer |
变量,修改模拟属性的时间间隔属性。 默认值为1。 |
simulation_air_damping |
Floating point |
变量,指定空气阻力数值。空气阻力通过空气摩擦力控制物体间的的速度。 默认值为1 |
simulation_gravity |
Integer |
变量,指定重力的强度。 默认值为-9800。 |
simulation_number_of_cpu_in_use |
Integer |
变量,指定在模拟中CPU的使用数量。 默认值为4。 |
simulation_nonlinear_simulation |
Boolean |
变量,决定是否应用精密的面料伸缩性模拟。 默认值为False。 |
simulation_ground_collision |
Boolean |
变量,决定是否应用地面碰撞。 默认值为True。 |
simulation_ground_height |
Boolean |
变量,决定从地面产生碰撞的高度。默认值为0.0。 |
simulation_avatar_cloth_collision_detection_triangle_vertex |
Boolean |
变量,决定虚拟模特与服装间的冲突检测。 默认值为True。 |
simulation_self_collision_detection_triangle_vertex |
Boolean |
变量,在处理服装间的碰撞冲突时,决定是否处理三角面与顶点之间的碰撞。默认值为True。 |
simulation_self_collision_detection_edge_edge |
Boolean |
变量,在处理服装间的碰撞冲突时,决定是否检测线段与线段间的碰撞冲突。默认值为True。 |
simulation_self_collision_detection_avoidance_stiffness |
Floating point |
变量,指定特定数值控制服装间的碰撞冲突。 当服装贴近时,数值越小,服装间的碰撞冲突会越低,但是越容易被扭曲。 当服装贴近时,数值越大,服装间越不容易发生扭曲,但是会增加服装间的碰撞冲突。 默认值为0.001000。 |
simulation_proximity_detection_vertex_triangle |
Boolean |
变量,决定是否处理顶点与三角面的碰撞冲突。 当它为True,将会检测顶点与三角面之间的距离,如果接近,将会以合适的力减少它们的冲突。当它为False,不产生任何作用。 默认值为True。 |
simulation_proximity_detection_edge_edge |
Boolean |
变量,决定是否处理线段之间的碰撞冲突。 当它为True ,将会检测线段与线段之前的距离, 如果接近 ,将会以合适的力减少它们的冲突。 当它为False ,不产生任何作用。默认值为True。 |
simulation_intersection_resolution |
Boolean |
变量,决定是否进行交叉解决。交叉解决能够在发生碰撞冲突的地方有效地减少服装间的横截面。 |
simulation_layer_based_collision_detection |
Boolean |
变量,决定是否模拟时应用层级。 默认值为True。 |
wind_activate |
Boolean |
变量,决定是否激活风力场。 默认值为True。 |
wind_type |
Integer |
变量,决定风的种类。0=spherical,1=planner。 默认值为1。 |
wind_strength |
Floating point |
变量,决定风的强度。 默认值为1000.00。 |
wind_decay |
Floating point |
变量,决定风力影响的距离。通过设置数值,风力会沿抛物线减弱。 默认值是0.0。 |
wind_frequency |
Boolean |
变量。决定风的频率(秒)。该数值设置风的循环。风力的变强变弱取决于设置的时间间隔。 |
wind_turbulence |
Boolean |
变量,决定风的气流等级。数值越大,气流变得越不规律。 默认值为30.00。 |
wind_x |
Floating point |
变量,决定风控制器的X轴位置。 默认值为-700。 |
wind_y |
Floating point |
变量,决定风控制器的Y轴位置。 默认值为-1000。 |
wind_z |
Floating point |
变量,决定风控制器的Z轴位置。 默认值为-300。 |
capture_width |
Integer
|
变量,当你捕捉当前3D窗口时,决定你想要保存的图像宽度数值。 默认值为1920。 |
capture_height |
Integer |
变量,当你捕捉当前3D窗口时,决定你想要保存的图像高度数值。 默认值为1080。 |
bOgawa |
Boolean |
变量,如为True,保存Alembic 文件为Ogawa类型 如为False,保存Alembic 文件为HDF5 格式。 默认值为False。 |
auto_save_zprj_file |
Boolean |
变量,但保存文件时,自动保存当前场景为Zprj文件。 默认值为True。 |
函数
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返回为因子。
- It includes a file extention.包含文件附名。
- get_file_name(“C:\Users\Public\Documents\MarvelousDesigner\Assets_ver_3.0.9999\default.zpac”)
- default.zpac”
def get_file_name_except_ext(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
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文件的导入选项。 该函数仅决定数值。要将此值应用于Marvelous Designer,必须调用set_app_open_option函数。
def set_save_option(object, unit = "none", fps = 30, unified = False, thin = True, weld = False):
- 单位是字符串, 允许你将单位值设置为"cm", "mm", "inch", "feet", "m". 默认值为 "mm".
- Fps是一个整数, 默认设置为30fps.
- Unified是布尔类型, 当它是True, 它会把物体的UV的值由0更改为1。默认为False.
-thin是布尔类型,当它是True,厚度值不会以几何形体导出。当它是False,渲染的厚度将会以几何形体导出。默认为True
-weld是布尔类型。当它是True,合并板片部分被缝纫的顶点(网格上的点)为一条线一个物件。当它是False,导出板片部分被缝纫的顶点(网格上的点)为一条线多个物件。
- 设置obj,cache,fbx,alembic和Garment文件的导出选项。该函数仅决定值。要将此值应用于Marvelous Designer,必须调用set_app_save_option函数。
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中的值,它指定Marvelous Designer的导出选项。
- 如果set_open_option中的选项设置为列表, 它将指定项目的index发送到因子。 Index的最小值是-0,列表总值的最大数值为-1。
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, signal_on = False):
- Time是整数类型, 微秒(1000微秒=1秒)
-signal_on 是系数,当停止模拟时,决定是否捕捉3D窗口。当它为True,停止模拟与捕捉当前3D窗口。
- 指定时间后停止模拟.
def SimulationOffWithNextFunction(object, time, signal_on = False, next_function = True):
-time是整数类型,微秒(second*1000)。
-signal_on是系数,当停止模拟时,决定是否捕捉3d窗口。当它为True,停止模拟与捕捉当前3D窗口。
-模拟停止后,next_function parameter决定是否调用physical_second_process function。
-指定时间与调用physical_second_process function之后,函数会根据系数数值暂停该模拟。
def SimulationSetting(object):
-该函数设置模拟相关的变量。(更多信息,请查看变量描述部分。)
-在程序中一定要调用该函数去应用模拟相关的数值。
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, extension = "zprj"):
- save_folder_path是字符串类型
- 此函数将从因子收到的路径设置为保存文件夹路径。保存用以将文件保存为项目文件的路径。 文件的名称将与具有最大计数的导入文件列表相同。
-该拓展名系数决定要保存的文件格式。默认为Zprj。(你可以指定Marvelou Designer所支持的所有文件格式拓展名。)
- 可以通过设置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 set_fabric_folder(object, fabric_folder_path, filter = "zfab"):
-在路径fabric_folder_path 系数中读取面料文件并且将它们设置为open_fabric_file_list.
如果你设置了过滤值,设置过滤拓展名的文件为open_fabric_file_list(只支持面料格式。)
- The default of the filter is "Zfab".
-过滤器的默认设置为“Zfab”。
def get_max_count(object):
- 该函数返回将要打开的文件列表中最大尺寸列表的项目数。
def set_auto_save(object, bAutosave) :
- 该函数决定了是否保存Marvelous Designer项目文件(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, bTextureBake_relateive = True, texture_bake_margin = 0.01):
- bTexture_bake 将导出为一张图片. 当btexture_bake option值为True时,texture_bake_size 确定了要保存的分辨率,最小值到最大值为100到10000倍的 pixelon_export_zipper_teeth_pattern_only值并将图片尺寸设置为设定的高度和宽度。
- 该函数设置了将多个纹理图保存为一个图片。
- Marvelous Designer使用的是纹理坐标而不是普通的UV (0 - 1)坐标. 该函数可用于导出时保存统一的UV坐标。
def set_export_axis_x(object, axis):
- axis可以设置为字符串 "Y" 或 "Z". axis不区分大小写.
-该函数将输入的轴更改为X轴。当你设置此函数时,该轴会自动转变为X轴。
def set_export_axis_y(object, axis):
- axis可以设置为字符串 "X" or "Z". axis不区分大小写.
-该函数将输入的轴更改为Y轴。当你设置此函数时,该轴会自动转变为Y轴。
def set_export_axis_z(object, axis):
- axis可以设置为字符串 "X" or "Y". axis不区分大小写.
-该函数将输入的轴更改为Z轴。当你设置此函数时,该轴会自动转变为Z轴。
def on_export_invert_x(object):
-该函数设置X轴为反向(-X)。
def on_export_invert_y(object):
-该函数设置Y轴为反向(-Y)。
def on_export_invert_z(object):
-该函数设置Z轴为反向(-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 on_windcontroller(object):
-该函数设置风控制器相关变量(更多信息,请查看变量描述部分。)
-在程序中必须调用该函数并被应用到风控制器相关数值上。
def set_skin_offset(object, offset):
- offset是浮点型数据. 默认值为 is 3.0
- 该函数设置了虚拟模特到服装之间的距离。
def set_simulation_quality(object, qulity):
-quality是整数类型。0=完成,1=正常,2=用户自定义。默认值为1。
-该函数决定模拟的预设。
def set_simulation_time_step(object, time_step):
-time_step是浮点类型。默认值为0.0333333.
-该函数会根据你设置的时间运行模拟。
def set_simulation_number_of_simulation(object, number_of_Simulation):
- number_of_Simulation是整数类型,默认值为1。
-该函数运行模拟次数与你输入的时间间隔数值相同。
-当它为1,运行一次模拟每时间间隔。如果数值超过1,模拟会根据你所输入的时间间隔数值的次数进行模拟。
def set_simulation_cg_finish_condition(object, cg_finish_condition):
-cg_finish_condition 是整数类型。默认值为0。
-该函数修改CG完成状态。0为Iteration,1为Residual。默认值为0。
- Conjugate Gradient(CG)模拟能够提高模拟的精确度。
-精确度根据时间按比例增加。当要完成计算时,需要设置CG完成状态。
1)iteration count:指定CG需要计算的数值并且使模拟速度恒定。需要优先保证模拟速度时请选择这个。数值越低,速度越快,精确度越低。数值越高,速度越慢,精确度越高。
2)residual:指定CG残余的偏差值并且使模拟精确度恒定。需要优先保证模拟精确度时请选择这个。
数值越低,精确度越高,速度越慢。数值越高,精确度越低,速度越快。
def set_simulation_cg_iteration_count(object, simulation_cg_iteration_count):
-simulation_cg_iteration_count是整数类型,默认值为50。
-该函数指定CG需要被计算的数值。
-数值越低,速度越快,精确度越低。数值越高,速度越慢,精确度越高。
def set_simulation_cg_residual(object, CGResidual):
-CGResidual是浮点类型。默认值为0.000100。
-该函数指定CG精确度偏差。
-数值越低,精确度越高,速度越快。
-数值越高,精确度越低,速度越快。
def set_simulation_self_collision_iteration_Count(object, selfCollisionIterationCount):
-selfCollisionIterationCount是整数类型,默认值为1。
-该函数修改模拟属性的时间间隔属性。
def set_simulation_air_damping(object, airDamping):
-airDamping是浮点类型。默认值为1.0。
-该函数指定空气阻力。空气阻力通过空气摩擦力控制物体间的速度。
def set_simulation_gravity(object, gravity):
-gravity是浮点类型。默认值为-9800。
-该函数指定重力的强度。
def set_simulation_number_of_cpu_in_use(object, numberOfCPUInUse):
-numberOfCPUInUse是整数类型。默认值为4。
-该函数指定在模拟中CPU的使用数量。
def set_simulation_nonlinear_simulation(object, bNonlinearSimulation):
-bNonlinearSimulation是布尔类型。默认值为False。
-该函数决定是否应用精密的面料伸缩性模拟
def set_simulation_ground_collision(object, bGroundCollision):
-bgroundCollision是布尔类型。默认值为True。
-该函数决定是否应用地面碰撞。
def set_simulation_ground_height(object, groundHeight):
-groundHeight是浮点类型。默认值为0.0。
-该函数决定从地面产生碰撞的高度。
def set_simulation_avatar_cloth_collision_detection_triangle_vertex(object, bSolidTriangleToClothVertexCollision):
- bSolidTriangleToClothVertexCollision是布尔类型。默认值为True。
-该函数能够设置虚拟模特与服装间的冲突检测。
def set_simulation_self_collision_detection_triangle_vertex(object, bVertexTriangleSelfCollision):
bVertexTriangleSelfCollision是布尔类型。默认值为True。
-该函数,在处理服装间的碰撞冲突时,决定是否处理三角面与顶点之间的碰撞冲突。
def set_simulation_self_collision_detection_edge_edge(object, bEdgeEdgeSelfCollision):
- bEdgeEdgeSelfCollision是布尔类型
-该函数,在处理服装间的碰撞冲突时,决定是否处理线段与线段间的碰撞冲突。
def set_simulation_self_collision_detection_avoidance_stiffness(object, SelfCollisionStiffness):
-SelfCollisionStiffness是浮点类型。默认值为0.001000。
-该函数指定特定数值控制服装间的碰撞冲突。
当服装足够接近时,数值越小,服装间的碰撞冲突会越低,但是越容易被扭曲。
当服装足够接近时,数值尺度,服装间越不容易发生扭曲,但是会增加服装间的碰撞冲突。
def set_simulation_proximity_detection_vertex_triangle(object, bVertexTriangleProximity):
- bVertexTriangleProximity是布尔类型。默认值为True。
-该函数能够有效的管理虚拟模特与服装间的碰撞冲突。当它为True,将会检测顶点与三角面之间的距离,如果服装贴近,将会以合适的力减少它们的冲突。当它为False,不产生任何作用。
def set_simulation_proximity_detection_edge_edge(object, bEdgeEdgeProximity):
- bEdgeEdgeProximity是布尔类型。默认值为True。
-该函数能够有效的管理虚拟模特与服装间的碰撞冲突。当它为True,将会检测线段与线段之间的距离,如果服装贴近,将会以合适的力减少它们的冲突。
def set_simulation_intersection_resolution(object, bIntersectionResolution):
- bIntersectionResolution是布尔类型。默认值为True。
-该函数决定是否进行交叉解决。交叉解决能够在发生碰撞冲突的地方有效地减少服装间的很界面
def set_simulation_layer_based_collision_detection(object, bUseLayer):
- bUseLayer是布尔类型。默认值为True。
-该函数决定是否模拟时应用层级。
def on_move_garment(object):
-能够移动服装选项。
-该函数能移动服装到动画的起点位置。
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 以查看其它细节.
def save_file(object, screen_capture = False, single_save = False):
-该函数以save_file_path为预设保存文件,保存之前运行保存选项(save_file_path)。
当 auto_save_zprj_file的值为True时,保存文件为(.Zprj)。
-如果有未完成的进程,运行到下次进程。
-screen_capture paramete 目前并未使用。
-如果 single_save parameter的值为True,即使有未完成的进程结束时也不用运行到下次进程中。
-典型地,当在MarvelousDesigner中录制动画时,该函数为称为回调函数。
-如果调用进程函数动画录制,那么这个回调函数将在录制完成后被调用。
def finish_animation_recording(object):
-当动画录制在MarvelousDesigner中完成时,该函数是被调用的回调函数之一。
-在完成动画录制之后会调用该回调函数,确保你通过调用动画录制函数来录制动画。
def run_(object):
-该函数重复循环文件加载-动画录制-文件保存,尽可能地将工作保存在job_tuple_list。当你保存一个工作到job_tuple_list并且调用该函数。在运行job_tuple_list中所有工作时,该循环将自动触发。
-你可以读取虚拟模特,动画,与元素文件做为一个循环工作。(对于包含动画与虚拟模特的文件格式,如FBX或者Alembic,当工作中只使用了虚拟模特与服装文件时也同样可行。)
-如果你制作了多项由虚拟模特,动画,服装组成的工作并且将它们保存在 job_tuple_list中, 将自动地调用run_函数,直至所有工作都完成。
def SaveBoneInformation(object, filePath):
-当你想要保存当前加载的虚拟模特的骨骼信息为BOI文件格式(JSON)时,调用该函数。(帧数,连接名与骨骼模型信息会被保存)
-只有在虚拟模特有骨骼信息时才能运行。
-如果有动画信息,虚拟模特当前帧的骨骼信息将被保存。
def moveFrame(object, frame):
-该函数移动当前已加载的动画到帧参数上。
def copyFrame(object, frame):
-该函数根据帧复制服装位置信息。
def pasteFrame(object, frame):
-该函数通过保存def copyFrame(object, frame)函数,粘贴一段位置信息来创建一段动画帧。
def set_frame_to_finish(object, frame, bOn):
-当bOn parameter的值为True,该函数将录制动画到最后帧。
-只能在有复制的动画时可运行。
文章评论已关闭。