Houdini 配置文件文档

分析:我们将场景中需要的信息分析出来并保存到task.json, asset.json, upload.json, tips.json中,以便进一步解析和处理

1.task.json解析

说明: 存放场景分析结果、渲染设置等信息

task.json示例

{
    "scene_info_render": {
        "rop_node": [
            {
                "node": "/out/mantra1", 
                "frames": "1-10[1]", 
                "option": "-1", 
                "render": "1",
                "height": "720",
				"width": "1280"
            }
        ], 
        "geo_node": [],
        "distributedsim_node": [
			{
				"node": "/out/distributedsim",
				"output_driver": "/obj/distribute_flattank/save_slices",
				"render": "0",
				"simControlName": "/obj/flattank_sim/DISTRIBUTE_flattank_CONTROLS",
				"output_file": "/geo/flip_test_slice4.flattank.0.1.bgeo.sc",
				"num_slices": "4",
				"option": "1",
				"frames": "1-240[1]",
				"sliceType": "particle"
			}
        ]
    }, 
    "task_info": {
        "is_layer_rendering": "1", 
        "cg_id": "2004", 
        "ram": "64", 
        "os_name": "1", 
        "render_layer_type": "0", 
        "is_distribute_render": "1", 
        "input_cg_file": "D:/gitlab/renderSDK/scenes/houdini_test/sphere.hip", 
        "job_stop_time": "28800", 
        "user_id": "10000031", 
        "pre_frames": "000", 
        "platform": "2", 
        "is_picture": "0", 
        "project_id": "3316", 
        "channel": "4", 
        "tiles_type": "block", 
        "tiles": "1", 
        "project_name": "dasdd", 
        "distribute_render_node": "3", 
        "frames_per_task": "1", 
        "stop_after_test": "2", 
        "input_project_path": "", 
        "task_id": "440149", 
        "task_stop_time": "86400", 
        "time_out": "12",
        "graphics_cards_num": "2",
        "hardwareConfigId": ""
    },  
    "software_config": {
        "cg_version": "16.5.268", 
        "cg_name": "Houdini", 
        "plugins": {}
    }
}

task.json参数解析

参数 类型 说明 示例
software_config object Y 渲染环境(软件类型、版本和用到的插件等) 见software_config对象解析
task_info object Y 渲染设置(优先帧、渲染帧数、超时时间等) 见task_info对象解析
scene_info_render object Y 场景的分析结果(场景中的渲染节点、输出路径等) 见scene_info_render对象解析

software_config对象解析

参数 类型 说明 示例
cg_name string 软件名称 "Houdini"
cg_version string 软件版本 "16.5.268"
plugins object 插件对象,key为插件名称,value为插件版本 {}

task_info对象解析

参数 类型 是否必须 说明 默认值 示例
graphics_cards_num string Y 1: 开启单卡渲染 2: 开启双卡渲染 "2" “2”
enable_layered string Y 是否开启分层提交, "0":关闭 "1":开启 "0" "0"
cg_id string Y 渲染软件id."2004": Houdini "2013"
ram string Y 内存要求: 64 / 128 “64” "64"
os_name string Y 渲染操作系统: "0":Linux; "1": Windows “1” "1"
render_layer_type string N 渲染层方式选择(支持maya): "0":renderlayer方式 "1":rendersetup方式 “0” "0"
is_distribute_render string N 是否开启分布式渲染: "0":关闭 "1":开启 “0” "0"
input_cg_file string Y 渲染场景本地路径 "E:/copy/DHGB_sc05_zhuta_610-1570_v0102.project"
input_project_path string Y 项目路径,如用户未设置传空字符串 " "
job_stop_time string Y 设置帧的超时时间,只会影响当前帧, 单位秒 “259200” "28800"
user_id string Y 用户ID
pre_frames string Y 优先渲染(优先帧不建议自定义多个单独帧) “000” "000:1,3-4[1]" 表示: 优先渲染首帧:否 优先渲染中间帧:否 优先渲染末帧:否 优先渲染自定义帧:1,3-4[1]
platform string Y 提交平台: "2": "www2", "3": "www3", "6": "www4", "21": "gpu", "2"
is_picture string Y “0: 效果图 "1": 动画图 “0” "0"
channel string Y 1:web本地分析(动画扣费); 2:web云端分析; 3:效果图插件提交; 4:API/SDK提交; 8:动画插件提交 “4” "4"
tiles_type string Y "block(分块),strip(分条)" “block” "block"
tiles string Y 分块数量,大于1就分块或者分条,等于1 就是单机 "1" "1"
project_id string Y 项目id "200953"
project_name string Y 项目名称 " " "Project1"
distribute_render_node string N 分布式渲染机器数 "3" "3"
frames_per_task string Y 一机渲多帧的帧数量 "1" "1"
stop_after_test string Y 优先渲染完成后是否暂停任务 "1":优先渲染完成后暂停任务 "2".优先渲染完成后不暂停任务 "2" “2”
task_id string Y 任务号
task_stop_time string Y 大任务超时停止 单位秒,"0"表示不限制 "0" "86400"
time_out string Y 超时时间 单位秒 “43200” "43200"

注意: 只有在分布式存储参数(distribute_render_node)设置为开启, 分布式渲染机器(distribute_render_node)才会生效。

scene_info_render对象解析

参数 类型 说明 示例
rop_node object 渲染节点
geo_node object 解算节点
distributedsim_node object 分布式节点

scene_info_render.rop_node和geo_node对象解析

参数 类型 是否必须 说明 示例
node string Y 节点全路径名 "/out/mantra1"
frames string Y 帧数范围 "1-10[1]"
option string Y 任务类型:
-1: 渲染;
0: 普通解算;
1: 分布式解算;
"-1"
render string Y 是否激活渲染:
1: 渲染(解算)该节点;
0: 该节点不参与渲染(解算)
"1"
height string N 相机的高 “720”
width string N 相机的宽 “1280”

scene_info_render.distributedsim_node对象解析

参数 类型 是否必须 说明 示例
node string Y 节点全路径名 "/out/distributedsim"
output_driver string N 解算节点路径 "/obj/distribute_flattank/save_slices"
render string Y 是否激活渲染:
1: 渲染(解算)该节点;
0: 该节点不参与渲染(解算)
"0"
simControlName string N 解算节点名 "/obj/flattank_sim/DISTRIBUTE_flattank_CONTROLS"
output_file string N 输出文件 "/geo/flip_test_slice4.flattank.0.1.bgeo.sc"
num_slices string N 分块解算总块数 (总数不可超过16) "4"
option string Y 任务类型:
-1: 渲染;
0: 普通解算;
1: 分布式解算;
"1"
frames string Y 解算帧范围 "1-240[1]"
sliceType string N 切片类型 "particle"

2.upload.json解析

说明: 存放需要上传的资产路径信息

upload.json示例

{
  "asset": [
    {
      "local": "D:/gitlab/renderSDK/scenes/houdini_test/sphere.hip", 
      "server": "/D/gitlab/renderSDK/scenes/houdini_test/sphere.hip"
    }
  ]
}

upload.json参数解析

参数 类型 说明 示例
asset object 需要上传的资产路径信息 见asset对象解析

asset对象解析

参数 类型 说明 示例
local string 资产本地路径 "D:/gitlab/renderSDK/scenes/houdini_test/sphere.hip"
server string 服务器端相对路径,一般与local保持一致 "/D/gitlab/renderSDK/scenes/houdini_test/sphere.hip"

3.tips.json解析

说明: 存放分析出的错误、警告信息

{
    "50001":[
        "Nodes: /obj/flattank_fluid/compressed_cache/file_mode  File name: $HIP/geo/$HIPNAME.$OS.$F.bgeo.sc  miss file: /geo/flip_test_slice4.compressed_cache.1.bgeo.sc "
    ]
}