Using Superellipse PBR Textures in 3ds Max + Corona

This guide will walk you through installing the Superellipse PBR Importer plugin and loading your texture packs into 3ds Max as fully wired Corona Physical Materials — in seconds.


What You'll Need

Before getting started, make sure you have the following:

  • 3ds Max 2025 or newer
  • Chaos Corona 15 or newer
  • Windows only
  • The Superellipse PBR Importer for 3ds Max. Download it here

Tested on 3ds Max 2027 and Corona 15. Earlier versions should work but have not been formally verified.


Why the Plugin Exists

3ds Max has no native PBR importer for Corona. When you purchase a Superellipse texture pack, you receive a folder of image maps — basecolor, roughness, metallic, normal, AO, height, and more. Without the plugin, combining those into a properly configured Corona Physical Material means manually creating bitmap shaders, setting colour spaces on every map, wiring each connection, and configuring channels like clearcoat, anisotropy, glass, and displacement from scratch.

The Superellipse PBR Importer reduces the entire process to two clicks: open the menu, select a folder, done.


Step 1 — Install the Plugin

Make sure 3ds Max is open before running the installer.

Drag the file Superellipse_PBR_Importer_3dsMax.mzp directly into any 3ds Max viewport. Alternatively, go to Scripting > Run Script and select the .mzp file.

An install confirmation dialog will appear. Click OK.

The plugin copies itself to your 3ds Max startup scripts folder automatically and registers the Superellipse menu entry. No manual folder navigation is required.

Restart 3ds Max. When it reopens, a Superellipse entry will appear in the main menu bar.

Updating to a newer version: drag the new .mzp file into the viewport and click OK — it overwrites the previous version automatically. Restart 3ds Max and you are on the latest version.

Note: The Superellipse menu typically appears around 30 seconds into startup, after 3ds Max has finished loading its menu system. This is normal behaviour for MaxScript-based plugins.


Step 2 — Import a Material

In 3ds Max, go to Superellipse > Corona - Import Material.

A folder picker will appear. Navigate to your Superellipse texture folder — the one containing the image files directly inside it — and select it. The plugin remembers your last used location between sessions, so subsequent imports are even faster.

The import runs immediately. A confirmation dialog appears when the material is ready, showing how many maps were found and how many channels were wired.

The material is named automatically from the folder name. For example, Boucle_Fabric_Willow_4K becomes Boucle Fabric Willow 4K — Superellipse.


Step 3 — Apply the Material

Once imported, open the Slate Material Editor (press M). The material appears as a node on the canvas and is also listed under Scene Materials in the left panel once it has been assigned to an object.

To apply the material to an object:

  1. Select the object in the viewport
  2. In the Slate Material Editor, right-click the material node and choose Assign Material to Selection
  3. Or drag the material node directly onto the object in the viewport

All texture nodes in the graph use the SE_ prefix for easy identification — SE_BaseColor, SE_Roughness, SE_Normal, and so on.

Finding a material again: In the Slate Material Editor, expand Scene Materials on the left panel. Every material currently assigned to at least one object is listed there. Double-click any entry to open its node graph for editing.


Step 4 — Adjusting Tiling

In 3ds Max, tiling is controlled at the object level rather than inside the material. To adjust how the texture tiles across a surface:

  1. Select the object
  2. Go to the Modify panel (the wrench icon on the right side)
  3. Click the Modifier List dropdown and choose UVW Map
  4. Set the projection type — Box works for most objects
  5. Adjust the Length, Width, and Height values to control tiling scale

One UVW Map modifier controls the scale of all maps in the material simultaneously.


Step 5 — Batch Import

To import multiple materials at once, use Superellipse > Corona - Import Batch.

A brief note will appear first, reminding you to select the parent folder — not one of the texture set folders inside it. For example, if your sets are at Textures\Fabric\Boucle_4K\ and Textures\Fabric\Tweed_4K\, select the Fabric folder.

The plugin scans one level of subfolders and presents a scrollable checklist of everything it finds. Tick the sets you want — use Select All or Deselect All for large libraries — then click Import Selected.

How imported materials are stored
Each imported material is assigned to its own hidden sphere, all parented under a single object called Superellipse Materials in the scene tree. This keeps every material listed in the Scene Materials panel at all times, giving you a persistent material tray without cluttering your working scene.

To use a material: open the Slate Material Editor (M), expand Scene Materials on the left panel, and drag any material onto your object in the viewport.

A summary dialog confirms how many materials were created and flags any that failed.

Housekeeping Note: Keep your unzipped texture folders in a permanent location before importing — the material references wherever the files are at the time of import, so moving them afterwards will disconnect the textures.


Tips & Best Practices

Enabling Displacement

If a height map is detected, the plugin wires it automatically. Displacement is off by default — tick Enable Displacement in the options dialog at import time to activate it immediately, or adjust the displacement scale on the SE_Height node in the material editor after import.

The displacement range defaults to −0.1 cm / +0.1 cm for standard materials, and 0 to +0.2 cm for folders containing the word fabric. Adjust the Min and Max displacement values in the material to control intensity.


Glass Materials

For glass and transparent materials, the plugin automatically wires the transmission weight map into Corona's Refraction Amount slot and sets the base value to 1.0 so the map takes full effect.

Glass colour depth
The colour of the glass is driven by the transmission colour map. The plugin samples the average colour of the map and applies it to the material's absorption colour. Adjust the Media Distance value to control depth:

  • A smaller Distance condenses the colour — the glass appears darker and more saturated
  • A larger Distance allows more light through — the glass appears lighter and clearer
  • Match the Distance to the approximate physical thickness of your glass object in the scene. The plugin defaults to 0.4 cm.

Smoked and milky glass
For smoked, frosted, or milky glass, both a transmission colour (absorption) and a subsurface scatter colour are detected and wired automatically when both maps are present. These work together in Corona's media system to give the glass internal depth and a cloudy quality — no additional setup is needed.


Anisotropy

Anisotropy controls the directional stretching of reflections — common in brushed metals, carbon fibre, and satin fabrics.

Full sets (weight + angle maps)
When both an anisotropic weight map and an anisotropic angle map are present, both are wired automatically. The base anisotropy value is raised to 1.0 so the weight map takes full effect.

Older sets (angle map only)
Some older Superellipse texture sets include only a single anisotropy map. In this case the plugin sets a default anisotropy weight of 0.8. To adjust, open the material and locate the Base Anisotropy value. Increase toward 1.0 for a stronger effect, decrease toward 0 to soften it.


Supported Maps

The plugin automatically detects and wires the following maps when present in your texture folder:

Base Color, Roughness, Metallic, Normal, Ambient Occlusion, Height / Displacement, Opacity, Emission, Specular, Anisotropic Weight, Anisotropic Angle, Clearcoat Weight, Clearcoat Colour, Clearcoat Roughness, Transmission Weight, Transmission Colour, Subsurface Weight, Subsurface Colour


Troubleshooting

The Superellipse menu does not appear after restart — allow up to 60 seconds for 3ds Max to fully load its menu system. If it is still missing, open the MAXScript Listener (F11) and run SE_EnsureMenu() — this re-registers the menu callback and the entry will appear on the next restart. If the problem persists, re-run the .mzp installer.

No maps found — confirm that you selected the folder containing the texture images directly inside it, not a parent folder above them. The MAXScript Listener (F11) will show which files were scanned and which were skipped, including the full folder path used.

Unzipped folder not detected — some unzip tools create an extra folder level inside the download, for example FolderName\FolderName\images.png instead of FolderName\images.png. The plugin detects and resolves this automatically when the inner folder name matches the outer one. If the names differ, navigate one level deeper when selecting the folder.

Textures appear missing after import — the material references the original location of your texture folder. If you have moved, renamed, or deleted that folder since importing, 3ds Max will no longer find the image maps. Re-run the plugin pointing to the new folder location to reimport fresh.

Material is not visible in Scene Materials — Scene Materials only shows materials currently assigned to at least one object. For single imports, assign the material to an object and it will appear. For batch imports, the holder sphere handles this automatically.

Displacement has no effect — check that the displacement scale on the SE_Height node is not zero. If you imported without ticking Enable Displacement, the map is wired but the scale is set to 0 to keep it dormant. Set the scale to a small positive value such as 0.1 to activate it.

Normal map looks inverted — bumps appear as dents — this is unlikely with standard Superellipse texture sets, as the plugin applies the correct green channel orientation for 3ds Max / Corona automatically. If it occurs with a non-standard set, open the SE_NormalMod node and toggle the Flip Green option.

Colours look washed out or roughness looks wrong — this is a colour space issue. The plugin sets colour spaces automatically on all imported materials. If setting up a material manually: Base Colour and Emission maps should use automatic / sRGB; all other maps (Roughness, Metalness, Normal, Height, AO, Opacity, Anisotropy) should use gamma 1.0 (Linear). Setting a data map to sRGB, or a colour map to Linear, is the most common cause of incorrect material response in Corona.

Batch import finds 0 sets — confirm you selected the parent folder containing your texture set folders, not one of the set folders itself. The batch tool scans exactly one level of subfolders. Sets nested deeper will not be found.

The Scripting Editor asks to reload the file after installing — click No. The installer already loaded the script into this session. The editor is simply notifying you that the file on disk was changed.

The material renders incorrectly in Arnold or another renderer — Corona Physical Materials are designed for Chaos Corona only. When rendered with a different engine, 3ds Max uses an approximation. Switch the active renderer to Corona via Render Setup (F10) to see the material as intended.

A WARN line appears in the MAXScript Listener — WARN lines mean a specific property name was not found on your Corona build. The import continues and all other channels are wired correctly. Copy the Listener output and send it to support@superellipse.co with your Corona version number.


Questions?

If you run into anything not covered here, reach out at support@superellipse.co and include the name of the texture pack you were importing, along with your 3ds Max and Corona version numbers.

×