# CS:GO Weapon Skin Viewer
Inspect3D is a web application for viewing **CS:GO weapon models with skin textures** in interactive 3D.
---
## Features
- **Weapon & Skin Selection**
Choose CS:GO weapons and their skins.
- **Interactive 3D Controls**
Rotate, zoom, and pan with OrbitControls.
- **Realistic Lighting Setup**
Ambient, key, fill, and rim lights for polished PBR (MeshStandardMaterial) rendering.
- **Wireframe Toggle**
Switch between solid and wireframe mode for a stylized view.
- **Auto Rotation**
Toggle automatic rotation and adjust its speed with a slider.
- **Responsive Layout**
Canvas resizes dynamically with the window.
---
## Screenshots
---
## Installation & Setup
1. Clone the repo:
```bash
git clone https://github.com/realBoltDev/inspect3d.git
cd inspect3d
```
2. Install dependencies:
```bash
npm install
# or
yarn install
```
3. Start the development server:
```bash
npm run dev
```
4. Open in browser:
```
http://localhost:5173
```
---
## Assets
- Models (`scene.gltf`) and textures (`.png`) should be placed under:
```
/public/assets/skins/{weapon}/scene.gltf
/public/assets/skins/{weapon}/textures/{skin}.png
```
- Example:
```
/public/assets/skins/ak-47/scene.gltf
/public/assets/skins/ak-47/textures/asiimov.png
```
---
## Controls
- **Sidebar UI**
- Select Weapon → Updates available skins
- Select Skin → Loads model with correct texture
- Toggle Wireframe → Switch mesh rendering mode
- Toggle Rotation → Enable/disable auto-rotation
- Adjust Rotation Speed → Change spin rate
- **3D Canvas**
- Left Mouse Drag → Orbit
- Right Mouse Drag → Pan
- Scroll → Zoom
---
## Tech Stack
- React + Vite + TypeScript
- Three.js + GLTFLoader
- Mantine Core