max.js v0.5.0
max.js now behaves less like a demo viewport and more like a deployable 3ds Max → Three.js runtime: clearer renderer modes, stronger sync, scene-local scripting, snapshot parity, broader material coverage, and release packaging for current Max targets.
Visit clone.llc to see a website exported using max.js! More examples will be added soon!
Thank you for your support!
Note: PostFX stack cannot be exported using snapshots yet.
Baseline: v0.2.5.
New Features
- Geospatial sky — by @takram-design-engineering
- TSL presets — preset dropdowns for three.js TSL materials and texture maps by boytchev
- Snapshot Builder — one-click deployable
snapshot.html/snapshot_webgpu.htmlruntime (snapshot.json+scene.bin+ optionalscene_anim.bin+ sidecars), with scene-local layer replay. - Lightmaps in Snapshots — bake lighting/beauty passes to textures per object, material, or scene, carried through to snapshot export with built-in EXR converter (keeps viewer tonemap)
ctx.instances— runtime read/write of synced instance groups, live and in standalone.- Renderer modes — New experimental
Pathtracermode by @gkjohnson - New compact UI — Compact and minimal UI that matches 3ds Max nitrous viewport layout.
Improved
- Performance — Major performance improvement regarding sync performance. Per tick budgeting and fast path coverage expanded across the board. Expect minimal Nitrous framerate loss.
- Binary — Packed binary snapshot geometry and animation support were expanded.
- Renderer & FX — Unified post-FX stack. Shader Lab is now fully integrated to WebGPU pipeline.
- Runtime layers —
ctx.maxSceneauthored-data reads,ctx.jsowned-object tracking, camera target APIs, clone helpers, surface sampling. - Sync & native — compile-time delta layouts + material slot tables.
- Materials & textures — tightened Physical / glTF / USD Preview / V-Ray / OpenPBR / Shell / three.js / TSL / Toon / MaterialX serializers; glTF alpha; video textures (MIME + HTTP range); HTML textures; OSL Uber Bitmap; UV-tagged bake overrides.
- Normals — Tangents and normals now synced properly. Expect 1:1 match between Nitrous and Three.js
- Snapshot / Viewer parity — full light set + shadow params; three.js sky, geospatial sky, fog, HDRI, environment precedence; camera clipping + target state preserved across snapshot UI.
- ActiveShade — More stable. It's still a hack though so expect it to go off the window (just restart the viewer via macroscript)
Supported 3ds Max versions
- Built & tested: 2026, 2027.
- 2024 & 2025: compile + link cleanly against their SDKs. Not tested as I don't have old 3dsmax versions installed. Please let me know about any issues.
Install
- Copy
maxjs.gupandmaxjs_web/into your3ds Max <ver>\pluginsfolder.
Known limits
- Path tracing is experimental and live-only and not part of the stable snapshot/export contract.
- Arbitrary 3dsmax procedural texmap baking remains intentionally disabled.
- No PostFX in snapshots yet. Coming in a future release.
Each archive contains maxjs.gup + maxjs_w eb/. See Install above.