I'm trying to take advantage of one of the great assets of the mac version of sketch up and sketchy physics, the transparent background. Any suggestion on how to capture frames in sketchy physics so that the background is transparent. For now I am just exporting an image per frame so that I can control the resolution and frame size but I would guess there is a better way and a better tinkerer out there who can tell me. This code was nicked from Mr. K and works to interpolate camera positions between scenes while saving an image every frame. Put the code in the on tick box of any sketchy physics solid.
if frame==0
@transition_time=100
@pages=Sketchup.active_model.pages
@cam=Sketchup.active_model.active_view.camera
@view=Sketchup.active_model.active_view
@page_num=@pages.count-1
@cur_page=0
@next_page=1
end
if frame>0
per=frame%@transition_time
if per==0
@cur_page+=1
@next_page+=1
@cur_page=0 if(@cur_page>@page_num)
@next_page=0 if(@next_page>@page_num)
end
per=per.to_f/@transition_time
page_cam1=@pages[@cur_page].camera
page_cam2=@pages[@next_page].camera
fov,eye,target,up=interpolate_camera(page_cam1,page_cam2,per)
@cam.fov=fov
@cam.set(eye,target,up)
@newview=@view.refresh
framet=frame.to_s
while framet.length< 4
framet="0"+framet
end
@name="/Users/markptak/Desktop/tempimage/write_image."+framet+".png"
keys={
;filename => @name,
;width => 1924,
;height => 1080,
;antialias => false,
;compression => 0.9,
;transparent => true
}
@newview.write_image keys
end
if frame==0
def interpolate_camera(cam1,cam2,per2)
per1=1-per2
fov1=cam1.fov
fov2=cam2.fov
fov=fov1*per1+fov2*per2
eye=[]
eye1=cam1.eye.to_a
eye2=cam2.eye.to_a
(0..2).each{|index| eye[index]=eye1[index]*per1+eye2[index]*per2}
tar=[]
tar1=cam1.target.to_a
tar2=cam2.target.to_a
(0..2).each{|index| tar[index]=tar1[index]*per1+tar2[index]*per2}
up=[]
up1=cam1.up.to_a
up2=cam2.up.to_a
(0..2).each{|index| up[index]=up1[index]*per1+up2[index]*per2}
return fov,eye,tar,up
end
end