如何解决使用 bpy 进行视口渲染未使用正确的着色器
我有一个带有脚本的搅拌机场景,该脚本可以旋转对象,渲染动画,保存帧,然后重复:
import bpy
from math import radians
from mathutils import Euler
track = bpy.context.scene.objects["BezierCircle"]
for angle in range(8):
angle = angle + 1
# set output
bpy.data.scenes['Scene'].render.filepath = 'C:/Users/Evan/Pictures/BlenderSprites/Angle' + str(angle) + '/'
print(bpy.data.scenes['Scene'].render.filepath)
# change camera angle
new_angle = radians(angle*45)
track.rotation_euler = Euler((0,new_angle),'XYZ')
# change viewport settings
view3d = None
for area in bpy.context.screen.areas:
if area.type == 'VIEW_3D':
for space in area.spaces:
if space.type == 'VIEW_3D':
view3d = space
print(view3d.shading.type)
# render viewport
bpy.ops.render.render(animation=True,use_viewport=True)
这部分正在工作。但是,尽管 print(view3d.shading.type) 输出“SOLID”,但生成的图像是使用“RENDERED”阴影保存的,而不是我在 GUI 中选择的“SOLID”阴影。
我认为这可能是因为我使用的是 ops.render.render 而不是 ops.render.opengl,但是 ops.render.render 使用的是我已经配置好的设置,这要好得多。
有什么方法可以让 ops.render.render 使用 SOLID shading 吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。