I find a way to read aovs and render container , if I had some times I will post a create
Read Octane Post
from typing import Optional
import c4d
SET_RENDERAOV_IN_CNT=3700
SET_RENDERAOV_INPUT_0=3740
RNDAOV_TYPE=995
RNDAOV_ENABLED=994
doc: c4d.documents.BaseDocument # The active document
op: Optional[c4d.BaseObject] # The active object, None if unselected
c4d.CallCommand(13957) #clear console
def main() -> None:
rdata = doc.GetActiveRenderData()
vpost = rdata.GetFirstVideoPost()
OctaneRender_ID = 1029525
octVp=None
# rdata[c4d.RDATA_RENDERENGINE] = OctaneRender_ID
while vpost:
print(vpost)
if vpost.GetName() == "Octane Renderer": octVp=vpost
vpost = vpost.GetNext()
if octVp:
aovCnt = octVp[SET_RENDERAOV_IN_CNT]
print ("--- OCTANERENDER FOUND ---")
print(octVp)
print ("Buffer:",octVp[1010])
print ("Color space:",octVp[1028])
print ("AOV count:",aovCnt)
for i in range(0,aovCnt):
aov = octVp[SET_RENDERAOV_INPUT_0+i]
enabled = aov[RNDAOV_ENABLED]
type = aov[RNDAOV_TYPE]
print ("AOV1:",aov," type:",type," enabled:", enabled)
if type==185: # cryptomatte
print (" crypto_type:",aov[1821])
if type==255: #z-depth AOV
print (" z-depth max:",aov[3392]," env.depth:",aov[3397])
if __name__ == '__main__':
main()