Exporter Max->C4D

Hey everyone,

I’ve been working on a tool to convert full 3ds Max / Corona scenes to Cinema 4D / Corona — and I’m pretty excited about the results so far.

It’s still very much in development, but here’s what’s already working:

Geometry & Objects

OBJ-based export
Multi/Sub-Object materials with correct polygon selections
TurboSmooth/MeshSmooth baked on export (scene untouched)
Hidden objects filtering
Instance detection & linked object conversion
Layer hierarchy preserved (nested layers → Null hierarchy in C4D)
Splines with multi-segment support (closed/open, Bezier tangents, Edit Spline modifier)
Corona Proxy

Full .cgeo proxy import with library path resolution
Multi/Sub material assignment via proxy slots (index-based)
UV V-flip correction for Max→C4D convention
Animation parameters (mode, offset, speed)
ChaosScatter

Full 1:1 parameter mapping
Model hierarchy with per-node frequencies
Distribution modes (surface, spline, UV)
Translation/rotation/scale randomization
Include/exclude zones with per-zone falloffs, scales & densities
Clusters, slope/altitude/camera limiting, collision avoidance
Corona Decal

Full projection properties (size, depth, angle, bend)
Channel replacement flags (base color, specular, opacity, emission)
Bump/displacement modes (keep/replace/add)
Materials

Full Legacy → Physical material conversion
Corona Physical: base layer, roughness (Glossiness/Roughness mode), metalness, IOR, edge color
Refraction (thin mode, caustics, dispersion), opacity, displacement
Clearcoat (with absorption & bump), sheen, thin film, SSS, volumetrics
Translucency, thin absorption, anisotropy
Emission (color, map, level)
Corona Layered Material (base + N layers with masks & amounts)
Corona Light Material, Portal Material
Corona Ray Switcher, Shadow Catcher, Volume Material
Multi/Sub-Object with face-accurate selection tags
Blend Material, Standard Material & Max Physical Material (auto-converted)
Material name deduplication (instance-based comparison)
Linear → sRGB color space conversion (pure gamma 2.2)
Shaders & Textures

Corona Bitmap with tiling, offset, rotation, map channel, sRGB/linear profiles
Corona Normal (flip/swap, additional bump)
Corona Mixture/Mix with transition zone (upper/lower → Fresnel curve)
Corona Color Correct (hue, sat, brightness, contrast, per-channel gain with exposure for >100%)
Corona Triplanar (X/Y/Z projection, blending, scale/offset/rotation)
Corona AO, Round Edges, UVW Randomizer, Mapping Randomizer
Corona MultiMap (random per element/instance/polygon)
Corona Distance (near/far gradient, inside volume mode)
Corona FrontBack, Data, Wire, Select, Curvature
MultiTile/UDIM support
Falloff → Fresnel/Mixture, Noise, Checker, Gradient Ramp
CompositeTexturemap → Layer shader (20 blend modes, masks)
Output Color Map curves (sampled → Filter shader with SplineData)
Color Correction per-channel gain → Exposure + curves
Lights

Corona Lights (sphere, rectangle, disc, cylinder) with correct shapes & sizes
Intensity with proper unit conversion (Lumen, Candela, Lux, W/sr/m²)
Color temperature (blackbody) mode
IES profiles (auto-collected to export folder)
Directionality, double-sided emission, visibility flags
Corona Sun & Moon

Sun with azimuth/elevation from position, size multiplier, auto-Sky creation
Moon with phase, disk brightness, rotation, color filter
Visibility flags (direct, reflections, refractions, caustics)
Cameras

CoronaCam with focal length, sensor width, zoom factor, f-stop, ISO, shutter speed
DOF with focus distance & focus object linking
Camera clipping planes
Per-camera Bloom & Glare overrides (intensity, threshold, streaks, rotation, blur, size)
Per-camera Sharpening overrides
Per-camera Tone mapping pipeline via .conf files
Environment & Sky

Corona Sky — 3 modes: Color, Physical (Hosek/Rawfake/PRG), Shader/HDRI
Full physical sky: turbidity, horizon blur, ground color, altitude, night blueness
Clouds (amount, variety, cirrus, altitude, seed, density)
Contrails & Stars
HDRI environment with offset correction (+0.25) & intensity mapping
Global Volume Fog (CoronaVolumeMtl → render settings)
Render Settings

Progressive rendering (pass/time/noise limits)
Global Illumination (solver type, GI vs AA balance)
Bloom & Glare, Sharpening, Denoising (Optix/Intel)
Tone mapping pipeline (Simple Exposure, Vignette, White Balance, Saturation, Reinhard, Filmic, Contrast, LUT, Tint, Curves)
Photographic exposure (ISO, f-stop, shutter speed)
Caustics (surface/volume multiplier, from environment)
Fireflies filter, image filter, highlight clamping
Displacement settings, UHD Cache, max ray depth
Performance settings (adaptive light solver, OOC textures, lock sampling)
The pipeline is a MaxScript exporter + C4D Python importer. One click on each side. I’ve attached comparison renders — left is Max, right is C4D. Same scene, no manual adjustments.

Still a lot to do, but it’s getting there. Would love to hear your thoughts!

Edit: Updated the feature list — quite a lot has been added since the original post!

max2c4d.com

I have tried similar plug ins in the past and was very disappointed tbh.

If you can get this to work you will be my hero!!! I will pay for a product that work!
I buy a LOT of models online for each project… I have considered going back to max just to stop converting models all the time… then I remember why I left in the first place and rather waste time converting models
I will support you for sure, please finish this. if you need beta testers I will also be there

Hi,
I use MAX2C4D very often, and recently I’ve been testing saving MAX files to vrscene. Neither solution is perfect, but the real problem arises when a MAX scene contains external plugins or solutions that are only available in MAX. And that’s probably the case in 80% of files. MAX2C4D is a little better in this respect. I don’t know what your idea is for this problem, but I’m keeping my fingers crossed for a solution.

Dude it’s really cool, I was planning to do something similar but never found the time to tackle the project.

It seems already quite functional, have you already found how to handle UVs ? Is OBJ able to transfer hierarchical relationships and instances ?

One click on a test scene — 3ds Max Corona → Cinema 4D Corona, no manual adjustments.

Mobile house scene : First Steps in Chaos Corona for 3ds Max

Just missing a piece of the robot — not sure why yet haha


Hey!

Haha I know the feeling — it’s one of those “I’ll do it someday” projects until you finally dive in!

Good news on all fronts:

  • UVs: stored natively in the OBJ, so they come through perfectly. No issues there.
  • Instances: already implemented, they transfer just fine.
  • Hierarchy: the C4D scene hierarchy is actually built from the Max layer structure, so you get a clean, organized scene on the C4D side that mirrors how things were set up in Max.

Still polishing things up but the foundation is really solid at this point.

Don’t hesitate if you have more questions, love nerding out about this stuff!

Rémi

Hey everyone,

Happy to announce that MAX2C4D is officially live and working great!
The website is up with a full demo video, before/after renders, and a detailed feature list: https://www.max2c4d.com

Early Bird Beta is €49 — one-time payment, lifetime license, 14-day money-back guarantee.

Don’t hesitate to reach out to me here or at contact@max2c4d.com if you run into any issues or have suggestions — any feedback that can help improve the product is welcome, and I’ll make sure to keep pushing things forward.

Thanks again for the support and encouragement early on — it really helped push this forward. Would love to hear your feedback once you give it a try.

Rémi

Hi,
looks nice and interesting, a few questions:

  • i assume one needs 3dsmax (i have so no issue) just to be clear on it
  • how about ACIS workflows in max, most corona user use that there, in c4d corona we not have that yet really implemented(i mean ful acis workflow not the tinemapper in vfb)
  • what about max shaders we not have 1:1 in c4d?
  • what about mapping features we not have (several uvw channels within 1 material etc)
  • how get max node mats trasnferred, i think corona nodes in c4d cannot map the exact same?

thanks for answrs, i am aware not all can be 1:1, you seem to have made a great job! thanks!

Could you please provide a detailed explanation of how your new plugin differs from the Max to C4D plugin available here:

At first glance, both plugins appear very similar, so I would appreciate a clear comparison of the differences and advantages of your solution.

For example, as I understand it, the other plugin can convert materials for different render engines, including Corona. Could you clarify how your plugin handles material conversion and what additional features or improvements it offers compared to that plugin?

Thank you in advance.

Hi Stefan,

Yes, 3ds Max is currently needed on the export side. The plugin reads Corona materials directly from the Max scene. I’m also working on a way to bypass the need to launch 3ds Max entirely, but that’s still in early beta.

The Corona tone mapping pipeline (including ACES OT) is fully transferred via post-processing files, including per-camera overrides. Internal renderer color space (Adobe Wide RGB / ACEScg) could be added in a future update. Worth noting that a full OCIO/ACEScg end-to-end workflow is still limited in Corona for C4D itself as far as I know.

Shaders without 1:1 equivalents: For the most common shaders, I’ve mapped each one to its closest Corona C4D equivalent. For example, Falloff becomes a Mixture + Fresnel setup, Color Correction becomes Corona Output with exposure/curves mapping, CompositeTexturemap becomes a chain of Corona Mix with blend modes. Max procedurals like Cellular/Wood) aren’t converted yet — they’re bypassed for now and logged so you know what needs manual attention.

Each bitmap’s map channel is correctly assigned on the Corona Bitmap in C4D. However, OBJ only carries one UV set, so only the first UV channel is transferred geometry-side. This is a known limitation — materials point to the right channel, but UV data beyond channel 1 isn’t there yet.

The plugin rebuilds the full shader tree in C4D, which shows up correctly in Corona’s Node Editor with all connections preserved.

You’re right, a perfect 1:1 transfer is realistically impossible — there will always be differences between the two platforms. My goal is to get as close as possible so you spend your time on creative work, not rebuilding materials from scratch.

I have bought this and used it twice before I deleted, this was not doing a good job for me… not sure igf it works for other people

Well, congrats, nice to see someone is doing something for c4d community :smiley:
Looking good on presentation.
Hope will manage to buy it on discount.

Do you plan to make it work opposite in future? It would be awesome, that way you can share back project with someone who is working in max to continue to work on a project.

Thanks! That’s exactly why I’m working on this — the C4D community deserves proper tools, not half-baked solutions where you spend more time fixing the import than actually working.

3dsMax → Cinema 4D — Corona — imported with MAX2C4D, no manual tweaks

The scene is the Fully Furnished Art Deco Apartment from Bertrand Benoit — dozens of Corona materials, mixed lighting, proxies, HDRI. A real project, not a demo scene rigged to look good.
The workflow: export from Max, import in C4D, render. No texture reassignment, no lights to reconfigure, no materials to redo by hand.
In most cases, the renders come out nearly identical — without any manual adjustments.

Here’s what gets translated automatically :

Corona Physical & Legacy materials (IOR, SSS, thin shell, volumes, clearcoat…)
CoronaLight, CoronaSun, HDRI (offset corrected)
.cgeo proxies with materials and UVs
Multi/Sub-Object → selection tags
Complex textures: CoronaBitmap, ColorCorrect, Mix, Layered, Triplanar, AO, MultiMap, Falloff
Cameras (position, rotation, FOV, DOF)
MAX2C4D is not a generic exporter. Every conversion has been calibrated to faithfully reproduce Corona rendering — gamma formulas, falloff curves, units, tiling modes, everything has been manually verified.

If you work in Max and need to bring scenes into C4D, or collaborate across both — that’s what it’s built for.

And here’s a full demo of the workflow in action:

More info and download: https://max2c4d.com/

Ok, bought it tonight, so i managed to activate it in cinema, but in max i get the message

I was able to export file but when i click on licence it asks for a key again.

Tested it few times, so what i would like to have is when i import model/scene is to import it in a new file because when i import it in exsiting it changes my resolution which i dont want.

Anyway, comparing to maxtoc4d is WAY better, a lot faster, correct materials, good job!

Random guess: perhaps you need to reinstall .NET framework - Download .NET Framework - free official downloads | .NET

Thats the first thing i tried but didnt work :smiley:
Dev sent me new version, working all good now.

Would like to have in future updates if possible max vray → cinema corona, half of models i buy are in max vray.

Great work, I have made a few similar scripts taking 3dsmax > c4d, not as compresehisive as yours but I know how much work is involved, well done!

A couple of nitpicks if you don’t mind (I always enjoy a challenge):

  1. Scatters appear a different seed
    1.png

  2. Camera FOV is offset:
    2.png

  3. Backround (mayble hdri) seems like a different rotation.

Otherwise great job.

For me, the new max2c4d plugin is an absolute game changer.
It works really seamlessly. I used MaxtoC4d before, but had to constantly adjust things.
I work via a shared folder, PC and Mac. Works perfectly.

ok i just bought it, looking forward for a smoother max 2 c4d workflow and better results than the old plugin that was availbale for years, by another person (it was ok but really not perfect).

the fact that most assets are for max, made me almost switch to max, i hope this tool can improve the assets situation:)
i let you know my tests

thx for this tool, i love good c4d plugins:)
cheers
Stefan

Can we have a mail notification when plugin is updated?