示例

本节将介绍CRI Atom Craft包中的"CRI Atom Craft Robot"功能的示例脚本。

示例的种类

示例名 示例文件名 是否使用用户变量
检查重复的Cue ID check_overlap_cueid.py
检查重复的Cue名称 check_overlap_cuename.py
AISAC图的复制和粘贴 copy_and_paste_aisac.py
自动化的复制和粘贴 copy_and_paste_automation.py
从选择器创建切换型Cue create_switch_type_cue_from_selector.py
Cue Sheet内使用的音频文件的枚举 listup_audiofiles_in_cuesheet.py
未注册类别的Cue的枚举 listup_category_not_registered_cue.py
枚举只存在于单个的素材文件夹中的素材 listup_files_exist_oneside_folder.py
从选中的Cue删除已指定的类别 remove_category.py
替换选中Cue的类别 replace_category.py
检索不同类的素材 search_different_materials.py


运行样本

所有示例脚本均用于本地执行,按照下述方法执行。

  • 在“脚本列表”窗口中,从“samples [CRI]”文件夹选择后执行
  • 从“脚本”菜单的“samples [CRI]”子菜单中选择后执行

    运行示例

所有示例脚本均为本地执行,可以使用以下方法执行。

  • 在“脚本列表”窗口中,从“samples [CRI]”文件夹中选择并执行
  • 从“Script”菜单的“samples [CRI]”子菜单中选择并执行
criatom_tools_atomcraft_api_samples_run.png


在脚本列表和菜单中以图标显示的脚本将使用脚本编辑器的用户变量功能。
为了使脚本正常运行,必须对使用的脚本编辑器设置用户变量。
关于设置内容,请参照各示例脚本的说明。

示例文件的位置

示例的脚本文件位于下述文件夹内。

  • macOS (为Ver.3.44系时)
    ~/Documents/CRIWARE/CriAtomCraft/samples/robot/344/local/Python
    (在macOS上,工具版本号将添加到robot下的文件夹名称中。)
  • Windows
    cri\tools\criatomex_v3\win\samples\robot\local\Python

请根据需要,修改并使用示例代码。
修改示例代码时,建议将其复制到用户脚本搜索路径指定的文件夹中。
原因如下:

  • macOS:在更新工具的次要版本(x.yy.zz的zz部分)时,示例脚本文件夹的内容将被覆盖。
  • Windows:示例脚本文件夹位于工具正下方,因此在更新工具时可能会错误地覆盖该脚本文件夹,或者在多个工具之间共享设置时可能会很耗时。



检查重复的Cue ID

check_overlap_cueid.py

本示例脚本用于确认GUI 树状列表中选中的Cue Sheet内是否有Cue ID重复的Cue。
选择了多个Cue Sheet时,仅检查第一个Cue Sheet是否重复。
找到重复时,则将相应的Cue信息输出到脚本日志窗口和csv文件。

示例中使用的函数

函数名 说明 模块
get_selected_objects 获取GUI树状列表中选中的对象 Project模块
find_objects 执行递归搜索并以列表格式获取匹配的对象 Project模块
get_value 获取已指定对象的参数 Project模块
get_object_path 获取对象的路径字符串 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块
get_child_objects 指定父对象后获取多个子对象 Project模块



检查重复的Cue名称

check_overlap_cuename.py

本示例脚本用于确认GUI树状列表中选中的Cue Sheet内是否有Cue名重复的Cue。
选择了多个Cue Sheet时,仅检查第一个Cue Sheet是否重复。
找到重复时,则将相应的Cue信息输出到脚本日志窗口和csv文件。

示例中使用的函数

函数名 说明 模块
get_selected_objects 获取GUI树状列表中选中的对象 Project模块
find_objects 执行递归搜索并以列表格式获取匹配的对象 Project模块
get_value 获取已指定对象的参数 Project模块
get_object_path 获取对象的路径字符串 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块
get_child_objects 指定父对象后获取多个子对象 Project模块



AISAC图的复制和粘贴

copy_and_paste_aisac.py

此示例脚本将AISAC图从源AISAC粘贴到目标AISAC中。
由于使用了脚本编辑器的用户变量功能,因此请在用户变量中设置以下项目,并在执行前单击“应用”按钮。

用户变量 说明 变量类型
SOURCE_AISAC 复制源AISAC对象 object
DEST_SEQUENCE 粘贴目标的AISAC对象 object
AUTOMATION_GRAPH_TYPE 要复制和粘贴的AISAC图的类型 string

粘贴目标的AISAC中存在相同类型的图形时,则粘贴过程将不会覆盖该图形。

示例中使用的函数

函数名 说明 模块
get_aisac_graph 获取AISAC图 Project模块
get_value 获取已指定对象的参数 Project模块
copy_object 复制对象 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块



自动化的复制和粘贴

copy_and_paste_automation.py

此示例脚本将复制源序列对象的自动化粘贴到粘贴目标的序列对象。
由于使用了脚本编辑器的用户变量功能,因此请在用户变量中设置以下项目,并在执行前单击“应用”按钮。

用户变量 说明 变量类型
SOURCE_SEQUENCE 复制源的序列对象(Cue或音轨) object
DEST_AISAC 粘贴目标的序列对象(Cue或音轨) object
AISAC_GRAPH_TYPE 复制和粘贴的自动化类型 string

粘贴目标的序列对象存在相同类型的图形时,则粘贴过程将不会覆盖该图形。

示例中使用的函数

函数名 说明 模块
get_automation 获取自动化 Project模块
get_value 获取已指定对象的参数 Project模块
copy_object 复制对象 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块



从选择器创建切换型Cue

create_switch_type_cue_from_selector.py

此示例脚本创建切换型Cue,并使用突出显示的选择器将选择器标签应用于音轨。
由于使用了脚本编辑器的用户变量功能,因此请在用户变量中设置以下项目,然后在执行前单击“应用”按钮。

用户变量 说明 变量类型
SELECTOR 要设置Cue的选择器 object
CUE_NAME 要创建的Cue名称 string
MATERIAL_FOLDER (可选)使用波形区域注册的素材文件夹 object

Cue的创建目标(Cue Sheet、Cue文件夹)请从GUI树状列表中选择。 已指定素材文件夹时,则其部分名称与标签名称匹配的素材将注册为波形区域。

Cue创建目标中已经存在同名Cue时,则新的Cue将不会覆盖该Cue。
仅在指定文件夹的正下方搜索素材。

示例中使用的函数

函数名 说明 模块
get_selected_objects 获取GUI树状列表中选中的对象 Project模块
get_child_objects 指定父对象后获取多个子对象 Project模块
get_value 获取已指定对象的参数 Project模块
create_object 指定类型后创建对象 Project模块
set_value 设置已指定对象的参数 Project模块
create_waveform_region 创建波形区域 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块



Cue Sheet内使用的音频文件的枚举

listup_audiofiles_in_cuesheet.py

本示例脚本用于枚举GUI树状列表中选中的Cue Sheet中使用的音频文件。
将音频文件的名称和文件路径输出至脚本日志窗口。

示例中使用的函数

函数名 说明 模块
find_objects 以递归方式搜索对象并获取所有符合条件的对象 Project模块
get_selected_objects 获取GUI树状列表中选中的对象 Project模块
get_value 获取指定的对象的参数 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块



未注册类别的Cue的枚举

listup_category_not_registered_cue.py

本示例脚本是针对GUI树状列表中选中的Cue,枚举未注册指定类别的Cue。
将枚举的Cue的名称输出至脚本日志窗口。
由于使用了脚本编辑器的用户变量功能,因此请在用户变量中设置以下项目,并在执行前单击“应用”按钮。

用户变量 说明 变量类型
SEARCH_CATEGORY 要检索的类别 object

示例中使用的函数

函数名 说明 模块
get_selected_objects 获取GUI树状列表中选中的对象 Project模块
get_value 获取指定的对象的参数 Project模块
get_categories 获取Cue中设置的类别 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块



枚举只存在于单个的素材文件夹中的素材

listup_files_exist_oneside_folder.py

本示例脚本是针对GUI树状列表中选中的2个素材文件夹,枚举只存在于单个素材文件夹中的素材。
要判定是否是相同的素材时,使用所选择的文件夹的相对路径。
请选择要进行比较的2个素材文件夹后执行。

示例中使用的函数

函数名 说明 模块
find_objects 以递归方式搜索对象并获取所有符合条件的对象 Project模块
get_selected_objects 获取GUI树状列表中选中的对象 Project模块
get_object_path 获取显示工具上的数据结构的路径字符串 Project模块
get_value 获取指定的对象的参数 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块



从选中的Cue删除已指定的类别

remove_category.py

本示例脚本用于从GUI树状列表中选中的Cue删除指定的类别。
由于使用了脚本编辑器的用户变量功能,因此请在用户变量中设置以下项目,并在执行前单击“应用”按钮。

用户变量 说明 变量类型
REMOVE_CATEGORY 要删除的类别 object

示例中使用的函数

函数名 说明 模块
get_selected_objects 获取GUI树状列表中选中的对象 Project模块
get_value 获取已指定对象的参数 Project模块
get_categories 获取Cue中设置的类别 Project模块
set_categories 在Cue中设置类别 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块



替换选中Cue的类别

replace_category.py

本示例脚本用于替换GUI树状列表中选中的Cue的类别设置。
由于使用了脚本编辑器的用户变量功能,因此请在用户变量中设置以下项目,并在执行前单击“应用”按钮。

用户变量 说明 变量类型
REPLACE_FROM 替换源类别 object
REPLACE_TO 替换目标类别 object

示例中使用的函数

函数名 说明 模块
get_selected_objects 获取GUI树状列表中选中的对象 Project模块
get_value 获取已指定对象的参数 Project模块
get_categories 获取Cue中设置的类别 Project模块
set_categories 在Cue中设置类别 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块



检索不同类的素材

search_different_materials.py

对于GUI树状列表中选中的素材文件夹,本示例脚本会从其下的所有素材中列举出"不同类"的素材。
被判断为不同类的素材名称会被输出到脚本日志窗口。

"不同类"的素材是根据其是否具有与其他大多素材不同的设置值来判断的。
更具体地说,在搜索对象的素材中,拥有相同设置值的素材比例小于BORDER_RATIO时,则判断为"不同类"。
使用以下字段进行判断。

由于使用了脚本编辑器的用户变量功能,因此请在用户变量中设置以下项目,并在执行前单击“应用”按钮。

用户变量 说明 变量类型
BORDER_RATIO 作为不同类判断标准的比率 number

示例中使用的函数

函数名 说明 模块
find_objects 以递归方式搜索对象并获取所有符合条件的对象 Project模块
get_selected_objects 获取GUI树状列表中选中的对象 Project模块
get_actual_value 获取实际应用于已指定对象的参数。 Project模块
get_value 获取已指定对象的参数 Project模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块



启动探查器日志收集(远程执行)

start_profiler_logging.py

此示例脚本在远程执行期间与目标应用程序建立游戏内连接并收集探查器日志。

此外,获取的日志以CSV格式输出。

示例中使用的函数

功能名称 描述 模块
open_project 打开指定的项目。 Project模块
start_ingame_preview 启动到指定 IP 地址的游戏内连接 preview模块
stop_ingame_preview 终止游戏内连接 preview模块
start_profiler_logging 开始分析。 Profiler 模块
stop_profiler_logging 停止分析。 Profiler 模块
export_alllog_to_csv 以 CSV 格式输出所有分析日志 Profiler 模块
initialize 初始化通信功能 通信模块
finalize 完成通信功能 通信模块
connect 连接CRI Atom Craft 通信模块
disconnect 与CRI Atom Craft断开连接通信模块
warning 输出警告日志 debug模块
log 输出标准日志 debug模块