Changes in R21
Cinema 4D R21 is supported on Windows 10 and macOS 10.14, 10.13 and 10.12 . Building C++ plugins requires Visual Studio 2017 or Xcode 10 .
@warn Existing C++ plugins (build for Cinema 4D R20) have to be re-compiled for Cinema 4D R21.
C++ and Python plugins and tools are now located in the "Extensions" menu.
The licensing system of Cinema 4D has been changed. With these changes, the plugin hook SNHookClass and the function GeGetSerialInfo() have been removed.
New functions to handle licensing information are:
见 插件许可手册 .
The function GeGetSystemInfo() has been removed. Information on the current system can still be obtained with GeGetVersionType() and GeGetCinemaInfo() .
The new function HasFullFeatureSet() uses GeGetVersionType() internally to check if all features are supported.
The CommandData class was changed. Its member functions include a new argument. Existing code has to be adapted.
新的 maxon::AutoWeightInterface is the base for weighting algorithms. The algorithms are registered at maxon::AutoWeightAlgos and are used with the Weight Manager.
见 AutoWeightInterface Implementation and CAWeightMgr Manual .
The new corenodes.framework allows to create custom core nodes that extend the functionality of the standard node system. See Core Nodes Implementation .
新的 maxon::FilterInterface is the base for image filters like the denoiser. See Render Filter and Render Filter Implementation .
The maxon::VolumeInterface was changed. It is now a copy-on-write type. The reference class is called maxon::Volume 而不是 maxon::VoumeRef .
The new static function maxon::VolumeInterface::CreateFromFile() allows to load volume data from a VDB file.
New volume tools were added:
新的 VolumeSet class allows to store multiple volumes in a single BaseObject 。见 VolumeSet Manual .
The maxon::GridAccessorInterface::Init() now only initialized the object for read access. To write into the volume one has to use the new function maxon::GridAccessorInterface::InitWithWriteAccess() 。见 VolumeInterface Manual .
在 Cinema 4D R21, it is possible to change the icon of any object or tag. The new settings are stored in the ID_BASELIST_ICON_FILE parameter included with the ID_BASELIST_ICON_SETTINGS_GROUP parameter group.
When reacting to MSG_GETCUSTOMICON , one can also handle the settings defined in ID_BASELIST_ICON_FILE using FillCustomIconSettingsFromBaseList2D() and GetCustomIcon() .
见 Icon .
New preference settings allow to define the type of material that is created by default in the Material Manager. Materials that should qualify for such a default material must be registered using PLUGINFLAG_MATERIAL_SHOW_IN_DEFAULT_MENU .
The default material ID is stored in WPREF_MATMANAGER_DEFAULT_MATERIAL .
The User Data Tag is a dummy tag used to host user data parameters. The tag ID is Tuserdata ; the parameter IDs are defined in tuserdata.h . This tag can be created like any other tag. See BaseTag and VariableTag Manual .
The new Field Force object has the ID Ofieldforce ; the parameter IDs are defined in ofieldforce.h . This object can be created like any other BaseObject 。见 BaseObject Manual .
The new function GetRecentDocumentsList() returns the list of the recently opened scene files. See BaseDocument Disc I/O .
New drawing functions were added to the GeUserArea class and existing functions were extended:
Some member functions of the maxon::String class has been changed.
It is possible to define in the application settings how asset are referenced. The settings are stored under WPREF_FILE_ASSETS_LINK .
The TreeViewFunctions class was extended.
The InstanceObject class was extended.
Geometry utility functions were moved to the geometryutils.h header file and are now part of the maxon::GeometryUtilsInterface . New functions are:
New scene filters for use with LoadDocument() were added:
见 Disc I/O .
These color related functions were added:
见 Utility .
The SplineData class contains now values for tension.
见 API Changes in R21.022 for the detailed list.
见 API Changes in R21.026 for the detailed list.
见 API Changes in R21.115 for the detailed list.
见 API Changes in R21.207 for the detailed list.