On 11.11.2020 Maxon released Cinema 4D R23.1 (version 23.110). For further details see the official article on the Maxon Website.
Besides the usual bug-fixes increasing the software reliability, R23 Service Pack 1 is the first version of Cinema 4D shipping on macOS as Universal App and delivering incredible performance on brand new Apple Silicon-based hardware.
In parallel, we updated the SDK documentation for C++ and Python.
Dear Developer Community,
we are delighted to announce that today, November 2nd 2020, Ferdinand Hoppe (also known as zipit) joins the Maxon SDK Team.
Given his studies at at the Berlin School of Library and Information Science, besides continuing the excellent support job we’ve all benefitted since 2019 on Plugin Café, he will contribute to enhance the design of SDK documentation and in other knowledge-base management-related areas bringing his expertise on relations between libraries, information, technology and people.
The Maxon SDK Team
The next generation of Maxon’s professional 3D software delivers powerful enhancements to its animation and UV workflows, character animation toolset, and the inclusion of Magic Bullet Looks technology. The introduction of the new Scene Nodes system provides a preview of the performance customers can expect in future developments of Cinema 4D. Plugin developers will appreciate the update to Python 3, and creative pipelines will benefit from the inclusion of USD import/export and updates to FBX and OBJ handling. R23 is available immediately for subscription holders and is available as an upgrade for perpetual license holders.
The next version of Maxon’s 3D delivers:
- New Character Animation Tools: Includes new Character Solver and Delta Mush workflows as well as a new Pose Manager and Toon/Face Rigs.
- Animation Workflow: Better Keyframing, Filters for the Timeline and Attributes Manager, and more.
- UV Workflows: All the powerful UV editing capabilities introduced in Cinema 4D S22 (the subscription-only upgrade) plus new tools geared toward UV workflows for hard-surface models.
- Magic Bullet Looks Integration: Easily apply one of over 200 preset film looks, import LUTs, or work with individual tools for color correction, film grain, chromatic aberration and much more.
- Scene Nodes: Scene Nodes allows users to explore massive Distributions and Procedural Modeling in advance of further Cinema 4D core engine development for optimal creativity and experimentation.
Visit Maxon’s website for a complete list of new features and updates.
Concerning the C++ and Python APIs, the most significant changes are:
- Python sub-system update to Python 3.7.7
- Access to scene-nodes shapes possible via Classic API representation.
Concerning plugins binary compatibility, plug-ins that were built for S22/R21 will not work in R23 and they need to be rebuilt, upon bringing the changes needed to compile against the new API.
Documentation and Downloads
The ProjectTool has been updated to deliver IDE-compatible project files.
Examples on GitHub
The examples on GitHub have been updated.
UPDATE: on 01.09.2020 Maxon has released Cinema 4D S22.1 Hot-Fix to deliver an essential fix for MyMaxon account activity.
While the updated version is immediately available via the official channels, it’s not impacting our API documentation.
UPDATE: on 10.06.2020 Maxon has released Cinema 4D S22.1 Hot-Fix to solve a severe scene compatibility issue. While the updated version is immediately available via the official channels, we’re not providing updated API documentation since the fix has no impact on its contents.
On 09.06.2020 Maxon released Cinema 4D S22.1 (version 22.114). For details on bugfixes and changes see the official release notes on the Maxon Website.
In parallel, we updated the SDK documentation for C++ and Python.
For those who didn’t see the announcement on https://www.3dmotionshow.com and the blog post on our website, the next release of Cinema 4D is moving from Python 2.7.14 to Python 3.7.7.
This next Cinema 4D release will only run on Python 3.7.7 and it will not be possible to execute Python 2.7.14 code.
Python 3.7.7 offers a vast improvement over Python 2.7.14 including better Unicode handling, internal rewriting for better performance, and much more.
For more information about Python 3.7.7 please read the Official Python Documentation.
Those vast improvements may require modifications to existing scripts and plugins.
The only change in the Cinema 4D python module is the class c4d.storage.ByteSeq removed in favor of Python built-in types such as:
- memoryview: represents a view of the current memory;
- bytes: represents an immutable bytes sequence;
- bytearray: represents a mutable bytes sequence.
For code not belonging to the c4d module, lib2to3 can be used to spot possible issues. This can be used with Cinema 4D S22 with `c4dpy -m lib2to3 yourPythonFile.py` for more information look at the lib2to3 official documentation.
To give you an idea, converting the whole Python Github Repository to Python 3 took less than half a day since most of the changes are related to `xrange` changed to `range` and print statement requiring parenthesis. Almost no changes in Cinema 4D API calls were needed. It’s worth noting the updated code on the Github repo will be made available before the Cinema 4D release.
Regarding SDK Support and Python 3 check our Maxon Registered Developer Program to see if you are eligible to participate: getting admitted to the program level-2 will let you early test your plugins against Cinema 4D beta versions.
Finally, any 2.7.x code which is not bound to the Cinema 4D Python API can be ported and tested on 3.7.x with a regular Python Interpreter before the Cinema 4D release. This could speed up porting part of your code before being able to get hands-on the next release.
Hoping this blog post answers some of your questions, we keep looking forward on working together with this new exciting Python update.
MAXON’s SDK Team
first time around?
Pick the right API for the right job
The very first thing you will need to do is choose which API will suit your needs.
Cinema 4D has… three APIs, the first two may be used to add functionality and are part of the product’s distribution:
The C++ SDK is what is used internally by the development team to write all our product’s functionalities. It is robust reliable and the obvious choice for commercial plugins. The C++ SDK offers the most extended capabilities of all APIs. Yet, if you are new in software development the learning curve may be a bit too steep. Then you probably want to have a look at the scripting languages.
Python is a scripting languages. It is a good choice for TDs, easier, more flexible to use than the C++ API, but the feature set exposed is a bit less extended. In general Python provides the means for very rapid development. On the other hand your sources are harder to protect in Python, your algorithms are easily exposed to all for reading.
Cineware is a bit different, as it provides means to exchange data with the “outside world”. It can be downloaded on this site.
All APIs have their own documentation which can be downloaded from this website. That documentation contains two things: articles explaining concepts and a functional documentation of the header files. The later is generated directly from our sources and is written by our development team. We publish relevant articles on our plugin development blog. These articles eventually find their way into the API documentation.
The first place to look is on your chosen API’s page. We will explain how to setup your development environment and get results fast.
We all need help once in a while. For this we have the Plugin Café forum where all are invited to ask questions and provide answers. Our support engineers will do their best to provide a solution to your problem.