Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Add post effects [SOLVED]

    Scheduled Pinned Locked Moved PYTHON Development
    3 Posts 0 Posters 385 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H Offline
      Helper
      last edited by

      On 07/03/2017 at 01:08, xxxxxxxx wrote:

      Hi folks,

      I am new (so please don't kill me if I overlooked something in the forum search 😉
      We are producers of 180° fulldome content for a planetarium. I used to develop with python, so I started building tools to make our artists' work as easy as possible. We are using 2 camera post effects - WideField Cam 4D and CV-VR. I figured out the IDs, and I've been able to switch them on and off once they are in the effects list, but I'd like to make some improvements, so I need a little help:

      - How can I add a post effect if it is not in the list?
      - How can I get a list of the effect's parameters and change them? Guess it has something to do with a container instance?

      Thank you very much!

      Bastian
      ScienceDome, experimenta Heilbronn

      This is the way I change the camera effect:
      ---
      CV_VR = 1036331
      WFCAM = 1019517
      CAMERA_POST_EFFECTS = (CV_VR, WFCAM)
       
      def SetActiveCamera(self, post_id) :
        post = renderdata.GetFirstVideoPost()
        while post:
            if post.GetType() in CAMERA_POST_EFFECTS and not post.GetType() == post_id:
                post.SetBit(c4d.BIT_VPDISABLED) #disable
            if post.GetType() == post_id:
                post.DelBit(c4d.BIT_VPDISABLED) #enable
            post = post.GetNext()
        c4d.EventAdd()
      ---

      1 Reply Last reply Reply Quote 0
      • H Offline
        Helper
        last edited by

        On 07/03/2017 at 01:32, xxxxxxxx wrote:

        Hello and welcome,

        to add a post effect you need to know the ID of that post effect. With that ID you can create the post effect using the BaseList2D constructor. You can then add the created post effect to the render data with InsertVideoPost() or InsertVideoPostLast().

        You find an example in this thread: "Render Options". Also you can find additional information in the C++ documentation: RenderData Manual.

        To get a list of all parameter IDs of a given object you can simply look into the header file that defines these parameter IDs. For example the IDs for the "Color Correction" post effect are defined in the frameworks\cinema.framework\source\description\pvfilter.h header file in your Cinema 4D installation.

        Alternatively you can just drag&drop a parameter into the text-field of the console window. Then the parameter ID will appear there.

        To change a parameter you can simple call SetParameter() on the post effect object.

        best wishes,
        Sebastian

        1 Reply Last reply Reply Quote 0
        • H Offline
          Helper
          last edited by

          On 08/03/2017 at 00:35, xxxxxxxx wrote:

          Perfect - this is exactly what I needed to know.

          Thanks Sebastian, you really helped me out!

          1 Reply Last reply Reply Quote 0
          • First post
            Last post