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
    • Recent
    • Tags
    • Users
    • Login
    1. Maxon Developers Forum
    2. PixelsInProgress
    The Maxon SDK Team is currently short staffed due to the winter holidays. No forum support is being provided between 15/12/2025 and 5/1/2026. For details see Maxon SDK 2025 Winter Holidays.
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 6
    • Groups 0

    PixelsInProgress

    @PixelsInProgress

    3
    Reputation
    87
    Profile views
    6
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online
    Website pixelsinprogress.com
    Location London

    PixelsInProgress Unfollow Follow

    Best posts made by PixelsInProgress

    • R20 Startup script location - python_init.py

      Hi everyone

      Anyone know if it's possible to add a startup script in R20 like in previous versions?

      The old method was adding a python_init.py file to the directory:

      Cinema 4D RXX_XXXXXXX>prefs>python

      The python directory no longer exists so not sure where to put it.

      Thanks!

      Adam

      posted in Cinema 4D SDK python r20
      PixelsInProgressP
      PixelsInProgress
    • ObjectData handles - Unexpected position jitter

      Hi Maxon team,

      I'm creating a python ObjectData plugin which uses handles and I'm experiencing some strange behaviour.

      I can transform the object and then move the handles without issue in any viewport as expected. The issue arises if I have multiple views. So, say I'm using a 2 view setup, if I transform the object in one viewport and immediately move the handle in the other viewport, sometimes it triggers erratic behavior where the handle position appears to be flickering between it's expected position and somewhere in another plane. Once the behaviour is triggered it seems to remain.

      Some anectodal notes:

      • Closing and reopening the file makes the issue dissapear
      • Deleting the object and creating a new one and the issue remains

      Here's a video showing the flickering (starts about 19 seconds) :
      https://www.pixelsinprogress.com/handleissue

      Here's my handles code in it's simplest form:

          def GetHandleCount(self, op):
              return 1
      
          def GetHandle(self, op, i, info):
      
              info.position  = op[c4d.ID_USERDATA,1 ] # this is a simplified example so using UD instead of a parameter
              info.type      = c4d.HANDLECONSTRAINTTYPE_FREE
      
          def SetHandle(self, op, i, p, info):
              op[c4d.ID_USERDATA,1 ] = p
      
      

      Any ideas to what's going on / what I'm doing wrong would be greatly appreciated.

      Thanks,

      Adam

      posted in Bugs python 2026
      PixelsInProgressP
      PixelsInProgress
    • RE: ObjectData handles - Unexpected position jitter

      Hi Ferdinand,

      Thanks for the in depth response. The support procedures are new to me and I will be sure to go through them when making future support requests.

      I have taken your advice and for now moved towards a system using MoveHandle. The above example and your c++ code example earlier in the thread has been super useful in implementing this. I think we now have a solid functioning set of handles in all viewports and using ProjectPointOnPlane along with some camera space calculations.

      Big thanks,

      Adam

      posted in Bugs
      PixelsInProgressP
      PixelsInProgress

    Latest posts made by PixelsInProgress

    • RE: ObjectData handles - Unexpected position jitter

      Hi Ferdinand,

      Thanks for the in depth response. The support procedures are new to me and I will be sure to go through them when making future support requests.

      I have taken your advice and for now moved towards a system using MoveHandle. The above example and your c++ code example earlier in the thread has been super useful in implementing this. I think we now have a solid functioning set of handles in all viewports and using ProjectPointOnPlane along with some camera space calculations.

      Big thanks,

      Adam

      posted in Bugs
      PixelsInProgressP
      PixelsInProgress
    • RE: ObjectData handles - Unexpected position jitter

      Hi Ferdinand,

      Thanks for the swift reply. I've built an example where the behaviour is repeatable (although as in the video it sometimes requires transforming the object multiple times before it starts) here:
      https://www.dropbox.com/scl/fo/k76j6qja2u6n0nrmj11o8/AMhO7GwhSFnm-9saHFxhuB8?rlkey=pet07qeoeuev9zpfc5f30qhg8&dl=1

      All I'm expecting from the handle, is for it to behave as it does as in the ealier part of the video I posted i.e if I'm in a parallel viewport and I move the handle, it moves in the plane of that particular viewport and not in the depth axis. Instead of flickering to a different plane in the other viewports. ( As far as I can tell, triggered immediately after transforming in one view and then moving the handle in another straight after)

      WIth regards to the feedback loop. It seems that in the SDK examples that this is how it's normally managed? As in take some stored data, feed it to the handle position in GetHandle and then retreive the updated position is SetHandle and safely store position for the next iteration?

      Thanks for your C++ camera dependent example, that looks like it could be super use to implement a fallback if HANDLECONSTRAINTTYPE_FREE isn't going to work.

      Cheers,

      Adam

      posted in Bugs
      PixelsInProgressP
      PixelsInProgress
    • ObjectData handles - Unexpected position jitter

      Hi Maxon team,

      I'm creating a python ObjectData plugin which uses handles and I'm experiencing some strange behaviour.

      I can transform the object and then move the handles without issue in any viewport as expected. The issue arises if I have multiple views. So, say I'm using a 2 view setup, if I transform the object in one viewport and immediately move the handle in the other viewport, sometimes it triggers erratic behavior where the handle position appears to be flickering between it's expected position and somewhere in another plane. Once the behaviour is triggered it seems to remain.

      Some anectodal notes:

      • Closing and reopening the file makes the issue dissapear
      • Deleting the object and creating a new one and the issue remains

      Here's a video showing the flickering (starts about 19 seconds) :
      https://www.pixelsinprogress.com/handleissue

      Here's my handles code in it's simplest form:

          def GetHandleCount(self, op):
              return 1
      
          def GetHandle(self, op, i, info):
      
              info.position  = op[c4d.ID_USERDATA,1 ] # this is a simplified example so using UD instead of a parameter
              info.type      = c4d.HANDLECONSTRAINTTYPE_FREE
      
          def SetHandle(self, op, i, p, info):
              op[c4d.ID_USERDATA,1 ] = p
      
      

      Any ideas to what's going on / what I'm doing wrong would be greatly appreciated.

      Thanks,

      Adam

      posted in Bugs python 2026
      PixelsInProgressP
      PixelsInProgress
    • Python - Gradient userdata - Set colour and alpha

      Hi there,

      I'm looking for a method to set both colour and alpha gradients for a single userdata.

      0af4483c-b3c5-47c9-ae58-0b2fbfb5598c-image.png

      The attributes of the gradient I need to set are:

      c4d.GRADIENTKNOT_POSITION
      c4d.GRADIENTKNOT_COLOR
      

      and for the alpha gradient:

      c4d.GRADIENTKNOT_POSITION
      c4d.GRADIENTKNOT_BRIGHTNESS
      

      I can get the alpha gradient with:

      Gradient.GetAlphaGradient(self)
      

      but I can see no way to set it.

      Anybody know what I'm missing?

      Thanks,

      Adam

      posted in Bugs python s26
      PixelsInProgressP
      PixelsInProgress
    • RE: R20 Startup script location - python_init.py

      That'll do it. Thanks!

      It's worth noting that this seems to get loaded after all of the other plugins whereas in the method for previous versions it was before. - Just in case that might be a factor for anybody.

      Cheers,

      Adam

      posted in Cinema 4D SDK
      PixelsInProgressP
      PixelsInProgress
    • R20 Startup script location - python_init.py

      Hi everyone

      Anyone know if it's possible to add a startup script in R20 like in previous versions?

      The old method was adding a python_init.py file to the directory:

      Cinema 4D RXX_XXXXXXX>prefs>python

      The python directory no longer exists so not sure where to put it.

      Thanks!

      Adam

      posted in Cinema 4D SDK python r20
      PixelsInProgressP
      PixelsInProgress