Fix issue where Blender start_frame was ignored. Get more scene info.

This commit is contained in:
Brett Williams
2023-05-27 13:27:43 -05:00
parent 58113f423c
commit 12f720d943
2 changed files with 23 additions and 13 deletions

View File

@@ -1,7 +1,10 @@
#!/usr/bin/env python3
import json
import re
from .render_worker import *
try:
from .render_worker import *
except ImportError:
from render_worker import *
class Blender(BaseRenderEngine):
@@ -115,7 +118,6 @@ class BlenderRenderWorker(BaseRenderWorker):
self.camera = self.args.get('camera', None)
self.render_all_frames = self.args.get('render_all_frames', False) or \
'-a' in (self.args.get('raw', None) or "").split(' ')
self.frame_to_render = 0
# Stats
self.__frame_percent_complete = 0.0
@@ -139,7 +141,7 @@ class BlenderRenderWorker(BaseRenderWorker):
cmd.extend(['-E', self.blender_engine, '-o', self.output_path, '-F', self.export_format])
# all frames or single
cmd.extend(['-a'] if self.render_all_frames else ['-f', str(self.frame_to_render)])
cmd.extend(['-a'] if self.render_all_frames else ['-f', str(self.current_frame)])
# Convert raw args from string if available
raw_args = self.get_raw_args()
@@ -209,10 +211,9 @@ class BlenderRenderWorker(BaseRenderWorker):
if __name__ == '__main__':
print(Blender.full_report())
x = Blender.pack_project_file('/Users/brettwilliams/Downloads/barbershop_interior.blend')
# print(x)
import pprint
x = Blender.get_scene_info('/Users/brett/Desktop/TC Previz/nallie_farm.blend')
pprint.pprint(x)
# logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S', level=logging.DEBUG)
# r = BlenderRenderWorker('/Users/brett/Blender Files/temple_animatic.blend', '/Users/brett/testing1234')

View File

@@ -6,15 +6,24 @@ cameras = []
for cam_obj in bpy.data.cameras:
user_map = bpy.data.user_map(subset={cam_obj}, value_types={'OBJECT'})
for data_obj in user_map[cam_obj]:
cam = {'name': data_obj.name, 'lens': cam_obj.lens}
cam = {'name': data_obj.name,
'cam_name': cam_obj.name,
'cam_name_full': cam_obj.name_full,
'lens': cam_obj.lens,
'lens_unit': cam_obj.lens_unit,
'sensor_height': cam_obj.sensor_height,
'sensor_width': cam_obj.sensor_width}
cameras.append(cam)
scene = bpy.data.scenes[0]
data = {'cameras': cameras,
'frame_start': bpy.data.scenes[0].frame_start,
'frame_end': bpy.data.scenes[0].frame_end,
'resolution_x': bpy.data.scenes[0].render.resolution_x,
'resolution_y': bpy.data.scenes[0].render.resolution_y,
'fps': bpy.data.scenes[0].render.fps}
'engine': scene.render.engine,
'frame_start': scene.frame_start,
'frame_end': scene.frame_end,
'resolution_x': scene.render.resolution_x,
'resolution_y': scene.render.resolution_y,
'resolution_percentage': scene.render.resolution_percentage,
'fps': scene.render.fps}
data_string = json.dumps(data)
print("SCENE_DATA:" + data_string)