Private
Public Access
25 lines
1.4 KiB
Python
25 lines
1.4 KiB
Python
"""Render the approved dark scene as a 20-second video."""
|
|
import bpy, os
|
|
ROOT=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
OUT=os.path.join(ROOT,'preview','v4')
|
|
bpy.ops.wm.open_mainfile(filepath=os.path.join(OUT,'halloween_examples.blend'))
|
|
s=bpy.context.scene
|
|
# Animation quality: retain lights, fog and reflections; use fewer temporal samples.
|
|
s.eevee.taa_render_samples=8;s.eevee.volumetric_samples=16
|
|
s.render.resolution_x=1280;s.render.resolution_y=720;s.render.resolution_percentage=100
|
|
s.render.fps=24;s.frame_start=1;s.frame_end=480
|
|
s.render.image_settings.file_format='FFMPEG';s.render.ffmpeg.format='MPEG4'
|
|
s.render.ffmpeg.codec='H264';s.render.ffmpeg.constant_rate_factor='MEDIUM'
|
|
s.render.ffmpeg.audio_codec='AAC';s.render.ffmpeg.audio_bitrate=192
|
|
s.render.filepath=os.path.join(OUT,'halloween_dark.mp4')
|
|
# Confirm that all four visitors have animated leg joints in the saved scene.
|
|
legs=[o for o in s.objects if 'leg pivot' in o.name]
|
|
assert len(legs)==8
|
|
s.frame_set(140);a=[o.evaluated_get(bpy.context.evaluated_depsgraph_get()).rotation_euler.x for o in legs]
|
|
s.frame_set(148);b=[o.evaluated_get(bpy.context.evaluated_depsgraph_get()).rotation_euler.x for o in legs]
|
|
assert all(abs(x-y)>.01 for x,y in zip(a,b))
|
|
print('VERIFIED: eight moving leg joints')
|
|
s.frame_set(1);bpy.ops.file.pack_all()
|
|
bpy.ops.wm.save_as_mainfile(filepath=os.path.join(OUT,'halloween_dark.blend'))
|
|
bpy.ops.render.render(animation=True)
|