Accessing Multipass layers
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 21/02/2012 at 17:49, xxxxxxxx wrote:
Hey Guys(and gals?)! ran into a bit of a problem with the new script I'm working on. I'm sure the solution is simple, but I cant seem to find where the multipass render's layers are stored at(in the docs active renderdata as a c4d.BaseContainer... right?).
I found the command ``RenderData.GetFirstMultipass()
[URL-REMOVED]
which seems to work fine for retrieving whatever the very first render pass is, but how exactly can a create a list of all my render passes if i only have a command to get the first one?I also tried getting the base container of the Active RenderData in my document, and explored which container houses the multipass layers, but it doesn't seem that there is one... am i missing something here?
here is an example of my code:
rd = doc.GetActiveRenderData()
multiPass = rd.GetFirstMultipass #this works! but i need to get other passes...
for i,o in rd.GetData() :
if isinstance(o,c4d.BaseContainer) : #find all BaseContainers...
print "container found!" #print container found!
print i,o #print whats inside!
print o.GetData(i) #get any further data for my own checking
#none of this yields the multipass renders...
[URL-REMOVED] @maxon: This section contained a non-resolving link which has been removed.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 21/02/2012 at 18:27, xxxxxxxx wrote:
Figured it out. i hate when i do this.. sorry guys.
rd = docs.GetActiveDocument().GetActiveRenderData()
MP = rd.GetFirstMultipass()
RP = RenderPasses = []
RP.append(MP)
print MP
while MP.GetNext() and MP.GetNext() not in RP:
MP = MP.GetNext()
RP.append(MP)
print RP