Blender 配置文件文档

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

1.task.json解析

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

task.json示例

{
    "software_config": {
        "cg_name": "Blender",
        "cg_version": "2.81",
        "plugins": {}
    },
    "scene_info_render": {
        "common": {
            "width": "1024",
            "scene_name": [
                "Scene"
            ],
            "Output_path": "/tmp\\",
            "camera_name": "<bpy_struct, Object(\"Camera\")>",
            "height": "1024",
            "Render_Format": "OPEN_EXR",
            "frames": "1-1[1]"
        }
    },
    "task_info": {
        "os_name": "1",
        "pre_frames": "100",
        "distribute_render_node": "3",
        "time_out": "43200",
        "stop_after_test": "1",
        "frames_per_task": "1",
        "project_id": "14323",
        "tiles": "1",
        "user_id": "10013141",
        "enable_layered": "0",
        "is_layer_rendering": "1",
        "task_stop_time": "0",
        "task_id": "8368517",
        "job_stop_time": "259200",
        "input_project_path": "",
        "platform": "2",
        "input_cg_file": "D:/houdini/cg_file/PRAM RENDER 1.blend",
        "channel": "4",
        "cg_id": "2007",
        "ram": "64",
        "is_picture": "0",
        "render_layer_type": "0",
        "is_distribute_render": "0",
        "hardwareConfigId": "5",
        "project_name": "Project1",
        "tiles_type": "block"
    },
    "scene_info": {
        "common": {
            "width": "1024",
            "scene_name": [
                "Scene"
            ],
            "Output_path": "/tmp\\",
            "camera_name": "<bpy_struct, Object(\"Camera\")>",
            "height": "1024",
            "Render_Format": "OPEN_EXR",
            "frames": "1-1[1]"
        }
    },
    "additional_info": {}
}

task.json参数解析

参数 类型 是否必须 说明 示例
software_config object Y 渲染环境(软件类型、版本和用到的插件等) 见software_config对象解析
task_info object Y 渲染设置(优先帧、渲染帧数、超时时间等) 见task_info对象解析
scene_info object Y 场景的分析结果(场景中的渲染节点、输出路径等) 见scene_info对象解析
scene_info_render object N 一般同"scene_info"
参数 类型 是否必须 说明 示例
cg_name string Y 软件名称 "Blender"
cg_version string Y 软件版本 "2.81"
plugins dict Y 插件对象。
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."2007": blender "2007"
ram string Y 内存要求: 64 / 128 “64” "64"
os_name string Y 渲染操作系统: "0":Linux; "1": Windows “1” "1"
render_layer_type string Y 渲染层方式选择: "0":renderlayer方式 "1":rendersetup方式 “0” "0"
is_distribute_render string N 是否开启分布式渲染: "0":关闭 "1":开启 “0” "0"
input_cg_file string Y 渲染场景本地绝对路径 "D:/houdini/cg_file/PRAM RENDER 1.blend"
input_project_path string Y 项目路径,如用户未设置传空字符串 " "
job_stop_time string Y 设置帧的超时时间,只会影响当前帧, 单位秒 “259200” "28800"
user_id string N 用户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 N 项目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 N 任务号 “54508419”
task_stop_time string Y 大任务超时停止 单位秒,"0"表示不限制 "0" "86400"
time_out string Y 超时时间 单位秒 “43200” "43200"

scene_info对象解析

参数 类型 是否必须 说明 示例
common dict Y 装载平台普通参数 见scene_info.common对象解析

scene_info.common对象解析

参数 类型 是否必须(Y/N) 说明 示例
frames string Y 渲染帧数 "1-1[1]"
Output_path string N 输出路径 "/tmp\\"
width string N "1024"
height string N "1024"
camera_name string N 相机名 ""
Render_Format string N 输出格式 "OPEN_EXR"
scene_name list N 场景名 ["Scene"]

2.upload.json解析

blender不会通过分析自动生成upload.json,需要用户自己构建upload.json上传资源,

自定义upload.json可参考rayvision_api.utils.append_to_upload

upload.json示例

{
	"asset": [
		{
			"local": "D:/houdini/cg_file/blender_test.blend",
			"server": "/D/houdini/cg_file/blender_test.blend"
		}
	]
}

upload.json参数解析

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

asset对象解析

参数 类型 说明 示例
local string 资产本地路径 "D:/houdini/cg_file/blender_test.blend"
server string 服务器端相对路径,一般与local保持一致 "/D/houdini/cg_file/blender_test.blend"

3.tips.json解析

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

{"35001":"d:\\abc\\jdf.jpg"}