更新时间 : 2021-11-16 11:28:31
请先参考 标准模板 config.json 的结构 https://www.seeshiontech.com/docs/page_65.html
{
"settings": {
"attr": 0 //属性设置 1:打开OIT渲染
},
"fps": 30, //模板的主帧速率
"main": "comp0", //渲染使用的主合成的name属性,SDK支持预合成,所以导出的合层不止一个,这里定义的是主合成的name。
"description": "合成 1", //模板的描述,对应AE中主合成的名称
"version": "1.3.0.beta", //SDK内核版本号,与渲染效果息息相关
"ui_version": "1.0", //编辑界面版本号目前分为1.0与2.0 2.0界面更加完善更加易懂
"type": 1, //模版类型 1:普通模版 2:动态模版
"snap": [], //整型数组,要截图的帧索引号,目前尚无实现
"comps": [],
"assets": [ // 保存所有素材对象数组, 有 ui 字段的元素为可替换的元素
{ // 无 ui 字段,不是可替换元素,
"key": "assetkey0",
"ui_key": "",
"name": "asset1.mp4",
"type": 1,
"num": 0,
"size": [
544,
960
]
},
{ // 有 ui 字段,可替换元素
"key": "assetkey0", //素材的唯一ID
"ui_key": "", //设计师在导出工具中为素材设置的标识key
"ui_extra": "", //设计师在导出工具中为素材设置的附加数据
"fps": 30, //在AE中解释素材选项中如果指定帧速率,则存在此key,否则为0或不存在
"name": "asset1.mp4", //素材的名称,根据素材类型type的不同,name字段的作用也不同
"type": 1, //素材的类型 0:未知的素材类型 1:图片或视频或图片序列帧素材 2:OpenGL纹理素材 3:预合成素材 4:固态颜色素材 5:自定义素材
"num": 0, //如果该素材为图片序列帧素材,那么这个num代表序列帧文件的数量,其他情况下num字段为0
"size": [1080, 1920],//素材大小
"ui":{
//或图片
"group": 10, //组索引
"index": 0, //组内索引
"duration": 278, //持续帧数
"accept": 0, //接受素材类型
"type": 1, //可编辑类型 1:图片/视频, 2:文字, 3: 高级字符动画
"p": [100.5, 38.0],
"a": [100.5, 38.0],
"s": [1.0, 1.0],
"t": 1.0,
"r": 0.0
}
},
{ // 有 ui 字段,为可替换元素
"key": "assetkey0", //素材的唯一ID
"ui_key": "", //设计师在导出工具中为素材设置的标识key
"ui_extra": "", //设计师在导出工具中为素材设置的附加数据
"fps": 30, //在AE中解释素材选项中如果指定帧速率,则存在此key,否则为0或不存在
"name": "asset1.mp4", //素材的名称,根据素材类型type的不同,name字段的作用也不同
"type": 1, //素材的类型 0:未知的素材类型 1:图片或视频或图片序列帧素材 2:OpenGL纹理素材 3:预合成素材 4:固态颜色素材 5:自定义素材
"num": 0, //如果该素材为图片序列帧素材,那么这个num代表序列帧文件的数量,其他情况下num字段为0
"size": [1080, 1920],//素材大小
"ui":{ // 文字素材
"group": 9, //组索引
"index": 0, //组内索引
"type": 2, //可编辑类型 1:图片 2:文字
"duration": 348, //持续帧数
"default": "编辑文字", //默认文字
"max": 4, //最大字数
"font": "SimHei", //字体
"size": 92, //字体大小
"line_height": 110, //行高
"fill": "#ffffff", //填充颜色
"stroke": "#000000", //描边颜色
"width": 0, //描边宽度
"strokeOverFill": true, //描边是画在填充之上
"align": 0, //排版方式 0:左对齐 1:右对齐 2:居中对齐
"direction": 0,//文字方向 0:横向文字 1:纵向文字
"shadow": "#000000", //投影
"s_alpha": 0.0,
"s_angle": 0,
"s_dist": 0,
"s_size": 0,
"p": [0.0, 0.0],
"a": [0.0, 0.0],
"s": [1.0, 1.0],
"t": 1.0,
"r": 0.0,
"area": [0, 0, 100, 100]//显示区域
}
}
]
}
得到的 list 就是已经排好序的可替换素材,传给引擎渲染时,需要严格按照 list 的顺序和数量传递。
动态模板不同于标准模板,不需要获取替换元素的顺序。
动态模板在设计时就是按照传入的素材依次替换,需要设计师在设计时就确定了片段的顺序,并且至少提供一个只需要一个素材的片段,方便引擎自动排序。
请先参考 标准模板 config.json 的结构 https://www.seeshiontech.com/docs/page_65.html
{
"settings": {
"attr": 0 //属性设置 1:打开OIT渲染
},
"fps": 30, //模板的主帧速率
"main": "comp0", //渲染使用的主合成的name属性,SDK支持预合成,所以导出的合层不止一个,这里定义的是主合成的name。
"description": "合成 1", //模板的描述,对应AE中主合成的名称
"version": "1.3.0.beta", //SDK内核版本号,与渲染效果息息相关
"ui_version": "1.0", //编辑界面版本号目前分为1.0与2.0 2.0界面更加完善更加易懂
"type": 1, //模版类型 1:普通模版 2:动态模版
"snap": [], //整型数组,要截图的帧索引号,目前尚无实现
"comps": [],
"assets": [ // 保存所有素材对象数组, 有 ui 字段的元素为可替换的元素
{ // 无 ui 字段,不是可替换元素,
"key": "assetkey0",
"ui_key": "",
"name": "asset1.mp4",
"type": 1,
"num": 0,
"size": [
544,
960
]
},
{ // 有 ui 字段,可替换元素
"key": "assetkey0", //素材的唯一ID
"ui_key": "", //设计师在导出工具中为素材设置的标识key
"ui_extra": "", //设计师在导出工具中为素材设置的附加数据
"fps": 30, //在AE中解释素材选项中如果指定帧速率,则存在此key,否则为0或不存在
"name": "asset1.mp4", //素材的名称,根据素材类型type的不同,name字段的作用也不同
"type": 1, //素材的类型 0:未知的素材类型 1:图片或视频或图片序列帧素材 2:OpenGL纹理素材 3:预合成素材 4:固态颜色素材 5:自定义素材
"num": 0, //如果该素材为图片序列帧素材,那么这个num代表序列帧文件的数量,其他情况下num字段为0
"size": [1080, 1920],//素材大小
"ui":{
//或图片
"group": 10, //组索引
"index": 0, //组内索引
"duration": 278, //持续帧数
"accept": 0, //接受素材类型
"type": 1, //可编辑类型 1:图片/视频, 2:文字, 3: 高级字符动画
"p": [100.5, 38.0],
"a": [100.5, 38.0],
"s": [1.0, 1.0],
"t": 1.0,
"r": 0.0
}
},
{ // 有 ui 字段,为可替换元素
"key": "assetkey0", //素材的唯一ID
"ui_key": "", //设计师在导出工具中为素材设置的标识key
"ui_extra": "", //设计师在导出工具中为素材设置的附加数据
"fps": 30, //在AE中解释素材选项中如果指定帧速率,则存在此key,否则为0或不存在
"name": "asset1.mp4", //素材的名称,根据素材类型type的不同,name字段的作用也不同
"type": 1, //素材的类型 0:未知的素材类型 1:图片或视频或图片序列帧素材 2:OpenGL纹理素材 3:预合成素材 4:固态颜色素材 5:自定义素材
"num": 0, //如果该素材为图片序列帧素材,那么这个num代表序列帧文件的数量,其他情况下num字段为0
"size": [1080, 1920],//素材大小
"ui":{ // 文字素材
"group": 9, //组索引
"index": 0, //组内索引
"type": 2, //可编辑类型 1:图片 2:文字
"duration": 348, //持续帧数
"default": "编辑文字", //默认文字
"max": 4, //最大字数
"font": "SimHei", //字体
"size": 92, //字体大小
"line_height": 110, //行高
"fill": "#ffffff", //填充颜色
"stroke": "#000000", //描边颜色
"width": 0, //描边宽度
"strokeOverFill": true, //描边是画在填充之上
"align": 0, //排版方式 0:左对齐 1:右对齐 2:居中对齐
"direction": 0,//文字方向 0:横向文字 1:纵向文字
"shadow": "#000000", //投影
"s_alpha": 0.0,
"s_angle": 0,
"s_dist": 0,
"s_size": 0,
"p": [0.0, 0.0],
"a": [0.0, 0.0],
"s": [1.0, 1.0],
"t": 1.0,
"r": 0.0,
"area": [0, 0, 100, 100]//显示区域
}
}
]
}
得到的 list 就是已经排好序的可替换素材,传给引擎渲染时,需要严格按照 list 的顺序和数量传递。
动态模板不同于标准模板,不需要获取替换元素的顺序。
动态模板在设计时就是按照传入的素材依次替换,需要设计师在设计时就确定了片段的顺序,并且至少提供一个只需要一个素材的片段,方便引擎自动排序。