Toolverse
All skills

3d-camera-interaction

by Project-N-E-K-O

Three.js 中处理 3D 模型拖拽、缩放、边界检测的正确方法。解决鼠标移动与模型移动不同步、缩放后只能看到模型一部分等问题。

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Category
Frontend
Views
15

About this skill

Three.js 中处理 3D 模型拖拽、缩放、边界检测的正确方法。解决鼠标移动与模型移动不同步、缩放后只能看到模型一部分等问题。

How to use

  1. Zaimportuj skill do swojego projektu Three.js jako moduł obsługi kamery. Skill zawiera funkcje do obliczania dystansu kamery, pola widzenia (FOV) i wymiarów widoku ekranu.

  2. W metodzie obsługi zdarzenia mousemove oblicz zmianę pozycji myszy (deltaX, deltaY w pikselach). Zamiast używać stałej wartości panSpeed, dynamicznie przelicz piksele na współrzędne świata 3D: pomnóż zmianę pikseli przez stosunek wysokości widoku świata do wysokości ekranu w pikselach.

  3. Zastosuj przesunięcie modelu w kierunkach względnych kamery (prawo/lewo, góra/dół) używając wektorów right i up. Skill automatycznie dostosuje skalę przesunięcia do bieżącej odległości kamery.

  4. Dla ograniczeń granic: zamiast limitować pozycję środka modelu, oblicz otaczający go prostokąt na ekranie (projekcja wszystkich 8 wierzchołków bounding boxa). Pozwól na pełne przesunięcie, dopóki widoczna część modelu zajmuje wystarczającą liczbę pikseli (domyślnie 50 pikseli).

  5. Przetestuj interakcję przy różnych poziomach zoomu: upewnij się, że przesunięcie myszy o 100 pikseli zawsze przesuwa model o tę samą odległość w świecie 3D, niezależnie od odległości kamery.

  6. Jeśli model "przeskakuje" na początku przeciągania, zweryfikuj, że początkowa pozycja myszy jest zapisywana przed pierwszym obliczeniem delty, a nie pobierana z poprzedniego stanu.

Related skills

screenshot-to-code

by OneWave-AI

Convert UI screenshots into working HTML/CSS/React/Vue code. Detects design patterns, components, and generates responsive layouts. Use this when users provide screenshots of websites, apps, or UI designs and want code implementation.

Frontend
94209

browser-automation

by browserbase

Automate web browser interactions using natural language via CLI commands. Use when the user asks to browse websites, navigate web pages, extract data from websites, take screenshots, fill forms, click buttons, or interact with web applications. Triggers include \

Frontend
21175

markitdown

by K-Dense-AI

Convert various file formats (PDF, Office documents, images, audio, web content, structured data) to Markdown optimized for LLM processing. Use when converting documents to markdown, extracting text from PDFs/Office files, transcribing audio, performing OCR on images, extracting

Frontend
75173

frontend-ui-ux

by code-yeongyu

Designer-turned-developer who crafts stunning UI/UX even without design mockups

Frontend
1884

tailwind-design-system

by wshobson

Build scalable design systems with Tailwind CSS, design tokens, component libraries, and responsive patterns. Use when creating component libraries, implementing design systems, or standardizing UI patterns.

Frontend
2676

frontend-slides

by sickn33

Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual

Frontend
65135