Need to create an window for camera view

  • On 16/08/2018 at 04:20, xxxxxxxx wrote:

    HI team, I need to create a small window to see the preview of the camera. I know that cinema4d has the option to see the view of the camera, but I need to create a small window that displays the view of the camera at 720x1280.

  • On 17/08/2018 at 08:51, xxxxxxxx wrote:


    is this a question how to achieve such in general or via code? If the question is for code than I'd recommend to rather post into SDK Help subforum for C++ or Python subforum for Python.

    As a user you can just create a "New View Panel..." from the Window menu. You can resize it to your needs, dock it where ever you like (or have it on a second screen) and select what ever camera you want within its "Cameras" menu.

    Via code you could do something like this (you didn't specify a language, I'll be using Python in Script Manager here) :

    import c4d
    def main() :
        cam = doc.GetFirstObject() # in test scene the wanted camera is the first object
        if cam is None or not cam.CheckType(c4d.Ocamera) :
            print "No camera"
        c4d.CallCommand(12544) # New View Panel...
        bdNew = doc.GetActiveBaseDraw()
        bdNew.SetParameter(c4d.BASEDRAW_DISPLAYFILTER_GRID, False, c4d.DESCFLAGS_SET_0)
    if __name__=='__main__':

    The BaseDraw offers quite a few options via SetParameter(). The IDs are unfortunately only listed in the C++ docs: dbasedraw.h

    So far so good. But it is impossible to dock the new view panel into the layout nor to change the window size of the new view panel via code.

  • On 20/08/2018 at 02:23, xxxxxxxx wrote:

    Thanks for your valuable comment I am using C++ as the development language. So can you specify me any sample code or example project that clarifies the way to create camera preview window?

  • On 24/08/2018 at 05:33, xxxxxxxx wrote:


    my code snippet in the last post actually does it already. And the Python API is (with very few exceptions) exactly the same as the C++ API. So you should be able to use my example from above.