问题描述
我有一个带有脚本的搅拌机场景,该脚本可以旋转对象,渲染动画,保存帧,然后重复:
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 (将#修改为@)