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:
Hi,
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" return c4d.CallCommand(12544) # New View Panel... bdNew = doc.GetActiveBaseDraw() bdNew.[SetSceneCamera](https://developers.maxon.net/docs/py/2023_2/modules/c4d/C4DAtom/GeListNode/BaseList2D/BaseView/BaseDraw/index.html?highlight=basedraw#BaseDraw.SetSceneCamera)(cam) bdNew.SetParameter(c4d.BASEDRAW_DISPLAYFILTER_GRID, False, c4d.DESCFLAGS_SET_0) c4d.EventAdd() if __name__=='__main__': 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:
Hi,
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.