影视动画渲染
为影视行业提供澎湃算力
经过瑞云程序猿们数月夜以继日的开发,沟通,测试及修复,今天,Renderbus SDK v2.0版本正式发布上线!至此,与3D制作行业的管道集成将更简单高效。
软件开发工具包(SDK)包括代码以及示例,用户可以使用Python SDK灵活方便的使用瑞云的云渲染服务。
SDK v2.0的优势主要体现在
1.自动化。SDK将使用云渲染服务的流程(分析场景,上传资产,渲染,下载)全部自动化。并且可以嵌入到客户自身的调度中(如DeadLine,Qube等);
2.开源。用户可自定义开发或提交开发建议;
3.跨版本。支持Python 2和Python 3;
4.跨平台。支持Windows和Linux;
5.安全性高。使用动态签名算法认证(HmacSHA256 + Base64 + UTC限时认证+随机数防止转移攻击),更安全;
6.提供多种使用方式。支持本地分析和不本地分析;
7.独立性好。将API与业务逻辑独立开来,易扩展;
8.文档更完善。
Renderbus SDK可用于瑞云渲染农场下的所有3D软件,目前支持分析的有 • Maya • Clarisse
安装说明
系统要求
python SDK 可在 Linux和 Windows 上运行。使用python2.7解释器或者python3.4+解释器
安装方式(rayvision_api为例)
方式一:下载GitHub源码安装方式(https://github.com/renderbus
)
git clone github.com/renderbus/rayvision_api.git
方式二使用pip安装,请执行以下命令(推荐指数****)
为了方便用户及时的使用最新的渲染包,我们搭建了一个PIP仓库(https://pip.renderbus.com/simple/
), 用 户可以直接下载自己需要的包进行pip安装即可
方式三: 在IDE中配置我们提供的PIP仓库地址(推荐指数*) 以pycharm为例,可以进行如下设置即可随时获取最新的包:
认证方式
Python SDK目前支持AK/SK认证方式
服务地址及平台设置:云服务地址为task.renderbus.com,目前支持的平台有2,3,6,9以及21(GPU一区),32(GPU二区)
渲染平台在上下级级联传输数据,发起请求时采用了AK/SK生成鉴权信息进行安全认证,保证了数据传输的安全。
AK/SK认证方式示例代码:
SDK的详细的入门教程
一、用户传递的配置参数
api = RayvisionAPI(access_id=render_para['access_id'],
access_key=render_para['access_key'],
domain=render_para['domain'],
platform=render_para['platform'])
三.设置渲染环境(插件配置、所属项目,软件信息校验)
task = RayvisionTask(cg_file=cg_file, **render_para)
返回:
RayvisionAPI的对象,可通过此对象调用其他的方法
四.分析与校验
•使用SDK自动分析并校验数据
RayvisionAnalyse.execute(task)
RayvisionCheck(task).execute(task.task_info, task.upload_info)
•用户使用自己的分析文件并校验数据
自行分析格式样例请参考分析文件详细配置
task_info = {}
upload_info = {}
RayvisionCheck(task).execute(task_info, upload_info)
五.上传
•实例化传输类
transfer_info = {
'config_bid': api.user_info['config_bid'],
'input_bid': api.user_info['input_bid'],
"output_bid": api.user_info["output_bid"],
"domain": render_para['domain'],
"platform": render_para['platform'],
"local_os": render_para['local_os'],
"user_id": api.user_info['user_id'],
"local_path": r"C:\workspace", # 下载资源本地保存路径
}
传输类参数
•开始上传
resource_config_file = {
"task_json_path": task.task_json_path,
"tips_json_path": task.tips_json_path,
"asset_json_path": task.asset_json_path,
"upload_json_path": task.upload_json_path,
}
upload = RayvisionUpload(trans)
upload.upload(task_id=task.task_id, **resource_config_file)
上传参数
六.提交任务
task_id = int(task.task_id)
result = api.submit(task_id)
七.下载
manage_task = RayvisionManageTask(api.query)
trans.manage_task = manage_task
#
download = RayvisionDownload(trans)
# SDK提供了2种自动下载的方式
# 1.只要有任何帧渲染结束,则立即自动下载出图文件到本地,直到作业完成。
download.auto_download([task_id])
# 2.所有都完成后,开始自动下载所有出图文件到本地。
download.auto_download_after_task_completed([task_id])
SDK常见问题
1 .如何获取密钥对 ?
1.1 首先你需要一个RenderBus账号;
1.2 你还需要在RenderBus 开发者中心 申请使用渲染SDK,并获取AccessID和AccessKey,如下图:
2.怎么设置只渲染首帧
1.获取一个task实例:
task = RayvisionTask(cg_file=cg_file, **render_para)
2.设置参数“pre_frame”为“100”:
task.task_info['task_info']['pre_frames'] = "100"
3.怎么设置渲染完优先帧之后任务自动停止?
1. 跟任务有关的首选也需要获取一个task实例:
task = RayvisionTask(cg_file=cg_file, **render_para)
2. 更改参数"stopaftertest"为“1”:
task.task_info['task_info']['stop_after_test'] = "2"
4.如何获取用户信息呢?
获取用户相关的信息需要调用rayvision_api
4.1首先更加access_id和access_key登陆服务器,代码请参考登陆.
4.2调用相应接口获取用户信息:
获取用户账号信息:
user_profile = api. user.query_user_profile()
获取用户设置信息:
user_setting = api.user.query_user_setting()
详细的使用手册请查看RenderBus SDK 使用手册,有什么问题请咨询在线客服哦~