首页 > 编程语言 >blender python api 使用脚本进行动画渲染

blender python api 使用脚本进行动画渲染

时间:2024-04-25 19:44:26浏览次数:26  
标签:render python scene collection print api context bpy blender

1.摄像机“Camera”在一个名叫“渲染”的集合中

2.代码:

import bpy

# 设置输出路径和文件名
output_path = "/path/to/output/"  # 替换为你的输出路径
filename = "rendered_animation"  # 输出文件的前缀

# 获取名为“渲染”的集合
render_collection_name = "渲染"
render_collection = None
for collection in bpy.data.collections:
    if collection.name == render_collection_name:
        render_collection = collection
        break

# 打印集合信息
if render_collection:
    print(f"找到集合: {render_collection_name}")
else:
    print(f"未找到集合: {render_collection_name}")

# 如果找到了集合,尝试在其中获取名为“Camera”的对象
if render_collection:
    camera_object = render_collection.objects.get("Camera")
    if camera_object and camera_object.type == 'CAMERA':
        # 设置摄像机对象为场景的默认摄像机
        bpy.context.scene.camera = camera_object
        print(f"设置默认摄像机: {camera_object.name}")
    else:
        print("未找到摄像机或对象类型不是摄像机")

# 设置渲染的帧范围
bpy.context.scene.frame_start = 1
bpy.context.scene.frame_end = 100  # 假设动画有100帧
print(f"设置帧范围从 {bpy.context.scene.frame_start} 到 {bpy.context.scene.frame_end}")

# 设置渲染输出路径,使用格式化字符串
bpy.context.scene.render.filepath = f"{output_path}/{filename}_帧_"  # 设置文件格式和路径
print(f"设置输出路径: {bpy.context.scene.render.filepath}")

# 启用渲染
bpy.ops.render.render(animation=True, write_still=False)
print("开始动画渲染")

# 渲染每一帧
for i in range(bpy.context.scene.frame_start, bpy.context.scene.frame_end + 1):
    bpy.context.scene.frame_set(i)
    bpy.ops.render.render(animation=False, write_still=True)
    print(f"第{i}帧渲染完成。")

print("渲染全部完成。")

输出文件的路径:C:\path\to\output

 

标签:render,python,scene,collection,print,api,context,bpy,blender
From: https://www.cnblogs.com/jingzaixin/p/18158437

相关文章

  • 【python】pyqt中使用多线程处理耗时任务
    在PyQt中使用多线程通常是为了避免界面冻结,特别是在执行耗时的任务时。PyQt本身是基于Qt的,而Qt不允许在除主线程之外的线程中直接操作GUI元素。因此,任何涉及GUI更新的操作都应该在主线程中执行。importsysimportthreadingfromPyQt5.QtWidgetsimportQApplic......
  • Python 字符串格式化指南
    前言在Python中,字符串格式化是一种常见且重要的操作,用于将变量或值插入到字符串中,并控制输出的格式。本文将介绍几种常见的字符串格式化方法,帮助大家掌握在Python中有效地处理字符串的技巧。方法一:使用%操作符格式化字符串使用%操作符是一种传统的字符串格式化方法,可......
  • kubernetes1.28.0配合apisix-ingress安装过程【1】
    环境介绍主机信息注意:由于资源有限,通过三台vmware虚拟机进行安装。主机名IP操作系统配置k8s-master192.168.199.101Centos7.92CPU、4G内存、100G磁盘k8s-node01192.168.199.102Centos7.92CPU、4G内存、100G磁盘k8s-node02192.168.199.103Centos7......
  • Python GUI开发- Qt Designer环境搭建
    前言QtDesigner是PyQt5程序UI界面的实现工具,使用QtDesigner可以拖拽、点击完成GUI界面设计,并且设计完成的.ui程序可以转换成.py文件供python程序调用环境准备使用pip安装pipinstallpyqt5-toolsQtDesigner环境搭建在pip安装包的路径中,找到designer.exe文件......
  • Python3.8.4 解决 ImportError: urllib3 v2 only supports OpenSSL 1.1.1+, currently
    系统版本:CentOSLinuxrelease7.6.1810(Core)编译安装Python3.8.4[root@hankyoon~]#tar-xvfPython-3.8.4.tgz[root@hankyoon~]#cdPython-3.8.4/[root@hankyoon~]#./configure--prefix=/usr/local/python3.8[root@hankyoon~]#make&&makeinstall[......
  • 实践探讨Python如何进行异常处理与日志记录
    本文分享自华为云社区《Python异常处理与日志记录构建稳健可靠的应用》,作者:柠檬味拥抱。异常处理和日志记录是编写可靠且易于维护的软件应用程序中至关重要的组成部分。Python提供了强大的异常处理机制和灵活的日志记录功能,使开发人员能够更轻松地管理代码中的错误和跟踪应用程序......
  • 使用Groq的API实现可以持续会话。.md
    使用Groq的API实现可以持续会话。文章先说结论:AI没有我之前想的那么聪明。再说结果:好处:可以实现比较完美的上下文持续会话。坏处:吃tokens.仍然需要联网和科学。后面准备部署到本地的模型,70B的模型才20-40g左右。两张P40或者M40就搞定了。在准备买板子,争取可以六张卡,实现144......
  • python读取yaml配置文件的方法
    yaml简介1.yaml[ˈjæməl]:YetAnotherMarkupLanguage:另一种标记语言。yaml是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似于json格式2.yaml基本语法规则:大小写敏感使用缩进表示层级关系缩进时不允许使用Ta......
  • Python 彩色字体输出
    使用ANSI转译码给print添加颜色公式'\033[显示方式;字体颜色;背景色m输出内容\033[0m'公式参数解析\033:ANSI转义序列开始标识[:控制码用于控制字体方式、颜色、背景色(控制码对应参数值是唯一的所以仅设置一个参数时其他参数可以省略不用空占用)m:控制码结束标......
  • Python的Spacy
    spaCy是一个基于Python编写的开源自然语言处理库。基于自然处理领域的最新研究,spaCy提供了一系列高效且易用的工具,用于文本预处理、文本解析、命名实体识别、词性标注、句法分析和文本分类等任务。安装pipinstallspacy查看版本importspacyprint(spacy.__version__)......