More and more I have to deliver different versions from the project. One for television one for web, social media, and so on. Many times the aspect ratio and the resolution varies quite much. That’s why I created this simple but useful asset to help me to see how one render looks in different aspect ratios.

Note that the aspect ratio guide should be placed under the camera object.

Some calculations in Pythonish pseudocode:

doc = c4d.documents.GetActiveDocument()
temp_height = distance_from_camera * math.tan((camera_fov_ver * 0.5)) * 2.0
temp_width = distance_from_camera * math.tan((camera_fov_hor * 0.5)) * 2.0

guide_position_x = temp_width * film_offset_x
guide_position_y = temp_height * film_offset_y * -1

old_aspect_ratio = resolution_width / resolution_height # Calculate old/current aspect ratio
if old_aspect_ratio > new_aspect_ratio: # If old aspect ratio is bigger than new aspect ratio
    guide_width = temp_height * new_aspect_ratio
    guide_height = temp_height
elif old_aspect_ratio < new_aspect_ratio: # If old aspect ratio is smaller than new aspect ratio
    guide_width  = temp_width
    guide_height  = temp_height / new_ar
else: # If old and new aspect ratios are same
    guide_width  = temp_height
    guide_height  = temp_width

– Perspective Projection
– Focal Length changes
– Sensor Size changes
– Film offset changes
– Render resolution changes
– Position Z changes

Updated 06/11/2021
> Added text fields to see guides width and height values in pixels
> Added two buttons to get current aspect ratio and crop current resolution based on guides resolution


Asset, Cinema 4D, Python, Tag

This is nothing special, just an old Python Generator asset practice that I found lying around. Its only purpose is to show index numbers. Mainly created to show polygon object’s polygon, edge, and point numbers. Because sometimes you have to know the specific index number and instead of searching it in ‘Structure’ tab this is faster. Under the hood this Python Generator is just a basic matrix object with Display mode turned to ‘Index’.

– Polygon objects
– Splines objects
– Some MoGraph objects, like matrix and cloner


Asset, Cinema 4D, Generator, Python

Creating custom render tokens for Cinema 4D is very simple with Python. First you want to loop through tokens and check that there is no duplicates.

if __name__=="__main__":
    for registeredToken in c4d.modules.tokensystem.GetAllTokenEntries():
        if registeredToken.get("_token") in ["my_token"]:

Next you register your custom token with following command:

c4d.plugins.RegisterToken("my_token", "Comment", "Example value", MyFunction)

Last but not least you need the function that returns some kind of string that the token outputs:

def MyFunction(data):
    return "myString" # Replace this with your more advanced script

Here is my collection of custom tokens that might be useful.
Tokens included:

  • Date Year Full (2021) – Token: $YYYY
  • Date Year Short (21) – Token: $YY
  • Date Month (01) – Token: $MM
  • Date Day (16) – Token: $DD
  • Date Hour (18) – Token: $hh
  • Date Minute (42) – Token: $mm
  • Date Second (10) – Token: $ss
  • PC Name (String) – Token: $pcname
  • Username (String) – Token: $pcuser
  • Render Engine (Redshift) – Token: $renderer
  • Project version – Token: $ver (Parses version number of the project name)
  • Object Name – Token: $objname (Returns name of the first object in the object manager)

Updated 02/09/2021
> Added two new tokens
> Fixed render engine name token

Place the folder in the zip file to Cinema 4D’s plug-in folder.

Cinema 4D, Plug-in, Python

This is handy plug-in for Cinema 4D. It helps exporting Redshift Proxy files different ways. It works like the default Redshift Proxy File Exporter but this plug-in gives some goodies.

Extra features:

  • Export all or selected objects to separate files
  • Option to create folders for objects
  • Open export folder in explorer while exporting
  • Monitor exporting process in status bar

Place Redshift Proxy Exporter plug-in to your appdata plug-in folder to make it work properly (avoid permission errors), since plug-in has to write and read the settings file.

If you close the dialog with “Close” button, the plug-in will remeber the last used settings, if you close it with the cross button, the plug-in does not save the settings.

Win: “C:\Users\[USER]\AppData\Roaming\MAXON\Cinema 4D R[VERSION]\plugins\”
Mac: “/Users/[USER]/Library/Preferences/MAXON/CINEMA 4D R[VERSION]/plugins”

Updated 21/02/2021 (v0.0.2)
> File/folder path input field. Now you can export to network locations much easier. Creates missing folders automatically when you modify path string
> Option to export proxies without frame number suffix in file names.

Updated 28/02/2021 (v0.0.3)
> Support for Cinema 4D R23
> Bug fixes

Get it:
You can buy this plug-in from Gumroad
Redshift Proxy Exporter plug-in for Cinema 4D

Cinema 4D, Plug-in, Redshift

Hawkeye (v1.0) is an effect plug-in for Adobe After Effects (currently only for Microsoft Windows) that helps you to create beautiful and dynamic letterboxes and composition guides super easily.

Plug-in supports 8-bit, 16-bit and 32-bit colors.

Letterboxes includes 37 favorite aspect ratio presets including cinemascopes and custom mode let’s you define almost infinite amount of different aspect ratios.

Guides section has many different options to choose beautiful and useful compositing guides including: Center lines, rule of thirds, golden ratio, different sets of dynamic symmetry rectangle, harmonious triangles, harmonic armature, diagonals and many more. You can layer multiple guides top of each other by duplicating the Hawkeye effect.

Custom grid section let’s you determine your own custom grid that fits perfectly to your source footages dimensions.

License is prepertual and you can install the plug-in to two personal workstations. Once you purhace the product, you will get lifetime free updates!

Put the downloaded aex file to the following folder:
C:\Program Files\Adobe\Adobe After Effects [version]\Support Files\Plug-ins

Once the After Effects is opened, the plug-in can be found here Effect->Aturtur->Hawkeye

Tested with:
Adobe After Effects 2019 (v16.1.3)
Adobe After Effects CC 2020 (v17.0.6)

Buy it here:
All old donators will get this plug-in for free! DM on twitter or send me an email!

After Effects, Plug-in, Uncategorized

To celebrate my 30th birthday I completely revamped my Cinema 4D script repository on GitHub. This is the initial release for AR_Scripts for Cinema 4D. Every single script has now own icon, so scripts can be easily attached to the Cinema 4D’s interface.

Scripts are written for Maxon Cinema 4D R21.207 so they are using Python 2.7.14. I don’t have access to the newest Cinema 4D R23 which uses Python 3, so I’m not able to update any of my stuff. Scripts are also made and tested with Microsoft Windows 10 Pro, so some scripts might not work with Mac OS.

For now there are 81 different scripts. Actually there are much more, since some of the scipts have multiple functions (scripts that can be used with keyboard modifiers). I’ll update and add more scripts depending on the support and my own feeling.

Check AR_Scripts on GitHub.

Cinema 4D, Python, Redshift

This is a Python Tag called Stage Manager. It let’s you set active ‘stage’ camera with timeline markers. Just give a same name for your marker as your camera and Stage Manager takes care of the rest. There are two different modes: Directive and Strict. Directive mode is designed for markers without range and strict is for markers with custom lengths. If there are no suitable camera found, then the dump camera is used if linked.


Cinema 4D, Python, Tag

Really simple Python Generator for mirroring objects. Works exactly like Symmetry Object, but keeps individual objects and does not merge them into one object.

Options to generate instance objects or actual copies from mirrored objects. You can mirror along XY, ZY and XZ planes. ‘Use Hierarchy’ enables mode to use top level children.


Asset, Cinema 4D, Generator, Python

This is simple Python Generator that creates wires between clones. This generator works only with cloner object and cloner’s ‘Instance Mode’ needs to be ‘Instance’ otherwise the generator can’t access to children objects properly. Dual mode works like [In / Out] method and single mode just simply goes [Point to Point]. Notice that you can have several control nulls in Out and In nulls. You can modify sag/lift and pivot parameters and also randomize those parameters with additional controllers.

Wires generator requires a specific hierarchy. If you use ‘Single’ mode the hierarchy should look something like on the left and for ‘Dual’ mode the hierarchy should look something like on the right. And amount of control nulls needs to match.


Asset, Cinema 4D, Generator, Python

A simple Python Effector for Randomizing Clone’s indices. Based on @douwe4d‘s original Random Index Effector. I just added a couple more features. I use this effector quite often so I wanted to share with you. It’s a quite old yet very powerful effector.

There are three (3) different modes:
Randomize Index: Randomizes only indices, keeping old clone offset
Randomize Clone Offset: Shuffles cloning order, keeping old indices
Randomize Order: Randomizes cloning order with indices


Cinema 4D, Effector, Python