[CNB] 只写代码?太浪费了,直接云原生渲染!

前言

2022年,Coding给开发者搞了一种模式,DevOps,别管这东西多高级多看不懂,我只知道开发可以全在云上做了,什么环境配置,什么安装什么都不需要,在云端一点就完成,有浏览器有网,随时随地就能开发,省心省事省力。

腾讯现在针对云原生构建又有了一个新产品cnb——Cloud Native Build,官网在cnb.cool,每个月有1600免费核时的云原生开发额度,够爽吧。

[CNB] 只写代码?太浪费了,直接云原生渲染!

最大支持64核128G

[CNB] 只写代码?太浪费了,直接云原生渲染!

嘿嘿,既然资源都是云端的,那是不是可以异想天开一下。只拿来写代码那太浪费了,cnb的云原生开发基于docker那样的模式,那很自由了,前几天我看到cnb在部署Deepseek,也验证了这一想法。

效果展示

[CNB] 只写代码?太浪费了,直接云原生渲染!

使用单张GPU,EEVEE渲染速度可以达到8秒每帧,同样参数在3050Laptop下需要10秒,Tesla A10上需要18秒。重要的是这东西跑了7小时,连免费额度的5%都没用到,这不是爽飞了

云原生开发使用

跟喝水一样简单

构建Blender

我这里已经做了一个仓库,可以直接按照说明使用https://cnb.cool/arsrna/blender-docker

[CNB] 只写代码?太浪费了,直接云原生渲染!

打开仓库,点击右上角云原生开发

WebIDE使用

进入WEBIDE后,将本地渲染所用文件上传到工作区,工作区的路径为/workspace,建议新建一个tests文件夹,里面的文件会自动被git排除,以免造成不必要的占用。

[CNB] 只写代码?太浪费了,直接云原生渲染!

编辑渲染设置

注:由于blender官方python文档写得太烂,建议因blender脚本遇到问题时,前往stackexchange查找和交流

  • 将需要处理的.blend文件上传到工作区/usr/local/blender/blender -b /workspace/{.blend文件} -P /workspace/eevee_render.py
  • 修改eevee_render.py,请参考下一章节渲染脚本设置

要注意,由于我使用了mmd插件,导致摄像机视角有问题,透视变成了正交,所以加入了一句强行让视角转为透视,如果没有出现问题,或者摄像机本身就是正交视角的,请注释这一部分。

代码语言:python
代码运行次数:0
复制

for obj in bpy.data.objects:
    # 检查对象是否为摄像机
    if obj.type == 'CAMERA':
        # 设置摄像机为透视视角
        obj.data.type = 'PERSP'
        print(f"摄像机 {obj.name} 已设置为透视视角。")

更多配置请参考eevee_render.py内的注释进行修改

开始渲染

左上角打开终端(如果屏幕宽的话会直接在顶部显示)也可以Ctrl+Shift+C打开

[CNB] 只写代码?太浪费了,直接云原生渲染!

运行

代码语言:shell
复制
/usr/local/blender/blender -b /workspace/你的.blend文件路径 -P /workspace/eevee_render.py

构建的过程是真不容易,点点star支持下。

构建逻辑

docker

.ide/Dockerfile,即为运行云原生开发所用到的环境。

考虑到Cycles渲染器调用的cuda,这里选择了NVIDIA的CUDAGL镜像nvidia/cudagl:11.4.2-base-ubuntu20.04

为了能够正常使用WebIDE,这里安装了nano,code-server,git等插件,方便对.py脚本进行开发,以及适配云原生开发环境,请勿随意去掉此依赖。剩下的是Blender运行所需要的二进制库,一个个测试出来的,也请不要随意删除。

[CNB] 只写代码?太浪费了,直接云原生渲染!

根据Blender官方安装文档,在这里我使用下载二进制包的方式来安装使用,使用的是阿里云的Blender镜像(什么时候腾讯搞一个,这样内网绝对够飞速)

[CNB] 只写代码?太浪费了,直接云原生渲染!

没有装到/usr/bin里面,所以启动需要输入完整路径。

.cnb.yml

在CNB runner的这个配置里,参考了官方的Deepseek-R1库,使用了GPU的Tag,为了保证不爆内存,使用32核64G的配置,足够渲染一些中小工程。

[CNB] 只写代码?太浪费了,直接云原生渲染!

可以根据自己的需要,调节相对应配置,可参考:云原生开发

TODO

目前只是一个测试,确实能够在cnb里面完整运行Blender,实现GPU调用,但运行VNC时会因为权限问题,没办法从外网进行访问,不过关掉了图形化,Blender渲染会更快

未来会加入ArRM(ArSrNa集群渲染器),目前ArRM只支持windows版本,感兴趣的可以前往ArRM查看。其实CNB跑渲染灵感正是从ArRM来的,既然能够运行脚本,不妨脑洞大开,在开发docker版本的时候就想到了cnb。

加入WebUI,现在通过命令行有点鸡肋,不熟悉代码的操作起来不方便

已知问题

初代毕竟是初代,还是有很多问题需要完善,前面也提到了,mmd渲染会因为插件问题,丢失摄像机数据,导致原本是透视的摄像机变成了正交,视角很奇怪,有些项目通过强制设置透视可以正常,但有些就是不行,不知道是不是mmd的问题。如下图。

[CNB] 只写代码?太浪费了,直接云原生渲染!

给TA打赏
共{{data.count}}人
人已打赏
网络技巧

🥇 [首发]🆕 闲置小鸡的新玩法 开源的在线网络检测工具

2025-2-14 9:38:10

网络技巧网络随笔

wireshark开启对https密文抓包

2025-2-18 10:22:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索