Files
samford-valley-home/source/samford-v007-client-walkthrough/source/verify_blender.py

13 lines
1.4 KiB
Python

import bpy,json,os
s=bpy.context.scene;O=os.path.abspath(os.path.join(os.path.dirname(__file__),'..'));names=[o.name for o in s.objects];r={}
r['required_features']={n:n in names for n in ['ISLAND - honed marble countertop','FAST | Garden Buddha statue','CONTAINER WATER - steel base frame','Living woven jute rug','Fuller garden borders - curved lanceolate leaves','FAST | Crafted details and fuller gardens']}
assert all(r['required_features'].values())
r['render']=[s.render.engine,s.render.resolution_x,s.render.resolution_y,s.render.resolution_percentage];assert r['render']==['CYCLES',2560,1440,100]
r['ghosts']=len(bpy.data.collections['24 LATER - Shadow spaces only'].objects);assert r['ghosts']==26
r['captions']=[];fonts=[o for o in bpy.data.collections['22 PLAY - guided camera tour'].objects if o.type=='FONT']
for f in range(1,3721,120):s.frame_set(f+20);visible=[o.data.body for o in fonts if o.scale.length>.5];assert len(visible)==1,(f,visible);r['captions']+=visible
assert len(r['captions'])==31 and s.frame_end==3720
r['no_ping_pong']=not any('table tennis' in n.lower() for n in names);assert r['no_ping_pong']
r['material_references_valid']=all(m in bpy.data.materials.values() for o in s.objects if o.type=='MESH' for m in o.data.materials if m);assert r['material_references_valid']
r['status']='PASS';json.dump(r,open(O+'/blender-verification.json','w'),indent=2);print('BLENDER_VERIFIED',flush=True)