Skip to content

aturtur/cinema4d-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aturtur's Cinema 4D Scripts

AR_Scripts

My collection of Python scripts for Maxon Cinema 4D (@aturtur). Almost every script is commented to make learning Python scripting in Cinema 4D faster and easier. You can find more of Cinema 4D related stuff on my blog e.g. Python Generators, Python Effectors, custom Xpresso setups and so on.

Latest version: 1.78 (Released 09.07.2024)

Change Log

Changes in 1.78

  • 09.07.2024 New script: AR_ZoomHelper (Camera)
  • 04.07.2024 New script: AR_AxisToParent (Modeling)
  • 04.07.2024 Updated: AR_AxisToCenter, doesn't change children transformations
  • 27.06.2024 New script: AR_MarkersToRange (Animation)
  • 26.04.2024 New script: AR_TakeMarkSelected, AR_TakeUnmarkSelected, AR_TakeMarkToggleSelected (Takes)
  • 26.04.2024 Updated: AR_BakePLA and AR_BakePSR, disables alembic morph tag on baked object(s)
  • 10.04.2024 Updated: AR_TglEnable, added support for new 2024.4.0 particle objects and Thicken generator and Doodle object
  • 20.02.2024 New script: AR_PrintCloneCount (Utility)
  • 20.02.2024 Updated: AR_LayerToggle, AR_LayerOff, AR_LayerOn, added undo support
  • 17.01.2024 Updated: AR_KeysConstantSpeed, error checking
  • 12.01.2024 New script: AR_EdgeSelectionsToSpline (Modeling)
  • 10.01.2024 New script: AR_EditorCamToSelectedCam (Camera)
  • 10.01.2024 New script: AR_SelectedCamToEditorCam (Camera)
  • 26.12.2023 New script: AR_TakeMaterialPreviews (Take)

Older change logs are collected in CHANGELOG.md file

How to use

In this section I go through how you install AR_Scripts to Cinema 4D. These scripts are written for Maxon Cinema 4D 2024.4.0 (usually always the newest version) and Python 3.11.4. Scripts are tested using Microsoft Windows 11. All of the scripts should be compatible also with Mac OS. I'm not writing scripts anymore for older Cinema 4D versions.

Use these scripts with your own risk!

Installation

Download this repo and put AR_Scripts_#.## folder to following path:

Windows

C:\Users\<USER>\AppData\Roaming\MAXON\Maxon Cinema 4D 2024\library\scripts

Mac OS

/Applications/MAXON/CINEMA 4D 2024/library/scripts

Other way to find folder for installing scripts is to opening C4D and opening preferences (Ctrl+E / Cmd+E) and pressing 'Open Preferences Folder...' -button and navigating to library > scripts.

Addendum

Some of the scripts will make a txt-files in the aturtur folder under the C4D's prefs folder to save the previous settings of the script. C:\Users\<USER>\AppData\Roaming\MAXON\Maxon Cinema 4D 2024\prefs\aturtur If/when you want to uninstall AR_Scripts completely, remove that folder too.

Using scripts

When you have installed AR_Scripts you have to reboot Cinema 4D if it is already running. On start up Cinema 4D will scan and load all of the scripts. Scripts are located under Extensions -> User Scripts -> AR_Scripts_#.##. Scripts can be used with the commander (Shift+C) too.

You run the script by clicking it. Some of the scripts have multiple functions and you can use those with key modifiers (Alt / Ctrl / Shift) and different combinations. Some of the scripts requires a certain item selection or mode to be active. If you don't know what the script does you can either open the script in the script editor and read the description or search the info of the specific script on this page.

Script descriptions

Animation

AR_BakeCam AR_BakeCam.py

Default: Bakes selected camera(s) to world space.
Shift: Keeps render engine tags if any.

AR_BakePLA AR_BakePLA.py

Default: Bakes object to Point Level Animation (PLA).
To bake spline object correctly, bake them first to alembic and then use this script to bake the alembic file to PLA spline object.
It's important that 'Intermediate Points' is set to 'Uniform'! The script does not support that the point number is changing over time.

AR_BakePSR AR_BakePSR.py

Default: Bakes selected object(s) to PSR animation in the world space.
Shift: Bakes selected object(s) to PSR animation in the local space.

AR_KeysDistribute AR_KeysDistribute.py

Default: Distributes selected keyframes evenly.
Shift: Distributes selected keyframes by given step (in frames).
Requires at least three (3) selected keyframes to correctly function. Use in dope sheet editor, does not work in f-curve editor.

AR_KeysDuplicateToPlayhead AR_KeysDuplicateToPlayhead.py

Default: Duplicate keydrames to playhead flipped.
Use in dope sheet editor, does not work in f-curve editor.

AR_KeysDuplicateToPlayheadFlip AR_KeysDuplicateToPlayheadFlip.py

Default: Duplicate keydrames to playhead flipped.
Use in dope sheet editor, does not work in f-curve editor.

AR_KeysAlign AR_KeysAlign.py

Default: Aligns selected keyframes to the closest whole frame.
Use in dope sheet editor, does not work in f-curve editor.

AR_KeysConstantSpeed AR_KeysConstantSpeed.py

Default: Modifies two selected keyframes' tangents so they are aligned.
Shift: Break tangents.
Use in dope sheet editor, does not work in f-curve editor.

AR_KeysMoveL AR_KeysMoveL.py

Default: Move selected keyframe(s) to the left.
Shift: Set custom value as default (shared with AR_KeysMoveR).
Ctrl: Move selected keyframe(s) by the set value multiplied by 2 to the left.
Use in dope sheet editor, does not work in f-curve editor.

AR_KeysMoveR AR_KeysMoveR.py

Default: Move selected keyframe(s) to the right.
Shift: Set custom value as default (shared with AR_KeysMoveL).
Ctrl: Move selected keyframe(s) by the set value multiplied by 2 to the right.
Use in dope sheet editor, does not work in f-curve editor.

AR_KeysMoveToPlayheadFirst AR_KeysMoveToPlayheadFirst.py

Default: Align selected keyframe(s) to playhead, first keyframe ruling.
Use in dope sheet editor, does not work in f-curve editor.

AR_KeysMoveToPlayheadLast AR_KeysMoveToPlayheadLast.py

Default: Align selected keyframe(s) to playhead, last keyframe ruling.
Use in dope sheet editor, does not work in f-curve editor.

AR_KeysSet AR_KeysSet AR_KeysSet AR_KeysSet AR_KeysSet AR_KeysSet AR_KeysSet AR_KeysSet AR_KeysSet AR_KeysSet...

Default: Scripts to set individually position, scale or rotation keyframe for wanted axis for selected object(s).

AR_KeysValueAdd AR_KeysValueAdd.py

Default: Increases selected keyframe(s) value.
Shift: Set custom value as default (shared with AR_KeysValueSub).
Ctrl: Increases selected keyframe(s) value times 2.

Note: Use in dope sheet editor, does not work in f-curve editor.

AR_KeysValueSub AR_KeysValueSub.py

Default: Decreases selected keyframe(s) value.
Shift: Set custom value as default (shared with AR_KeysValueAdd).
Ctrl: Decreases selected keyframe(s) value times 2.

Note: Use in dope sheet editor, does not work in f-curve editor.

AR_MarkersToRange AR_MarkersToRange.py

Default: Set render range from markers.

AR_TracksRemap AR_TracksRemap.py

Adds special track: Time for selected track(s) for time remapping.
Default: Time track is set to absolute.
Shift: time track is set to relative.

Note: Use in dope sheet editor, does not work in f-curve editor.

AR_TracksRemove AR_TracksRemove.py

Default: Removes all animated tracks from selected item(s).

AR_TracksSequence AR_TracksSequence.py

Default: Sequences selected animation tracks.
Shift: Sequences selected animation tracks with a given gap (in frames).
Ctrl: Sequencing is reversed.
Shift+Ctrl: Reversed sequencing with a given gap.
Requires at least two (2) selected tracks to correctly function.

Note: Use in dope sheet editor, does not work in f-curve editor.

Camera

AR_AspectRatioGuide AR_AspectRatioGuide.py

Default: Creates an aspect ratio guide for selected camera(s).
Requires at least one (1) selected camera object to correctly function.

AR_CameraFocusToNull AR_CameraFocusToNull.py

Default: Creates Focus Distance object for selected camera(s).
Shift: Assigns also target tag to camera.

AR_CameraPlane AR_CameraPlane.py

Default: Creates plane object that matches selected camera(s) field of view. Positioned to cameras focal point in Z-axis.
Shift: Same as default, but plane stays in place. Does not support film shift.
Supports perspective and parallel projections.

AR_CropToIRR AR_CropToIRR.py

Default: Crops the canvas to Interactive Render Region.
Changes active render settings resolution and selected/active camera's sensor size (film gate) and possibly also film offsets.

AR_CycleCameras AR_CycleCameras.py

Default: Cycles through available cameras.
Shift: Cycles cameras backwards.

AR_EditorCamToSelectedCam AR_EditorCamToSelectedCam.py

Default: Copies settings from editor camera to selected camera.

AR_ResizeCanvas AR_ResizeCanvas.py

Default: Resizes the canvas without changing the perspective.
Changes active render settings resolution and selected/active camera's sensor size or focal length and possibly also film offsets.

AR_SelectActiveCamera AR_SelectActiveCamera.py

Default: Selects the active camera in the object manager.

AR_SelectedCamToEditorCam AR_SelectedCamToEditorCam.py

Default: Copies settings from selected camera to editor camera.

AR_StabilizeCamera AR_StabilizeCamera.py

Default: Stabilizes active camera view to selected object.
Designed to use with AR_AverageLocator.

AR_ZoomHelper AR_ZoomHelper.py

Default: Creates a helper camera from active camera and activates 'Film Magnify' tool

Export

AR_ExportAISeq AR_ExportAISeq.py

Default: Exports selected spline objects to Adobe Illustrator-sequence.
Shift: Export selected spline objects to separated folders (separated sequences).
Preview range will determine the frame range that will be exported.

AR_ExportC4D AR_ExportC4D.py

Default: Exports top level objects individually to C4D-file. Supports object selection.

AR_ExportMat AR_ExportMat.py

Default: Exports selected material(s) to own file(s).

Note: Material names should NOT end with dot and number! Eg. "MyMaterial.1" rename that to "MyMaterial_1" or something different. Currently the script does not copy textures to the export location, use global paths!

AR_ExportOBJ AR_ExportOBJ.py

Default: Exports top level objects individually to OBJ-file. Supports object selection.

AR_ExportUVTex AR_ExportUVTex.py

Default: Exports UV texture for selected object.

Note: Uses colors from Bodypaint. Set these first!

Import

AR_ImportAuditionMarkers AR_ImportAuditionMarkers.py

Default: Imports Adobe Audition markers CSV file and creates markers from those.

AR_ImportfSpy AR_ImportfSpy.py

Default: Creates a camera from fSpy JSON-file and Background object from a Image-file.

AR_ImportGaea AR_ImportGaea.py

Default: Creates a setup from Gaea height map image file.

AR_ImportImageFolder AR_ImportImageFolder.py

Default: Imports an image folder into materials.
Shift: Generates also plane objects for each material with correct proportion of the image.

AR_ImportOBJFolder AR_ImportOBJFolder.py

Default: Merges OBJ-files from selected folder into the active document.

AR_ImportPixeur AR_ImportPixeur.py

Default: Creates materials from Pixeur color palette file.

AR_ImportPSD AR_ImportPSD.py

Default: Imports PSD-file's layers into separate materials.
Shift: Generates also plane-objects for each layer.

AR_ImportSound AR_ImportSound.py

Default: Imports sound-file and places it to the current time.

Layers

AR_LayerColorizeWithGradient AR_LayerColorizeWithGradient.py

Default: Colorizes selected layers with custom gradient.

AR_LayerOff AR_LayerOff.py

Default: Turns all layers off or only selected ones.
Alt+Ctrl+Shift: Open settings.

AR_LayerOn AR_LayerOn.py

Default: Turns all layers on or only selected ones.
Alt+Ctrl+Shift: Open settings.

AR_LayerToggle AR_LayerToggle.py

Default: Toggles all layers or only selected ones.
Alt+Ctrl+Shift: Open settings.

Materials

AR_MatConsolidateTags AR_MatConsolidateTags.py

Default: Consolidates different polygon selections together that uses same materials.

Note: Messes up material projections! Select object(s) and run the script.

AR_MatOverride AR_MatOverride.py

Default: Overrides selected materials with the top of the list selected material.

AR_MatMerge AR_MatMerge.py

Default: Merges materials that has the same name.
Case sensitive. Supports Cinema 4D's naming conventions. The first material in the material manager overrides the other ones (with the same name).

AR_MatOwn AR_MatOwn.py

Default: Creates own materials for every object from existing materials. Supports object selection.

AR_MatSelectNext AR_MatSelectNext.py

Default: Select next material.

AR_MatSelectPrev AR_MatSelectPrev.py

Default: Select previous material.

AR_MatToObject AR_MatToObject.py

Default: Puts material to object if they have a same name.

Modeling

AR_AlignNullToPolygon AR_AlignNullToPolygon.py

Default: Creates a null object(s) which is aligned to selected polygon(s).

AR_AxisToOrigin AR_AxisToOrigin.py

Default: Sets object's axis to world origin.
Currently does not support objects with exposed normal tags.

AR_AxisToParent AR_AxisToParent.py

Default: Sets object's axis to parent's origin (axis).

AR_BooleSplit AR_BooleSplit.py

Default: Splits selected objects in half.

AR_DropToFloor AR_DropToFloor.py

Default: Places the object on the floor.

AR_DynaMesh AR_DynaMesh.py

Default: Remeshes selected object with ZRemesher.
Shift: Dialog to set different options. Options will be saved.

Note: Requires Cinema 4D S26 or newer!

AR_EdgeSelectionsToSpline AR_EdgeSelectionsToSpline.py

Default: Creates splines for each edge selection tags.

AR_FlipIt AR_FlipIt.py

Default: Flips selected object(s) (multiplies specific axis by -1).
Shift: Dialog to set different options, like space, which axis to flip and make a copy of the original object. Options will be saved.

AR_Guide AR_Guide.py

Default: Creates a guide object from two selected objects, points or edge.

AR_NullsControl AR_NullsControl.py

Default: Creates null(s) from selected point(s) that can control the original geometry.

AR_NullsSticky AR_NullsSticky.py

Default: If point selection: Creates null(s) with constraint tag(s) (clamp) from selected point(s).
Default: If object selection: Creates null(s) with constraint tag(s) (PSR) from selected object(s).

AR_ObjectReplace AR_ObjectReplace.py

Default: Replaces objects with instance of the first selected object.
Shift: Replace objects with instances of the last selected object.
Ctrl: Replace objects with copies of the first selected object.
Shift+Ctrl: Replace objects with copies of the last selected object.

AR_ObjectToSpline AR_ObjectToSpline.py

Default: Converts selected object(s) to splines.
Shift: Keep the original object(s).

AR_PlaceNull AR_PlaceNull.py

Creates null to current axis matrix.
Default: Selects the new null object and deselects the old selection.
Shift: Does not change the current selection.

AR_PointCloud AR_PointCloud.py

Default: Creates a point cloud (polygon object with only points) from selected objects' positions.

AR_PolySplit AR_PolySplit.py

Default: Splits the object into pieces by polygon selection tag(s).

AR_Swap AR_Swap.py

Default: Swaps selected objects between each other (transformation).
Shift: Generates a dialog where you can pick specifically what properties to swap.
Ctrl: Swaps selected objects only in the object manager.
Requires just two (2) selected objects.

AR_VertexMapCreate AR_VertexMapCreate.py

Default: Creates a vertex map tag for selected object(s).
Shift: Creates also linear falloff field to control the vertex map.

AR_VertexMapInvert AR_VertexMapInvert.py

Default: Inverts selected Vertex Map tag's data.

MoGraph

AR_FindEffectors AR_FindEffectors.py

Default: Selects MoGraph Effector(s) that use(s) selected Field object. Selects MoGraph Effector(s) that are used in selected Generator object.
Does not support subfields or tags!

AR_FindGenerators AR_FindGenerators.py

Default: Selects MoGraph generator(s) that use(s) selected effector. Prints info also to console.

AR_MoGraphToNulls AR_MoGraphToNulls.py

Default: Creates MoGraph to nulls setup.
Shift: User input for custom index.

AR_MoSelection AR_MoSelection.py

Default: Creates MoGraph selection for every clone.
Shift: Shared tag for given IDs.
Ctrl: Individual tags for given IDs.

AR_MoSelectionMerge AR_MoSelectionMerge.py

Default: Merges selected MoGraph Selection Tags into one tag.

Note: If you have nested MoGraph Generators, disable parent generators before running this script.

Node Tools

AR_F@#kUpNodes AR_F@#kUpNodes.py

Default: Messes position of selected nodes (2023 April Fools' Day).

Works only with Redshift. Make sure the Redshift material is selected when using the script!

AR_NodeAdd AR_NodeAdd.py

Default: Adds node between selected nodes.

Works only with Redshift. Make sure the Redshift material is selected when using the script!

AR_NodeAlignH AR_NodeAlignH.py

Aligns selected graph nodes horizontally.
Default: The leftmost node rules. Pivot is in the middle.
Shift: The leftmost node rules. Pivot is in the top.
Ctrl: The leftmost node rules. Pivot is in the bottom.
Alt: The rightmost node rules. Pivot is in the middle.
Alt+Shift: The rightmost node rules. Pivot is in the top.
Alt+Ctrl: The rightmost node rules. Pivot is in the bottom.
Supports Xpresso and Redshift.

Notice: Make sure the Xpresso tag or the Redshift material is selected when using the script!

AR_NodeAlignV AR_NodeAlignV.py

Aligns selected graph nodes vertically.
Default: The topmost node rules. Pivot is in the middle.
Shift: The topmost node rules. Pivot is in the left.
Ctrl: The topmost node rules. Pivot is in the right.
Alt: The lowest node rules. Pivot is in the middle.
Alt+Shift: The lowest node rules. Pivot is in the left.
Alt+Ctrl: The lowest node rules. Pivot is in the right.
Supports Xpresso and Redshift.

Notice: Make sure the Xpresso tag or the Redshift material is selected when using the script!

AR_NodeCon AR_NodeCon.py

Default: Connects two selected nodes, if possible. Starting from the top.
Shift: Custom input to connect OUT and IN port.
Ctrl: Connects two selected nodes, if possible. Starting from the bottom.
Supports Xpresso and Redshift.

Notice: Make sure the Xpresso tag or the Redshift material is selected when using the script!

AR_NodeDiscon AR_NodeDiscon.py

Default: Disconnect all connection(s) of selected node or connection(s) between selected nodes.
Supports Xpresso and Redshift.

Notice: Make sure the Xpresso tag or the Redshift material is selected when using the script!

AR_NodeDstrbH AR_NodeDstrbH.py

Default: Distributes selected nodes horizontally.
Supports Xpresso and Redshift.

Notice: Make sure the Xpresso tag or the Redshift material is selected when using the script!

AR_NodeDstrbV AR_NodeDstrbV.py

Default: Distributes selected nodes vertically.
Supports Xpresso and Redshift.

Notice: Make sure the Xpresso tag or the Redshift material is selected when using the script!

AR_NodeLineUpH AR_NodeLineUpH.py

Default: Lines up selected graph nodes horizontally.
Shift: Lines up selected graph nodes horizontally with a custom gap.
Alt: Reversed direction.
Shift+Alt: Reversed direction with a custom gap.
Supports Xpresso and Redshift.

Notice: Make sure the Xpresso tag or the Redshift material is selected when using the script!

AR_NodeLineUpV AR_NodeLineUpV.py

Default: Lines up selected graph nodes vertically.
Shift: Lines up selected graph nodes vartically with a custom gap.
Alt: Reversed direction.
Shift+Alt: Reversed direction with a custom gap.
Supports Xpresso and Redshift.

Notice: Make sure the Xpresso tag or the Redshift material is selected when using the script!

AR_NodeResize AR_NodeResize.py

Default: Resizes selected nodes by given width and height values.
Supports Xpresso and Redshift.

Notice: Make sure the Xpresso tag or the Redshift material is selected when using the script!

AR_NodeTexPSR AR_NodeTexPSR.py

Default: Creates individual scale, offset and rotate control nodes for Redshift texture and triplanar nodes.
Shift: Add only scale controller.
Ctrl: Add only offset controller.
Alt: Add only rotation controller.
Works only with Redshift.

Notice: Make sure the Redshift material is selected when using the script!

AR_NodeTexToMat AR_NodeTexToMat.py

Default: Creates material node from selected texture nodes or connects selected texture nodes to selected materials.
Shift: Change settings.
Works only with Redshift.

Notice: Make sure the Redshift material is selected when using the script!

Object Manager

AR_CopyToChild AR_CopyToChild.py

Creates a copy from object to the rest of the selected objects.
Default: Copy the first selected object.
Shift: Copy the last selected object.
Ctrl: Instance the first selected object.
Shift+Ctrl: Instance the last selected object.

AR_FindSource AR_FindSource.py

Default: Selects the source object.
Supports Instance, Connect, MoInstance, MoSpline, Cloner and Matrix objects.

AR_MergeSelectionTags AR_MergeSelectionTags.py

Default: Merges selection tags.
Supports object and tag selections.

AR_RandomColors AR_RandomColors.py

Default: Gives a random display color to selected object(s).
Shift: Gives a random grayscale display color to selected object(s).
Ctrl: Colorize objects randomly based on a custom gradient.
Alt: Reset color.

AR_RemoveEmptySelectionTags AR_RemoveEmptySelectionTags.py

Default: Removes empty selection tags from selected object(s) or from all objects if no selection.

AR_RemoveMissingTextureTags AR_RemoveMissingTextureTags.py

Default: Removes missing texture tags. If selection, removes only from selected objects.

AR_SelectByVisibility AR_SelectByVisibility.py

Default: Selects objects by visibility.

AR_SelectChildren AR_SelectChildren.py

Default: Select children of selected object(s).
Shift: Keeps original selection.
Ctrl: Select children from custom level.
Alt: Select siblings from given level (ignore their children).

AR_SelectCousins AR_SelectCousins.py

Default: Selects the object's cousins.
Ctrl: Selects the object's cousins and deselects the original selection.

AR_SelectDeepest AR_SelectDeepest.py

Default: Select children of selected object(s) that are the most deep in hierarchy.
Shift: Keep the original selection.

AR_SelectDown AR_SelectDown.py

Default: Goes down one hierarchy level.
Shift: Keeps the old selection.

AR_SelectNext AR_SelectNext.py

Default: Selects the next object.
Shift: Keeps the old selection.

AR_SelectNth AR_SelectNth.py

Default: Selects every even object.
Shift: Selects every odd object.
Ctrl: Selects every nth object.
Alt: Selects every nth object inverted.
Shift+Ctrl: Keep random n.

AR_SelectPrev AR_SelectPrev.py

Default: Selects the previous object.
Shift: Keeps the old selection.

AR_SelectRoot AR_SelectRoot.py

Default: Selects the root object of the object.
Shift: Keeps the old selection.

AR_SelectSameColor SelectSameColor.py

Default: Selects objects that has same display color as the selected object.

AR_SelectSiblings AR_SelectSiblings.py

Default: Selects the object's siblings.
Ctrl: Selects the object's siblings and deselects the original selection.

AR_SelectUp AR_SelectUp.py

Default: Selects the parent object.
Shift: Keeps the old selection.

AR_SortABC AR_SortABC.py

Default: Sorts selected objects order alphabetically (descending) in the object manager.
Shift: Sorts selected objects order alphabetically (ascending) in the object manager.
Note: Objects has to be in the same level in the object manager.

AR_SortRandom AR_SortRandom.py

Default: Randomizes selected objects order in the object manager.
Note: Objects has to be in the same level in the object manager.

AR_TagsClone AR_TagsClone.py

Default: Clone selected tag(s) to selected object(s).

AR_TagsCloneHierarchy AR_TagsCloneHierarchy.py

Default: Clones specific tags from first selected hierarchy to second selected hierarchy.
Hierarcies has to be indetical!

AR_TagsDelete AR_TagsDelete.py

Default: Removes selected tag type from selected objects. If no object selection. Selected tag type will be removed from all objects.

AR_TagsSelect AR_TagsSelect.py

Default: Selects tag(s) of selected object(s). If only tags selected, selects that type of tags from other objects. You can also restrict the tag search with object selection.

AR_TagsShift AR_TagsShift.py

Shifts selected tag(s).
Default: Shifts selected tag(s) to the right.
Shift: Shifts selected tag(s) to the left.

Python Tags

AR_PyTagAlignToSpline AR_PyTagAlignToSpline.py

Default: Adds a custom python tag for selected object(s) that works like C4D's Align To Spline tag but this one works also with deformed spline.

AR_PyTagKeepOnFloor AR_PyTagKeepOnFloor.py

Default: Adds a custom python tag for selected object(s) that keeps the object on the floor.

AR_PyTagShowGivenFrames AR_PyTagShowGivenFrames.py

Default: Adds a custom python tag for selected object(s) that toggles object's visibility by given frames.
There's some variables you can use: start and end for global start and end frames, prevstart and prevend for preview range start end end frames.
Set frame range with dash (-) and separate different frames and ranges with a comma (,).

AR_PyTagShowIfActive AR_PyTagShowIfActive.py

Default: Adds a custom python tag for selected object(s) that shows the object only if it is active.

AR_PyTagShowIfActiveCam AR_PyTagShowIfActiveCam.py

Default: Adds a custom python tag for selected object(s) that shows and hides camera if it is active or not.

AR_PyTagShowIfCorrectCam AR_PyTagShowIfCorrectCam.py

Default: Adds a custom python tag for selected object(s) that shows and hides object based on assigned camera.

AR_PyTagShowWhenAnimated AR_PyTagShowWhenAnimated.py

Default: Adds a custom python tag for selected object(s) that shows the object only when it is animated.

Takes

AR_TakeCamera AR_TakeCamera.py

Default: Creates take from selected camera(s) or if no selection for each camera.

AR_TakeMarkSelected AR_TakeMarkSelected.py

Default: Marks selected take(s).

AR_TakeMarkToggleSelected AR_TakeMarkToggleSelected.py

Default: Toggles mark on selected take(s).

AR_TakeMaterialPreviews AR_TakeMaterialPreviews.py

Default: Creates take for each selected material assigned to selected object.

AR_TakeMatte AR_TakeMatte.py

Default: Creates matte take from selected materials.

AR_TakeUnmarkSelected AR_TakeUnmarkSelected.py

Default: Unmarks selected take(s).

Tracking

AR_AverageLocator AR_AverageLocator.py

Default: Creates a null object which position is average of selected objects/points.

AR_Extract2DTracks AR_Extract2DTracks.py

Extracts 2D tracks from selected motion tracker to null objects.
Default: Extracts only manual tracks.
Shift: Extracts only auto tracks.

Utility

AR_AbsRenderPaths AR_AbsRenderPaths.py

Default: Converts relative render paths to absolute paths.
For example: Cinema 4D's native Render Queue does not work with relative render paths, so this scripts helps to convert render paths.

AR_DeleteARPrefs AR_DeleteARPrefs.py

Default: Deletes aturtur folder inside prefs folder, where some of scripts saves user's custom settings.
Shift: Opens the folder location.

AR_Dot AR_Dot.py

Default: Creates a dark null that has no name.

AR_Folder AR_Folder.py

Default: Creates a folder null that keeps your project nice and tidy.

AR_OpenBugReportsFolder AR_OpenBugReportsFolder.py

Default: Opens the bug reports folder.

AR_OpenProjectFolder AR_OpenProjectFolder.py

Default: Opens the folder where the project file is saved.

AR_OpenRenderFolder AR_OpenRenderFolder.py

Default: Opens the folder where the project is rendered.

The folder must exist already! Does not support all of the tokens!

AR_PrintCloneCount AR_PrintCloneCount.py

Default: Prints to console count of the clones of the selected MoGraph object.

AR_PrintType AR_PrintType.py

Default: Prints info about selected objects, tags, materials, Xpresso nodes and Redshift nodes.

AR_TglEnable AR_TglEnable.py

Default: Toggle selected generator object (enable / disable).
Shift: Toggle next found parent generator object from the default list.
Ctrl: Toggle the root generator object.
Alt: Toggle all parent generators from common list.
Alt+Shift: Force disable.
Alt+Ctrl: Force enable.
Shift+Ctrl: Toggle from custom list.
Alt+Ctrl+Shift: Open textfile to modify custom. You can use hashtag '#' separating comments. Put each generator to separate line!

Highly recommended to assign this script to a keyboard shortcut!

Viewport

AR_Reference AR_Reference.py

Default: Opens a dialog with different options to create an animation reference stuff (viewport, background and plane).
Viewport option requires and enables 'Full Animation Redraw' in Preferences/View.
Animation's starting point is the current time at the timeline.

AR_Safeframes AR_Safeframes.py

Default: Toggle opacity of safeframes in viewport.
Shift: Set a custom value and color.

Note: The color pickers in modal dialogs are currently broken in C4D R25, hopefully Maxon will fix this bug someday...

AR_TglGrid AR_TglGrid.py

Default: Toggle ground grid visibility in the active viewport.
Shift: Toggle in all viewports.

AR_ViewportColor AR_ViewportColor.py

Default: Opens a dialog where you can select a preset to change viewport color. Alt+Ctrl+Shift: Open textfile to modify custom. Use hashtag '#' separating preset name. Put each color code to separate line!

Modules

ar_modules

load_shelf_tool.py
load_tamplate.py
More information some day...

Support the project

If you find these scripts useful, consider to supporting the project and keeping it up and running: Tip jar.

If you have any script ideas, you can DM me at Twitter.

About

My collection of Cinema 4D scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages