Skip to content

Conversation

@kpal81xd
Copy link
Contributor

@kpal81xd kpal81xd commented Mar 3, 2025

Overview

This PR aims to split the camera controls down into two core components:

  • Input Sources which represent a collection of deltas generated from one or more input devices. These can range from a mouse movement delta to a gamepad joystick delta.
  • Input Controllers which represent the constrained transformations that are to be performed e.g. orbiting around a particular focus point or camera flying (unconstrained) .

Together the deltas from an Input can be collected into a "frame" of deltas which are then applied to the specified controller to perform the required action.

Input Sources

SingleGestureSource - Single touch or virtual joystick input
DualGestureSource - Split screen touch or virtual joystick input
MultiTouchSource - Multi touch input (includes pinch handling)
KeyboardMouseSource - Keyboard and mouse input
GamepadSource - Game pad input

Input Controllers

FlyController - Applies free-fly mechanics to a base transform
OrbitController - Applies orbiting mechanics to a base transform

Design Doc

https://docs.google.com/document/d/1r2ywuzxbte6DwlEJzWgyD-fTDNyp-7P0PKLFefrgV9Y/edit?usp=sharing

@kpal81xd kpal81xd self-assigned this Mar 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants