Skip to content

aws-deadline/deadline-cloud-for-cinema-4d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

AWS Deadline Cloud for Cinema 4D

pypi python license

AWS Deadline Cloud for Cinema 4D is a python package that allows users to create Deadline Cloud jobs from within Cinema 4D. It provides both the implementation of a Cinema 4D extension for your workstation that helps you offload the computation for your rendering workloads to Deadline Cloud to free up your workstation's compute for other tasks, and the implementation of a command-line adaptor application based on the Open Job Description (OpenJD) Adaptor Runtime that improves Deadline Cloud's ability to run Cinema 4D efficiently on your render farm.

Compatibility

This library requires:

  1. Cinema 4D 2024 - 2025
    • Redshift is supported but not required
  2. Python 3.9 or higher; but Python 3.11 is recommended as this is the version Cinema 4D uses natively.
  3. Windows or macOS operating system for job submission and Windows operating system for job rendering. There are some instructions below on how to setup the adaptors for job rendering on Linux but they are experimental.

Getting Started

The Cinema 4D integration for Deadline Cloud has two components that you will need to install:

  1. The Cinema 4D submitter extension must be installed on the workstation that you will use to submit jobs; and
  2. The Cinema 4D adaptor must be installed on all of your Deadline Cloud worker hosts that will be running the Cinema 4D jobs that you submit.

Before submitting any large, complex, or otherwise compute-heavy Cinema 4D render jobs to your farm using the submitter and adaptor that you set up, we strongly recommend that you construct a simple test scene that can be rendered quickly and submit renders of that scene to your farm to ensure that your setup is functioning correctly.

Submitter

The Cinema 4D submitter extension creates a button in Cinema 4D (Extensions > AWS Deadline Cloud Submitter) that can be used to submit jobs to Deadline Cloud. Clicking this button reveals an interface to submit a job to Deadline Cloud. It automatically determines the files required based on the loaded scene, allows the user to specify render options, builds an Open Job Description template that defines the workflow, and submits the job to the farm and queue of your choosing. The submitter includes your settings, such as Redshift plugin settings and multi-pass paths, in the submission to Deadline Cloud.

There are two installation options:

  1. Windows-only: the official Deadline Cloud submitter installer
  2. Windows or Mac: manual installation

After installing, you can access the submitter in the Cinema 4D interface via Extensions > AWS Deadline Cloud Submitter.

For most setups, you will also want to install the Deadline Cloud monitor.

Manually installing the submitter

Windows

In Windows cmd

set SUBMITTER_LOCATION=%APPDATA%\DeadlineCloudSubmitter
"C:\Program Files\Maxon Cinema 4D 2025\resource\modules\python\libs\win64\python.exe" -m ensurepip
"C:\Program Files\Maxon Cinema 4D 2025\resource\modules\python\libs\win64\python.exe" -m pip install deadline-cloud-for-cinema-4d "deadline[gui]" -t %SUBMITTER_LOCATION%
md %SUBMITTER_LOCATION%\cinema_4d_plugins
curl https://raw.githubusercontent.com/aws-deadline/deadline-cloud-for-cinema-4d/refs/heads/mainline/deadline_cloud_extension/DeadlineCloud.pyp -o %SUBMITTER_LOCATION%\cinema_4d_plugins\DeadlineCloud.pyp
if not defined C4DPYTHONPATH311 (setx C4DPYTHONPATH311 %SUBMITTER_LOCATION%) else (setx C4DPYTHONPATH311 %SUBMITTER_LOCATION%;%C4DPYTHONPATH311%)
if not defined g_additionalModulePath (setx g_additionalModulePath %SUBMITTER_LOCATION%\cinema_4d_plugins) else (setx g_additionalModulePath %SUBMITTER_LOCATION%\cinema_4d_plugins;%g_additionalModulePath%)

Mac

In a Mac terminal:

export SUBMITTER_LOCATION="/Users/$USER/DeadlineCloudSubmitter/"
mkdir $SUBMITTER_LOCATION
python3 -m ensurepip
python3 -m pip install deadline-cloud-for-cinema-4d "deadline[gui]" -t $SUBMITTER_LOCATION
mkdir $SUBMITTER_LOCATION/cinema_4d_plugins
curl https://raw.githubusercontent.com/aws-deadline/deadline-cloud-for-cinema-4d/refs/heads/mainline/deadline_cloud_extension/DeadlineCloud.pyp -o $SUBMITTER_LOCATION/cinema_4d_plugins/DeadlineCloud.pyp
echo \#\!/bin/zsh > ~/Desktop/Cinema4D.command
echo export C4DPYTHONPATH311=$SUBMITTER_LOCATION:\$C4DPYTHONPATH311 >> ~/Desktop/Cinema4D.command
echo export g_additionalModulePath=$SUBMITTER_LOCATION/cinema_4d_plugins:\$g_additionalModulePath  >> ~/Desktop/Cinema4D.command
echo /Applications/Maxon\\ Cinema\\ 4D\\ 2025/Cinema\\ 4D.app/Contents/MacOS/Cinema\\ 4D >> ~/Desktop/Cinema4D.command
chmod +x ~/Desktop/Cinema4D.command

To open Cinema 4D on Mac, click Cinema4D.command on your desktop. After you load a scene, click on Extensions > AWS Deadline Cloud Submitter to view the submitter.

Adaptor

Jobs created by the Cinema 4D submitter require the adaptor to be installed on your worker hosts.

The adaptor application is a command-line Python-based application that enhances the functionality of Cinema 4D for running within a render farm like Deadline Cloud. Its primary purpose for existing is to add a "sticky rendering" functionality where a single process instance of Cinema 4D is able to load the scene file and then dynamically be instructed to perform desired renders without needing to close and re-launch Cinema 4D between them. It also has additional benefits such as support for path mapping, and reporting the progress of your render to Deadline Cloud. The alternative to "sticky rendering" is that Cinema 4D would need to be run separately for each render that is done, and close afterwards. Some scenes can take 10's of minutes just to load for rendering, so being able to keep the application open and loaded between renders can be a significant time-saving optimization; particularly when the render itself is quick.

Both fleet types in Deadline Cloud support the Cinema 4D adaptor:

  1. Service managed fleets
  2. Customer managed fleets

The Cinema 4D integration for Deadline Cloud is supported on Windows fleets (service managed and customer managed). Linux support is experimental and can only be done on customer managed fleets.

Service managed fleets

On service managed fleets, the Cinema 4D adaptor is automatically available via the deadline-cloud Conda channel with the default Queue Environment.

Customer managed fleets

There are two options for setting up the Cinema 4D adaptor on customer managed fleets:

  1. Manually installing on worker hosts
  2. Using customer-managed Conda packages

Manually installing on worker hosts

Both the installed adaptor and the Cinema 4D executable must be available on the PATH of the user that will be running your jobs.

You can also set the C4D_COMMANDLINE_EXECUTABLE to point to the Cinema 4D executable. The adaptor must still be on the PATH.

The adaptor can be installed by the standard python packaging mechanisms:

$ pip install deadline-cloud-for-cinema-4d

After installation and adding it to the PATH it can then be used as a command line tool:

$ cinema4d-openjd --help

For more information on the commands the OpenJD adaptor runtime provides, see here.

Using customer-managed Conda packages

Cinema 4D Conda packages are available in the "deadline-cloud" Conda channel on service managed Windows fleets.

However, if you prefer, you can build the Cinema 4D Conda packages yourself. There are conda recipes in our samples Github repository for cinema4d-2025 on Windows and cinema4d-openjd on Windows and Linux.

For instructions on building conda recipes on Deadline Cloud, see this article. Though it refers to Blender, the process applies to Cinema 4D recipes as well.

Worker Licensing for Cinema 4D

Service Managed Fleets

Usage based licensing for Cinema 4D 2024 and 2025 is available on Deadline Cloud service managed fleets with no additional setup.

If you prefer to use your own licensing for service managed fleets, you can also connect service-managed fleets to a custom license server.

Customer Managed Fleets

You can use usage based licensing on customer managed fleets by connecting them to a license endpoint.

You can also use your own licensing for customer managed fleets.

Viewing the Job Bundle that will be submitted

To submit a job, the submitter first generates a Job Bundle, and then uses functionality from the Deadline client library package to submit the Job Bundle to your render farm to run. If you would like to see the job that will be submitted to your farm, then you can use the "Export Bundle" button in the submitter to export the Job Bundle to a location of your choice. If you want to submit the job from the export, rather than through the submitter plug-in then you can use the Deadline Cloud application to submit that bundle to your farm.

Versioning

This package's version follows Semantic Versioning 2.0, but is still considered to be in its initial development, thus backwards incompatible versions are denoted by minor version bumps. To help illustrate how versions will increment during this initial development stage, they are described below:

  1. The MAJOR version is currently 0, indicating initial development.
  2. The MINOR version is currently incremented when backwards incompatible changes are introduced to the public API.
  3. The PATCH version is currently incremented when bug fixes or backwards compatible changes are introduced to the public API.

Security

We take all security reports seriously. When we receive such reports, we will investigate and subsequently address any potential vulnerabilities as quickly as possible. If you discover a potential security issue in this project, please notify AWS/Amazon Security via our vulnerability reporting page or directly via email to AWS Security. Please do not create a public GitHub issue in this project.

Telemetry

See telemetry for more information.

Troubleshooting

Additional Python Libraries in the submitter

Some versions of Cinema 4D ( e.g. Cinema 4D 2024.1.0) have been found to be missing some libraries key to Deadline Cloud requirements ; in later versions such as 2024.4.0 this has been resolved.

A missing library error will manifest in errors that can be visible from the Python section of the Extensions > Console UI. These typically look like:

PySide6/__init__.py: Unable to import Shiboken from  ...

To remedy these errors, you can switch to a later version of Cinema 4D which resolves the missing libraries, or you can manually add them specifically to the Cinema 4D python module, e.g in Windows it will be something like:

"C:\Program Files\Maxon Cinema 4D 2024\resource\modules\python\libs\win64\python.exe"-m ensurepip
"C:\Program Files\Maxon Cinema 4D 2024\resource\modules\python\libs\win64\python.exe"-m pip install MISSING_MODULE

License

This project is licensed under the Apache-2.0 License.