threejs-input

Provides a library-free mobile joystick and touch input system for Three.js projects.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/neighbor-game-ai/DreamCore-V2-sandbox --skill threejs-input
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: threejs-input
Source: https://github.com/neighbor-game-ai/DreamCore-V2-sandbox/tree/main/.claude/skills/threejs-input
Command: npx skills add https://github.com/neighbor-game-ai/DreamCore-V2-sandbox --skill threejs-input

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a lightweight, framework-free mobile joystick, action button, and touch input handlers to enable intuitive control for Three.js 3D games.

Core Features & Use Cases

  • Lightweight virtual joystick: no external libraries, responsive to touch and mouse input.
  • Action button and multi-touch support: supports jump/attack and combined view control.
  • Real-time input vectors: exposes normalized input vectors for movement and camera with simple integration into a Three.js render loop.

Quick Start

Create a joystick container in your page, initialize VirtualJoystick with that container, and feed getVector() results into your Three.js animation loop to drive movement and camera.

Frequently Asked Questions about threejs-input

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a mobile joystick to a Three.js game?

To add a mobile joystick to a Three.js game, use a lightweight virtual joystick system that provides normalized input vectors for integration into your render loop. It requires only vanilla JavaScript and DOM access without external dependencies.

How do touch controls work for Three.js 3D games on mobile devices?

Touch controls for Three.js 3D games work by capturing touch and mouse input through a virtual joystick, action buttons, and multi-touch handlers. These inputs generate real-time normalized vectors that drive movement and camera orientation directly in the render loop.

Can I use this virtual joystick input system for both desktop and mobile Three.js projects?

Yes, you can use this virtual joystick input system for both desktop and mobile Three.js projects. It is responsive to both touch and mouse input, enabling real-time 3D game controls across touch devices and desktops.

Do I need external libraries to implement touch and joystick controls in Three.js?

No, you do not need external libraries to implement touch and joystick controls in Three.js. This approach provides a framework-free solution requiring only vanilla JavaScript and DOM access to handle movement, camera orientation, and action buttons.

How do I integrate joystick movement vectors into a Three.js animation loop?

To integrate joystick movement vectors into a Three.js animation loop, initialize the joystick with a DOM container and feed the normalized vectors from the getVector() API into your render loop to drive real-time 3D movement and camera orientation.