Revision History

v2.6

A few new features, additional optimizations and bug-fixes, etc...

  • MDD (point-cache animation) file changes:
    • New Feature: "MDD Group Loader" tag added. This new tag allows you to set up - or modify - MDD animation on groups of mesh objects from a central location (it operates on any direct mesh object children of the parent object (typically a Null object) that the tag is attached to). See the MDD Group Loader section for details.
    • All MDD IO features now have SwapYZ, FlipX, FlipZ options.
    • .mdd Import/Export point scaling is now limited to up/down by factor of 1x -> 1000x ...
    • .mdd Deformer is now also limited to up/down by factor of 1x -> 1000x, but it currently uses a single floating point value (0.001 -> 1000.0). See the MDD Deformer section for details.
    • Fixed .mdd Import to not 'relocate' the mesh points to the world zero location.
    • Fixed a bug with exporting .mdd files, where source object 'scaling' was not accounted for correctly.
    • Fixed a reported bug of the MDD Deformer sometimes corrupting the .mdd file - I never saw this issue myself, but the fix I put in place was verified to sucessfully stop/fix the problem.
  • General changes:
    • New Feature: New .Obj Animation Sequence Import - works like .mdd import, but with a series of .obj files
    • New Feature: .obj Import (only) now supports "Smoothing Groups" - if smoothing groups are present in the file, the plugin converts them to the appropriate phong edge breaks (assuming that the "Phong Tag" option is enabled). [NOTE: The process of Exporting smoothing groups to .obj files - based on (potentially non-polygon-contiguous) phong edge breaks - is a more complex problem to solve and has not (yet) been implemented]
    • Improved 'status' messages during Import - far more informative during long imports
    • Now parses "bump strength" values in .mtl files (import only, currently)
    • Enlarged the Import line buffer size to accommodate very large nGons (nGons with large numbers of verts).
    • Added code to correctly handle incorrect Daz Studio .mtl file info (map_D vs map_d)
    • Added code to correctly handle other potential case-sensitive .mtl file errors (Daz Studio is notorious for not following the specification)
    • Changed Diffuse (Color) channel to always be enabled if not disabled on Import options (will use default color if none loaded).
    • Added code to (currently always) export Splines as .obj file 'line' records.
    • All mesh-splitting options (including not splitting) now preserve vertex-ordering (previously only the "Don't Split" and "Split by Group" options preserved vertex-ordering).
    • All mesh-splitting options now cull out any unused vertices - this can also fix a problem when importing splines, where the spline points are being duplicated in the mesh (when not splitting).
    • Unused vertices are added to scene as separate point-only mesh object (given that the appropriate options are set on the Mesh Splitting tab)
  • Optimizations:
    • Optimized .obj Import speed in general - but particularly when there are large numbers of nGons (from 2->60 times faster)
    • ...also 'actually' optimized for large numbers of groups (left out in last update?)
  • Bug Fixes:
    • Fixed a bug with importing group (or material or region) names longer than 255 characters.
    • Fixed a bug with exporting .obj files, where source object 'scaling' was not accounted for correctly
    • Fixed a bug with exporting .mdd files, where source object 'scaling' was not accounted for correctly (as listed above in the MDD section).
    • Fixed .mdd Import to not 'relocate' the mesh points to the world zero location (as listed above in the MDD section).
    • Fixed a reported bug of the MDD Deformer sometimes corrupting the .mdd file - I never saw this issue myself, but the fix I put in place was verified to sucessfully stop/fix the problem (as listed above in the MDD section).

 

v2.5

Additional Cinema 4D Release/compatibility changes, Optimizations, bug fixes, etc... [NOTE: There were a few internal (unpublished) versions between v2.2 and v2.5 but all the relevent changes are listed below]

  • New Feature: "MDD Deformer" added as an alternate .mdd file Import option. The previous .mdd Import option baked the .mdd file deformation data into Point-Level-Animation (PLA) keys on the effected mesh. That option is still available, but the new deformer offers a bit more control and only loads the 'current' animation frame info - on an as-needed basis (potentially slower if you have slow drives, but can save a ton of memory being used at any particular time).
  • New Feature: Added (a special) option to merge "color-only" materials when Importing. Most people will likely never need to use this set of options ("Special" sub-tab on the "Materials" tab)... there was a certain process that was generating tens or even hundreds of thousands of "Color Only" materials - basically using materials as a stand-in for a single bitmap texture file. This is a highly unusual situation, but my plugin (and Cinema 4D itself) were never designed to work with so many materials. What these new options allow you to do is to 'merge' similar colors, thus reducing the total number of materials being loaded in the scene.
  • Optimizations:
    • The Name and Path of the existing Document are no longer altered when Importing into the current Document - they are only altered when the "New Document" option is enabled on Import.
    • re-engineered several areas of the code to be up to several orders of magnitude faster when Importing or Exporting large (or extreme) numbers of materials and/or groups.
    • Optimized UV-compression code once again - there's really no good reason to not use the "Compress" option when Exporting now.
  • Bug Fixes:
    • Fixed all string naming (materials, groups, etc.) to allow for full 8-bit characters.
    • Fixed Export module to apply current (global) rotation matrix to exported Normals [hard to believe this bug existed so long before I heard about it...].
    • Fixed a rare (?) Export crash-bug.
    • Fixed bug where... you can now (once again) directly load a .mtl file (ie. instead of a .obj file).
    • Fixed potential crash bug if Texture Tag is missing Material.
    • Fixed confirmed crash bug if Texture Tag is missing Material (separate from above).
    • Fixed potential crash bug if Selection Tag has out-of-range values.
    • Fixed bug with UVs and Norms on triangles if not compressing.
    • Finally fixed UV-Baking to correctly handle offset/scaling from Texture Tag.

 

v2.2

Additional Cinema 4D Release/compatibility changes, bug fixes, etc...

  • New Feature: UV and Normal compression/optimization is now an user export option - compression is still enabled by default, but it was brought to my attention that certain plugins (tree/shrub-generation, for example) generate UVs that caused my compression code to take an extremely lengthy time to process (on huge files)... this option will let you disable compression, which will greatly speed up exporting, but also greatly increase the resulting .obj file size (basically, a UV vertex is exported for every point of every polygon).

    In the one example I was looking at, ~550,000 UVs were written out (without compression) instead of ~125,000 (with compression) - the resulting output .obj file went from ~13mb to ~25mb - but of course it only took a few seconds to export, instead of a full minute or more that the compression was taking, so choose your poisen :).
  • Bug Fixes:
    • Fixed memory-leak when Importing with "Split by Group" set.
    • Fixed R12 Vertex-Normal Export bug.
    • Fixed MDD Export scaling issue (a bug that forced a 1000x scaling should now be fixed).
    • Fixed funky file-select dialog initial path issue (folder/sub-folder no longer set as filename-prompt).
  • .mtl file Export changes:
    • Material names now come fom Materials used by Texture Tags instead of restricted Poly Selection Tag names.
    • Transparency channel color now exported (and imported) as 'Tf' record (Transmission Filter) color.
    • No longer exports diffuse color if the Color channel not enabled (except for the 'default' material).
    • New default diffuse color for 'default' material (similar to R12 default color).
    • Better handling of non-standard materials (Material name still used and polys still get assigned, instead of being moved to 'default' material).
    • Added support for my up-coming xAlpha Shader (to get texture filename).
  • Internal restructuring: Some additional internal restructuring (and bullet-proofing) of the code was done to allow me to share (even) more common code between plugins... while most of these changes are internal (and transparent to the user), pretty much the entire plugin has gone through an overhaul at the source-code level.

 

v2.1

R11.5 / R12 compatibility update build (the plugin was not updated for earlier versions of Cinema 4D)...

  • Internal restructuring: Some additional internal restructuring (and bullet-proofing) of the code was done to allow me to share more common code between plugins.
  • Mac 64bit Export Bug Fix: With the previous (v1.7) release, there was an odd bug when Exporting .obj files - which only seemed to occur in the 64bit Mac version, when using R11.5. This same bug may have also carried over into the recent (v2.0) 64bit Mac R12 build. In either case, it should now be fixed.

 

v2.0

Initial R12 compatibility build... no new or changed features.

 

v1.7

This update adds .mdd file Import/Export abilities, along with some other changes...

  • New Feature: MDD File Import*...
    A new option will allow you to Import Mesh Deformation Data (.mdd) files. [
    * NOTE: The .mdd Import plugin is only available in the R11.026 or later version of Riptide Pro.]
  • New Feature: MDD File Export...
    A new option will allow you to Export Mesh Deformation Data (.mdd) files.
  • Removed the old "Reset Preset Defaults" menu...
    It wasn't actually doing anything anymore.
  • Reduced exported UV precision to 5 digits...
    This will make exported files smaller and is still plenty of precision for >99,999 pixel dimension bitmaps.
  • Vertices and Normals are now written out in short-hand notation...
    This is a bit less 'visually' neat, but will produce smaller file sizes.
  • Fixed a few minor bugs.
  • The style/graphics of the HTML documenation was updated.

 

v1.6

This update adds multi-file Import abilities and addresses a few issues and/or bugs with previous versions...

  • New Multi-File Import option(s)...
    A new option will allow you to Import multiple .obj files in a single operation. When the new "Multiple/Batch Files" option is enabled, you will be presented with a 'folder' requester dialog instead of the normal 'file' dialog and you also have two additional options...
    • Include Sub-Folders - when this option is enabled, sub-folders are also searched for files and any .obj files found within them are also Imported.
    • Folder Tree as Hierarchy Tree - when this option is enabled (only available when the above option is also enabled), each sub-folder is converted to a 'branch' of the Object Manager hierarchy (a Null object is created, using the sub-folder name and any .obj files within that folder are set up as children of that Null object).
  • Fixed "Scale Up/Down" option when Exporting...
    There was a bug in the dialog code that did not allow this option to be changed... fixed.
  • Fixed UV-baking code to be more robust (and correct)...
    The internal UV-baking code (used to consolidate various forms of mapping when exporting) has been re-worked to account for any Texture Axis Tool adjustments associated with each Texture Tag. Some additional changes were made to how and when a 'default' material gets applied. Aside from the fact that only one material can be applied to any particular polygon within the .obj file format (C4D allows you to combine them), this code is now producing expected results in every combination I've tried (ie. various combinations of mesh and texture axis adjustments, combined with various combinations of Selection Tag restrictions (including Un-restricted Texture Tags, which act as a 'default' for polygons that are not otherwise restricted to some material).
  • Polygonal Mesh Objects with no polygons no longer cause an error...
    This situation used to cause the plugin to stop all operations and display an error/warning dialog - it no longer does this (although if the mesh does have points/vertices, those would still be written to the file and a message is printed to the console).
  • Polygonal Mesh Objects with no points/vertices no longer cause an error...
    This situation used to cause the plugin to stop all operations and display an error/warning dialog - it no longer does this. It came to my attention that the built-in Cinema 4D .3ds file Importer has a habit of generating 'empty' Polygonal Mesh Objects where normally a "Null" object should be created/used (ie. as a parent/pivot-only object within the hierarchy). This fix/change, along with the one listed above makes the plugin much more 'friendly' to these situations (at the relatively small cost of some warning/notice to the user in the case where they were "expecting" all Polygonal Mesh objects to have vertices/polygons).
  • .obj files that contain only points/vertices (no faces/polygons) can now be Imported...
    This is similar to the above changes, but more closely related to Importing point-clouds and/or Morph type files (which may only have vertices, but no faces). Previous versions of the plugin would not Import .obj files with no faces.

 

v1.5

This update fixes a few issues with the License Server code as well as the multi-file export options...

  • Fixed 'Preset' code to work with License Server.
    The previous version(s) didn't store any updated Preset information when running from the License Server... fixed.
  • Fixed/adjusted some other code, relative to License Server operation.
  • The document path is no longer altered when Exporting.
    In previous versions, the plugin was (re)setting the document's "save path" to wherever you exported a .obj file. This could be a source of confusion the next time you saved your .c4d project file. With this update, the plugin no longer alters the document save path, but it still keeps track of the last folder you saved to and seeds future file/folder dialogs with that stored path.
  • Fixed a bug of not Exporting all files when doing multi-file Exports, but without saving Faces.
    For example, if you were saving only vertices, as a (set of) morph files, only the first file would be saved.
  • Re-organized the Export "Filter" tab options.
    While looking into the above issue, I decided to re-organize some of the Export options for clarification. A number of the options are simply irrelevent/ignored/not applicable if the "Export Faces" option is disabled, so they are now grouped under that option. The one slight change of actual behaivior is that the "Export Materials" option is included in the above, so the plugin won't create any .mtl files if the Export Faces option is disabled (I think the previous version would still create those files, even if there were no faces in the .obj file using the materials).

 

v1.4

This update primarily focuses on adding R11 "Multi-License" (License-Server) support, as well as (finally) adding a 64bit Mac build...

  • Riptide Pro is now compatible with the R11 Multi-License feature (when using the License-Server module).
    Both single and multi-seat support is available. If you would like to purchase a multi-seat license, please contact me with your details for pricing options. Details for using your existing (single-seat) license key with the license-server will be posted in the Riptide Pro Support Forums and also sent along with any new purchases.
  • Support has been added for Mac 64bit (Many thanks to Robert Templeton for doing the 64bit build!).
    The following configurations are now supported*:
    • PC 32bit (R9.6+, R10.1+, R11.026+)
    • PC 64bit (R9.6+, R10.1+, R11.026+)
    • Mac 32bit Universal Binary (R9.6+, R10.1+, R11.026+)
    • Mac 64bit Universal Binary (R9.6+, R10.1+, R11.026+)

* NOTES:

    • The '+' on the end of the above versions means that it will work with that version, or any later version.
    • The Cinema 4D "Layers" feature is not supported in the R9.6 versions of the plugin (or Cinema 4D).
    • There are no functional differences between the R10.1 and R11 versions of the plugin... the only reason for the R11 build is to support 64bit on the Mac. If you are using a PC or 32bit Mac, then either package should work fine.
    • Related to the above, the R11 Mac build of the plugin contains code to work with 4 different platforms (ie. Universal Binary, supporting 32bit and 64bit PPC or Intel), and is ~4 times as large as the one in the R10.1 package, so if you're not using 64bit on the Mac, you might be better off with the R10.1 download package.
  • New Phong Settings.
    Previous versions of Riptide Pro (as well as Riptide Classic) always added a Phong Tag to every imported mesh. This is now set as an option (enabled, by default), on a per-Preset basis. You can also specify the Phong Angle on a per-Preset basis.

 

v1.3

This update primarily focuses on some new Multi-File Export options, but with a few other features/changes thrown in...

  • The "Suggested Path" for textures (on Import) is now recursively searched.
    Sub-directories of the Suggested Path are now also searched for texture files, making this option more like Cinema 4D's built-in Texture Path preferences, but on a per-Preset basis.
  • UVW Tag no longer required to export UVs
    In previous versions, the plugin would scan through the document/scene to make sure each mesh had a UVW Tag and if any didn't you had the option of canceling the export or disabling the "Export UVs" option and continueing. As of this update, any mesh objects in the scene that are not already uv-mapped, will get a default "Frontal" type mapping when exported. However, if materials are being used on some or all of those polygons, and the Texture Tag for that material uses some mapping method other than UVW Mapping (like maybe Spherical or Cylindrical mapping), that mapping method will be used for those polygons - as usual.
  • Fixed a few more string-file issues.
    There were a few typos (and/or copy/paste errors) left in the language string files... while many of the language translations are still only partially translated, I think I've finally fixed any errors in them.
  • Externalized many additional strings for translation...
    With the updates to the Export side of things, I've now moved most of those strings (status and various dialog strings) to the string files as well.
  • New Export option: "Export Hidden Objects"
    By default, Riptide Pro will not Export any objects that are 'hidden' in the editor window. This new option lets you over-ride that behaivior.
  • New Multi-File Export option(s)...
    There are a host of new Export options, presented on two new Tabs of the Export dialog. Without going into details here, an overview includes:
    • Single File For Scene (mimics previous behaivior - a single .obj file is created for the scene).
    • File Per Root-Level Object
    • File Per Mesh (including an option to re-create the OM hierarchy as a directory/folder tree)
    • Animation Sequence (including a new "Animation" Tab with many options to control the output files)
      ...see the appropriate documentation sections for details.


v1.2

  • Created new Icons and Logos...
    I thought the Pro version deserved it's own icons and decided to re-invent my "Red-i Productions" logo while I was at it.
  • Finally 'fixed' logo rendering in I/O dialogs...
    In all previous versions (including Riptide Classic), the logos were being scaled oddly in the Import and Export dialogs - they're finally being rendered at the correct size.
  • Included new German strings by Mathias Weil (mad4d) - Thanks Mathias!
  • Added Mesh and Spline Layer options...
    You now have the option of creating "NewMesh" and "NewSpline" layers along with all the previous Layer options.
  • Redesigned Material Import options...
    The previous implementation of Material import control was not working exactly as I had envisioned and was somewhat confusing as well. I have redesigned how Material importing works to a) make more sense and b) added functionality. See the updated Import->Materials section for details.
  • Added a new mechanism to update existing Presets with default values for any new options...
    I have added code that will try to update any existing Presets with some 'default' values for any new options that are added or changed. For example, the previous release added new Layer options (for Phong, UVW and Normal Tags), but you had to know to manually go and enable these. This release also adds the Mesh and Spline Layer options and the code will update all of your presets to Enable these by default. Of course if you don't want these enabled, you'll have to go update your Presets manually anyway (always a good idea with a new version of the plugin).

v1.1

  • Fixed multiple 'Normal'-related bugs (both Import and Export).
    There were several issues related to Importing and at least one related to Exporting proper Normals when that option was enabled. It turns out that the test file I was using had 'bad' Normals in it (from the 3DS Habware plugin), which were confusing my results. Riptide Pro will now at least normalize these on Import. There were also issues related to flipping/swapping axis... They are now correct in all cases (reversed/adjusted as needed, when various flipping and swapping of axis take place).
  • Added "Flip X Axis" option
    (NOTE: This option, in combination with the "Swap Y/Z Axis" and "Flip Z Axis" options can completely re-orient models exported from 3DStudio's coordinate system into Cinema 4D's coordinate system).
  • Fixed up several left over "Check Box" strings in the language files.
    Many language files have incomplete translations still, but at least they have meaningfull (english) labels now :).
  • Fixed crash bug when selecting to Import a .mtl file.
    If you select a ".mtl" file instead of a ".obj" file Riptide knows to just Import the .mtl file and update/create Materials in the scene... this feature got broken during Riptide Pro development and would cause a crash - it's now fixed.
  • Added C4D "Layer" options for Phong, UVW and Normal Tags.
    You may want to enable these and "Update" your presets (if you haven't created any of your own yet, you can use the "Preset Defaults" menu option to get the updated pre-defined Presets)...
  • Added confirmation dialog to "Preset Defaults" menu option...
    Selecting "Okay" will delete all existing Presets and re-create the pre-defined default Presets for you. Selecting "Cancel" cancels the operation.
  • Fixed bug with adding Phong Tags.

v1.0

  • First release version.
    See the rest of the documentation for details of the new and enhanced features, compared to the original Riptide.