AminTivanix2 3D Visualizer Engine is a browser-based, standalone 3D model inspection tool built on Three.js. The engine enables users to load, inspect, and interact with .glb and .gltf formatted 3D assets directly within any modern web browser — without the requirement of a server, installation, or external dependencies. All JavaScript libraries are injected inline at build time, producing a single self-contained HTML file that runs fully offline.
The application targets 3D artists, game developers, product designers, and technical reviewers who require a lightweight, portable solution for real-time 3D asset inspection. The engine supports simultaneous loading of up to seven models, GLTF animation playback, multiple lighting presets, model focus via click interaction, drag-and-drop import, and high-resolution screenshot export — all within a responsive cyberpunk-aesthetic interface built with Orbitron and Space Mono typography.
▶ Feature |
Description | Status |
|---|---|---|
| Standalone HTML Export | Build script inlines all libraries into a single portable .html file |
✅ Complete |
| Multi-Model Loading | Import and display up to 7 .glb / .gltf models simultaneously |
✅ Complete |
| Drag & Drop Import | Drop model files directly onto the viewport to load them | ✅ Complete |
| OrbitControls Navigation | Smooth orbit, pan, and zoom navigation with damping | ✅ Complete |
| Click-to-Focus | Click any loaded model to smoothly lerp the camera onto it | ✅ Complete |
| GLTF Animation Playback | Auto-detects embedded animations with a switchable selection panel | ✅ Complete |
| Lighting Presets | Studio, Outdoor, Bright, and Dim presets with one-click switching | ✅ Complete |
| Screenshot Export | Renders and downloads the current viewport as a .png file |
✅ Complete |
| Model Management Panel | Named model list with per-model focus and removal controls | ✅ Complete |
| Mobile Responsive Drawer | Full touch-optimized model management drawer for narrow viewports | ✅ Complete |
| Animated Background Grid | Drifting perspective grid with radial vignette for depth effect | ✅ Complete |
| ACES Filmic Tone Mapping | Cinematic tone mapping and sRGB output encoding via Three.js | ✅ Complete |
| Custom Build Pipeline | Python script assembles the template and injects library bundles | ✅ Complete |
| Multi-Model Auto-Layout | Models are spaced and centered automatically after each import | ✅ Complete |
| Layer | Technologies |
|---|---|
| 3D Rendering | Three.js r128 — UMD bundle, inlined at build time |
| Model Loading | GLTFLoader.js — GLTF 2.0 / GLB binary format |
| Camera Controls | OrbitControls.js — orbit, pan, zoom with inertia damping |
| Animation System | THREE.AnimationMixer — GLTF embedded clip playback |
| Build Pipeline | Python 3 · build_viewer.py — template injection and assembly |
| UI Typography | Orbitron · Space Mono — via Google Fonts |
| Tone Mapping | ACES Filmic · sRGB output encoding |
| Distribution | Single standalone .html — no server or CDN required |
▶ Engine idle state — animated hologram placeholder prior to model import
▶ Automotive asset rendered under Studio lighting with OrbitControls active
3D_Visualizer/
│
├── assets/ # Preview images for README
│ ├── main.png # Viewport idle state screenshot
│ └── CarModeltest.png # Car model render sample
│
├── libs/ # Bundled Three.js library files
│ ├── three.min.js # Three.js core (r128, UMD)
│ ├── GLTFLoader.js # GLTF / GLB format loader
│ └── OrbitControls.js # Orbit camera controller
│
├── universal_template.html # Source template with INJECT_ placeholders
├── build_viewer.py # Build script — inlines libs into template
├── AminTivanix2_3D_Visualizer.html # ► OUTPUT — final standalone viewer
├── model.glb # Sample 3D model for testing
├── requirements.txt # Python dependencies
├── .gitignore
└── LICENSE
Recommended — no Python, no build step, no internet required after download.
Go to the Releases page on GitHub.
Download
AminTivanix2_3D_Visualizer.html from the latest release.
Open the file in Chrome, Firefox, or Edge — no server needed.
Click Import Model or drag and drop a
.glb / .gltf file.
Prerequisite: Python 3.8 or higher installed on your system.
Windows
git clone https://github.com/Amin-Moniry/3D_Visualizer.git
cd 3D_Visualizer
pip install -r requirements.txt
python build_viewer.pyLinux / macOS
git clone https://github.com/Amin-Moniry/3D_Visualizer.git
cd 3D_Visualizer
pip3 install -r requirements.txt
python3 build_viewer.pyThe script reads universal_template.html, inlines three.min.js, GLTFLoader.js, and OrbitControls.js at their INJECT_ placeholders, and writes the final output to AminTivanix2_3D_Visualizer.html.
- Open
AminTivanix2_3D_Visualizer.htmlin a modern web browser. - Click Import Model (top-right) or drag and drop a
.glb/.gltffile onto the viewport. - Navigate the scene — left-click drag → orbit · right-click drag → pan · scroll wheel → zoom.
- Click any model directly in the viewport to smoothly focus the camera on it; click empty space to return to full scene view.
- Use the Lighting button in the bottom toolbar to switch between Studio, Outdoor, Bright, and Dim presets.
- Use the Animations button to view and switch between any embedded GLTF animation clips.
- Click Screenshot in the bottom toolbar to export the current viewport as a
.pngfile.
After importing, each model appears as a named entry in the model list panel on the left side of the screen (desktop) or inside the slide-up drawer accessible via the 📦 Models button in the bottom toolbar (mobile).
Each entry provides two action buttons:
| Button | Symbol | What it does |
|---|---|---|
| Focus | ◎ |
Smoothly lerps the camera directly onto that model for close inspection |
| Remove | ✕ |
Permanently removes the model from the scene and frees the slot |
◎Focus — press this to isolate any one model. The camera animates directly to it. Press it again or click empty space to return to the full scene view.
✕Remove — press this to delete a model from the scene. The slot becomes available again. Up to 7 models can be loaded simultaneously.
On mobile, tap
📦 Modelsin the bottom toolbar to open the drawer, then use the same◎and✕buttons inside the list.
For correct rendering in the engine, follow these steps in Blender before exporting:
Use Principled BSDF for all materials — the GLTF exporter only supports PBR-compatible node trees.
In the Shading workspace, connect Base Color, Roughness, Metallic, and Normal maps correctly to Principled BSDF.
Set the color space of Roughness, Metallic, and Normal textures to Non-Color to avoid incorrect rendering.
Go to
File → Export → glTF 2.0 and select GLB (single binary file) for maximum compatibility.
Enable Apply Modifiers, Include Animations, and Export Materials in the export settings panel.
The engine applies ACES Filmic Tone Mapping — PBR materials will render accurately without further adjustment.
- HDR environment map (HDRI) support for image-based lighting
- Per-model transform gizmos — position, rotation, and scale handles in viewport
- Wireframe toggle and normal map visualization overlay
- Background color and environment customization panel
- Model measurement tools — live bounding box dimension display
- Annotation system — attach text labels to model surfaces
- Export selected model back to GLB from within the viewer
- Turntable auto-rotation mode with configurable speed
- VR / WebXR mode for headset-based inspection
- Drag-and-drop texture replacement on loaded materials
- Fork the repository via the Fork button on GitHub.
- Create a feature branch:
git checkout -b feature/your-feature-name - Commit with a descriptive message:
git commit -m "Add: brief description" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request against the
masterbranch of this repository.
All derivative works must retain the name AminTivanix2 3D Visualizer Engine and credit Amin Moniry as Original Author per the LICENSE terms. Contributors may not claim sole ownership of the core engine.
This project is distributed under the MIT License with a mandatory attribution clause.
Any forks, modifications, or distributions must prominently retain the name AminTivanix2 3D Visualizer Engine and credit Amin Moniry as the Original Author and Publisher. See LICENSE for the complete terms.
© 2026 Amin Moniry (AminTivanix2) — All Rights Reserved
