# 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 image image image --- ## 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