1
2
3
4
5
6
7
8
9
10
11
12from pyfbsdk import *
13import os
14
15
16lRenderPrefix = 'Render'
17lformat = '.tif'
18
19
23timeSpan = gSystem.CurrentTake.LocalTimeSpan
24lStart = timeSpan.GetStart()
25lStop = timeSpan.GetStop()
26lStepFrame = 1
27lFrameRate = lControl.GetTransportFpsValue()
28
29
30def RenderLayer ( pPath,pLayerName ):
31 lRenderPath = "%s\\%s_%s" % ( pPath,pLayerName,lformat )
32
35 lOptions.TimeSpan = timeSpan
36 lOptions.TimeSteps =
FBTime(0, 0, 0, 1)
38 lOptions.AntiAliasing = False
39 lOptions.RenderAudio = False
42 lOptions.ShowCameraLabel = False
43 lOptions.ShowSafeArea = False
44 lOptions.OutputFileName = pPath
45 lOptions.ShowTimeCode = True
46 lOptions.OutputFileName = lRenderPath
47 lOptions.StillImageQuality = 0
48 gApplication.FileRender( lOptions )
49
50
51lShow = {}
52for lGroups
in FBSystem().Scene.Groups:
53 lShow[lGroups.Name]=lGroups.Show
54
55
56for lCamera
in FBSystem().Scene.Cameras:
57 lCamera.ViewShowAxis = False
58 lCamera.ViewShowGrid = False
59
60
61
63lFp.Caption = "Select a folder to put your Rendered Layers:"
64
65
66lFp.Path = r"C:\temp"
67
68lRes = lFp.Execute()
69
70if lRes:
71 lfolder = FBMessageBoxGetUserValue( "Create subfolder for render layers: " , "Warning: will overwrite existing ", "MyRenderLayers", FBPopupInputType.kFBPopupString, "Ok" )
72
73 if lfolder[0]:
74 print("Creating subfolder %s" % lfolder[1])
75 if not os.path.exists("%s\\%s" % ( lFp.Path,lfolder[1] )):
76 os.mkdir("%s\\%s" % ( lFp.Path,lfolder[1] ))
77
78 lFp.Path = "%s\\%s" % (lFp.Path,lfolder[1])
79
80 else:
82
83 del( lfolder )
84
85
86 for lGroups
in FBSystem().Scene.Groups:
87 lGroups.Show = False
88 for lGroups
in FBSystem().Scene.Groups:
89 if lGroups.Name.startswith( lRenderPrefix ):
90 lGroups.Show = True
91 print('Rendering Layer ' + lGroups.Name.lstrip( lRenderPrefix ))
92 RenderLayer(lFp.Path,lGroups.Name.lstrip( lRenderPrefix ))
93 print('Done')
94 lGroups.Show = False
95
96
97for lCamera
in FBSystem().Scene.Cameras:
98 lCamera.ViewShowAxis = True
99 lCamera.ViewShowGrid = True
100
101
102for lGroups
in FBSystem().Scene.Groups:
103 lGroups.Show = lShow[lGroups.Name]
104
105
106
107
108
FBApplication is used mainly to manage files.
Definition: pyfbsdk_generated.h:801
Resolution modes.
Definition: pyfbsdk_generated.h:2829
Player control.
Definition: pyfbsdk_generated.h:13745
Provides access to the underlying system, and the MotionBuilder scene.
Definition: pyfbsdk_generated.h:18771
Time data structure.
Definition: pyfbsdk_generated.h:19596
Video Grabber class.
Definition: pyfbsdk_generated.h:20875
Enum FBVideoRenderDepth.
Definition: pyfbsdk_generated.h:21073
Enum FBVideoRenderFieldMode.
Definition: pyfbsdk_generated.h:21083
Enum FBVideoRenderViewingMode.
Definition: pyfbsdk_generated.h:21096
int FBMessageBox(str pBoxTitle, str pMessage, str pButton1Str, str pButton2Str=None, str pButton3Str=None, int pDefaultButton=0, int pScrolledMessage=0)
Dialog popup box.