Aturtur's Cinema 4D Scripts – 专业C4D效率脚本合集包下载

这是一套由知名技术艺术家Aturtur开发并在其社区中持续维护多年的Cinema 4D Python脚本合集,该合集被命名为AR_Scripts,是目前C4D生态中覆盖面最广、更新最勤勉的开源脚本工具包之一。整个合集基于Maxon Cinema 4D 2024.4.0版本与Python 3.11.4环境进行构建与测试,并在Windows 11平台上保证稳定运行,同时全面兼容Mac OS系统。脚本的设计初衷极其明确:不仅要通过自动化来大幅减少三维设计师与动画师在日常工作中遇到的繁琐重复劳动,更要通过详细的代码注释来降低Cinema 4D Python编程的学习门槛,让使用者能够在解决实际工作需求的同时,阅读和理解每一行代码背后的逻辑,从而迈入定制化工具开发的领域。版本号目前已更新至1.78,每一次版本迭代都伴随着对现有工具的深度优化、对新版C4D功能的全力支持,以及根据社区反馈新增的高频需求脚本,这使得该合集具备了极强的生命力,不论是用于个人项目还是大型商业制作流程,都能提供坚实的效率支撑。整套脚本的功能划分极其科学,涵盖了动画制作、摄像机控制、文件导入导出、图层管理、材质处理、多边形与点线面建模、MoGraph运动图形、节点编辑器操作、对象管理器、Python标签、Take(镜头)系统、运动跟踪以及实用工具和视口增强等数十个不同的功能板块,几乎触及了C4D常规工作流中的每一个环节。在安装方面,使用者只需将下载好的整个仓库文件夹放入C4D的用户脚本目录即可,具体路径在Windows系统下为C盘用户目录中AppData\Roaming\MAXON\Maxon Cinema 4D 2024\library\scripts,而在Mac OS系统下则为应用程序中的MAXON/CINEMA 4D 2024/library/scripts,也可以直接在C4D偏好设置内打开配置文件夹并导航到library下的scripts目录来进行放置。完成文件夹的拷贝后,重启Cinema 4D即可在扩展菜单的用户脚本子菜单中找到完整的AR_Scripts脚本列表,同时所有脚本均支持通过Commander(Shift+C快捷键调出的命令搜索栏)进行快速调用,极大提升了执行效率。有些脚本会在首次运行时自动在C4D的prefs文件夹下生成一个名为aturtur的独立目录,用来保存用户自定义的脚本设置参数,如果日后需要彻底卸载这些脚本,手动删除该prefs下的aturtur文件夹即可完全清除残留的配置文件。在具体的交互方式上,这一套脚本工具集非常注重操作直觉与功能深度的平衡,大量脚本不仅提供了基础左键点击执行的默认行为,更充分结合了键盘修饰键(Alt、Ctrl、Shift及它们的组合)来在不弹出对话框的前提下实现同一脚本的不同功能模式切换,这使得高级用户可以以极快的速度完成复杂操作,而新手也能通过默认点击获得最常用且最安全的结果。例如在动画板块中,AR_KeysConstantSpeed脚本能够快速将选中的两个关键帧切线对齐从而获得匀速过渡,同时按住Shift键即可打破切线手柄;AR_TracksSequence脚本可以在摄影表编辑器中自动排列选中的动画轨道,通过修饰键组合可以控制排列方向与帧间距;AR_BakePLA与AR_BakePSR则提供了将程序化生成的对象或带约束的物体烘焙为纯点层级动画或PSR变换关键帧的功能,且针对Alembic导入的样条处理给出了明确的流程提示。摄像机的脚本组是另一个极具生产价值的模块,AR_CycleCameras允许用户便捷地在场景中的所有摄像机之间循环切换,而AR_CameraPlane会依据当前选定摄像机的视野在焦点处自动生成一个匹配画面范围的面片,这在进行场景构图对照时显得格外实用。AR_CropToIRR与AR_ResizeCanvas能够在不改变透视的前提下,通过调整渲染分辨率、传感器尺寸或镜头焦距来实现画面的裁剪与重置,这两个脚本之间配合使用可以轻松完成类似于摄影中画幅改编的操作。AR_StabilizeCamera配合AR_AverageLocator使用,可以基于多个跟踪点的平均值来稳定摄像机视角,完成一种简单高效的模拟稳定器效果。在导入导出方面,这套脚本提供了非常契合实际流程的解决方案。AR_ExportAISeq可以将选中的样条对象按照时间范围导出为Adobe Illustrator序列文件,以便在矢量动画软件中继续编辑;AR_ExportC4D和AR_ExportOBJ能够将选中的顶层对象或特定对象批量导出为独立的C4D工程文件或OBJ模型文件,这在拆分大型场景或是进行资产归档时极为有用;AR_ExportUVTex则依赖Bodypaint的绘制颜色来导出UV贴图纹理。在导入端,AR_ImportfSpy能够通过解析fSpy生成的JSON文件在C4D内创建与照片透视完全匹配的摄像机以及对应的背景对象,打通了实景合成的前期工作流;AR_ImportPSD可以将Photoshop分层文件中的每一层都批量生成为独立的材质,并在按下Shift的情况下自动为每一层生成带有正确比例的面片,这为动态图形设计师制作复杂的分层动画提供了极大的便利;AR_ImportImageFolder则实现了将整个文件夹内的图片一次性转换为材质并可选生成对应平面的功能。建模脚本群则是在多边形编辑与对象操作上提供了大量的辅助工具。AR_EdgeSelectionsToSpline可以将保存好的边选择标签逐一生成对应的样条曲线;AR_FlipIt不仅能够以指定轴向翻转对象,还可以在Shift召唤出的对话框中设置空间参考以及是否保留原始副本,非常灵活;AR_Swap则是一个小巧却高频使用的工具,它能交换两个物体的变换属性,通过Ctrl键则可以仅在对象管理器内交换物体的层级顺序而不影响变换;AR_NullsSticky与AR_NullsControl分别在所选点或物体上生成带有约束标签的空对象,从而实现对原始几何体或位置的控制,这在绑定与变形控制中极为常见;AR_DynaMesh直接封装了ZRemesher的自动化重拓扑功能,Shift键能调出参数选项并长期保存设置;而AR_BooleSplit和AR_PolySplit则分别提供了将物体一分为二以及根据多边形选择集来拆解物体的便捷方式。MoGraph相关的脚本极大增强了程序化运动图形工作流的可控性。AR_FindEffectors能够一键选中所有依赖于某个域对象的效应器,或是找出驱动某个生成器的所有效应器,这对于复杂设置时的故障排查尤为重要。AR_MoGraphToNulls可以将克隆或矩阵的每一个实例转化为独立的空对象,并且保留其位置与层级,这使得运动图形可以塌陷为传统的关键帧动画;AR_MoSelection与AR_MoSelectionMerge则分别用于创建和合并MoGraph选集标签,在控制特定克隆子集的表现时堪称利器。在Cinema 4D不断强化的节点编辑领域,这套脚本同样给出了极其丰富的操作方式。AR_NodeAlignH与AR_NodeAlignV可以通过大量的修饰键组合来以不同节点为基准、不同位置为枢轴对齐Xpresso或Redshift材质节点图中的节点。AR_NodeLineUpH与AR_NodeDstrbH分别负责将选中节点按指定方向等间距排列和均匀分布,这在整理复杂节点图时能节省大量手动拖拽的时间。AR_NodeTexPSR则为Redshift材质中的纹理节点快速添加独立的缩放、位移与旋转控制节点,而AR_NodeTexToMat能将选中的纹理节点一键连接到指定材质表面,或者将纹理节点本身包装成一个新的材质节点。值得一提的是AR_NodeCon与AR_NodeDiscon不仅实现了智能化的节点连接与断开,还支持从端口的上方或下方起始进行不同顺序的连接。对象管理器中的实用脚本几乎构成了另一套C4D原生层级管理的强化版。AR_SelectChildren、AR_SelectSiblings、AR_SelectCousins、AR_SelectDeepest等一整套系列脚本通过层级关系提供了丰富灵活的批量选择能力,且几乎每个脚本都支持Shift保持原选择或Ctrl施加额外条件。AR_RandomColors可以给选中物体赋予随机显示颜色,通过修饰键可以切换随机灰度、渐变映射或重置颜色;AR_SortABC与AR_SortRandom分别提供按字母顺序升降序排列和随机打乱对象层级的功能。标签操作方面,AR_TagsDelete可以按类型删除标签,AR_TagsShift能左右移动标签顺序,AR_TagsSelect能快速根据类型选中对应标签,这些脚本层层递进地解决了日常管理大量对象与标签时的痛点。在较为特殊的Python标签板块,AR_PyTagAlignToSpline实现了与原生对齐样条标签一致的功能,但特别弥补了原生标签在样条本身发生变形时失效的缺陷;AR_PyTagKeepOnFloor则提供了一个轻量级的Python标签来将物体始终约束在地平面上;AR_PyTagShowGivenFrames支持使用自定义的帧范围字符串来控制物体的显示与隐藏,包括对起始帧和预览帧范围的变量支持。Take系统相关的脚本也非常务实,AR_TakeMaterialPreviews会为指定对象上的每个材质分别生成Take,方便快速创建不同材质版本的预览;AR_TakeMatte直接生成用于合成遮罩的Take;而AR_TakeMarkSelected与AR_TakeUnmarkSelected则为Take的标记与取消标记提供了直接的脚本入口,方便在大量Take的组织管理中使用。在跟踪模块中,AR_Extract2DTracks可以将运动跟踪器里的2D跟踪点提取为带有动画的空对象,默认仅提取手动跟踪点,Shift则可仅提取自动跟踪点。视口增强方面,AR_Reference能通过对话框创建包含视口翻转书、背景参考图以及面片的动画参考环境;AR_ViewportColor提供了快速切换视口背景颜色的预设系统,并支持手动编辑文本文件来自定义颜色列表;AR_Safeframes则用来控制视口安全框的透明度和颜色,适用于检查画面构图。除上述功能分类明确的脚本外,通用工具类如AR_Folder可以生成一个适合整理层级的无命名暗色空对象,AR_Dot则创建一个极为精简的无名空对象用于标记位置;AR_TglEnable是一个被重点推荐绑定快捷键的脚本,它能在任意层级快速切换生成器对象的启用状态,通过复杂的修饰键组合可以顺次切换父级生成器、仅切换根生成器、或强制全部启用或禁用。总体而言,Aturtur的这套Cinema 4D脚本合集并非零散功能的简单堆砌,而是一个逻辑严密、交互一致、覆盖完整工作流程的工业级Python工具生态,它既为那些追求极致效率的资深艺术家提供了深厚的自定义能力,也为每一个想要深入学习C4D编程的开发者提供了最真实、最直观的代码范例。
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...