Skip to content

3D and 2D Visualization

hifihedgehog edited this page Mar 19, 2026 · 31 revisions

3D and 2D Visualization

When you open a virtual controller's configuration page, the first tab shows an interactive controller visualization. PadForge selects the appropriate view based on the virtual controller type. The visualization provides real-time visual feedback of every button press, stick movement, trigger pull, key press, or MIDI note as they happen.

Controller 3D View

Controller 2D View


Which View Is Shown

PadForge automatically selects the visualization based on the controller type and settings:

Controller Type Condition View Shown 2D/3D Toggle
Xbox 360 Default 3D controller model Visible (click to switch)
Xbox 360 "Use 2D View" enabled in Settings 2D overlay view Visible (click to switch)
DualShock 4 Default 3D controller model Visible (click to switch)
DualShock 4 "Use 2D View" enabled in Settings 2D overlay view Visible (click to switch)
DirectInput Xbox 360 or DS4 preset 3D or 2D model matching the preset Visible (click to switch)
DirectInput Custom preset Schematic view (procedural) Hidden
Keyboard+Mouse Always Keyboard and mouse preview Hidden
MIDI Always Piano keyboard and CC sliders Hidden

When a view does not support 2D/3D toggling, only the appropriate view is shown and the toggle button is hidden.


3D Controller Model

The 3D view renders a detailed Xbox 360 or DualShock 4 controller model using HelixToolkit.WPF. The model shown matches your virtual controller type: Xbox 360 slots show the Xbox model, DualShock 4 slots show the DS4 model, and DirectInput slots with a gamepad preset show the model matching that preset.

Navigation

Action Mouse Touch
Rotate Left-click and drag Single-finger drag
Zoom Scroll wheel Two-finger pinch
Pan Right-click and drag Two-finger drag (midpoint-based)
Reset View Click "Reset View" button Click "Reset View" button

Rotation is turntable-style: horizontal dragging rotates the model around the vertical axis (yaw), and vertical dragging tilts it forward/backward (pitch). Pitch is clamped to 60 degrees in either direction to keep the model visible. The sensitivity is 0.5 degrees per pixel of mouse or touch movement.

Tips for the best 3D view angle:

  • Start from the default front-facing view and make small rotations to see a specific area (such as the triggers or bumpers on top).
  • If you lose your bearings, click "Reset View" to snap back to the default angle.
  • Zoom in to inspect specific button placements before using click-to-map.
  • Use right-click drag (or two-finger drag on touch) to pan the camera if the area you want to see is off-center after zooming.

Live Highlighting

The 3D model responds in real time to your physical controller input:

  • Buttons swap to an accent-colored material (blue) when pressed, and return to their default color when released. Multi-mesh buttons (such as the Xbox face buttons with their colored overlays) highlight together.
  • Thumbsticks physically tilt on their pivot points to show the current stick position. The tilt angle is proportional to the deflection. Additionally, the stick ring material gradient-blends from default to accent color based on how far the stick is deflected.
  • Triggers rotate downward on their pivot points to show how far they are pulled, and their material gradient-blends toward the accent color based on the trigger value (0 to 1).
  • D-Pad directions swap to accent-colored material when active.

Click-to-Map

You can click directly on any button, trigger, D-Pad direction, or stick ring on the 3D model to start recording a mapping for that output. After clicking, press a button or move an axis on your physical controller, and PadForge will automatically assign it. This is a quick alternative to using the Button and Axis Mappings grid.

Stick ring quadrant detection: When you click on a stick ring, PadForge determines which axis direction to map based on where you click:

  • Click the center of the stick to map the stick button (L3/R3).
  • Click the right/left side to map the positive/negative X axis.
  • Click the top/bottom to map the negative/positive Y axis.

Map All Flash Animation

When using the "Map All" feature on the Button and Axis Mappings page, the 3D model highlights each output in sequence with an orange flash at 400ms intervals. For stick axes, a directional arrow and a quadrant wedge overlay appear on the stick ring to indicate which direction is being mapped. The flash continues until that mapping is recorded, then moves to the next output.


2D View

You can toggle between the 3D model and a 2D overlay view by clicking the view mode button in the top-right corner of the Controller tab. The 2D view uses PNG image overlays positioned on a flat controller diagram. Each button and axis region highlights in real time, just like the 3D view.

The 2D view supports the same interactions as the 3D view: live input highlighting, click-to-map, hover previews, and Map All flash animation. All operate on the same target names and produce the same mapping results.

The 2D view can be useful on systems where 3D rendering performance is limited, or if you simply prefer a flat layout. Your preference is saved in Settings and persists across sessions.

Stick interaction in 2D: Stick overlays translate (slide) to follow stick input rather than tilting like the 3D model. When hovering over a stick ring, a quadrant wedge highlight appears showing which axis direction you would map by clicking. The center of the stick ring maps the stick button (L3/R3), while the four edges map the X/Y positive and negative axes.

Trigger fill effect: Triggers display as a "gas tank" fill that rises from the bottom of the trigger image as you pull the trigger. At zero the trigger appears empty; at full it shows the complete highlight overlay.


Custom DirectInput Schematic View

When a slot is set to DirectInput output with the Custom preset, the visualization switches to a procedurally-generated schematic view instead of a standard controller model. This schematic is built dynamically from your DirectInput configuration and automatically rebuilds whenever you change the axis, button, or POV counts.

  • Thumbsticks — Shown as circular stick widgets with crosshair lines and a position dot that tracks the current axis values. One for each stick defined by the ThumbstickCount setting (up to 4 sticks). Each stick consumes two axes (X and Y).
  • Triggers — Shown as vertical bar indicators that fill from bottom to top based on the axis value. One for each trigger defined by the TriggerCount setting (up to 4 triggers). Sticks and triggers share a pool of 8 axes total.
  • POV hats — Shown as directional compass indicators with a triangular arrow that rotates to the current POV angle. One for each POV defined by the PovCount setting (up to 4 POVs). If there is only one POV, it is labeled "D-Pad"; with multiple POVs they are numbered.
  • Buttons — Displayed as a grid of numbered circles (8 per row) that fill with accent color when pressed. Sized to match the ButtonCount setting (up to 128 buttons).

All schematic elements support click-to-map and Map All flash animation. For sticks, click position determines which axis direction to map (same quadrant detection as the 3D/2D views). For POVs, click position determines which cardinal direction to map (Up, Down, Left, or Right).

If you use an Xbox 360 or DualShock 4 DirectInput preset instead of Custom, the visualization shows a standard controller model matching that layout, with the 2D/3D toggle available.


Keyboard+Mouse Preview

When a slot is set to the Keyboard+Mouse type, the Controller tab shows a keyboard and mouse visualization instead of a controller model. The 2D/3D toggle is hidden.

  • Keyboard layout — A full ANSI QWERTY keyboard (including numpad) is displayed at the top of the preview area. Each key is drawn with its label, has a tooltip showing the current mapping target, and highlights with accent color when active (either pressed physically or triggered by a mapping).
  • Mouse graphic — Below the keyboard, a contoured mouse graphic shows:
    • Left and right mouse buttons (LMB / RMB) shaped around the scroll wheel gap, highlighting with accent color when clicked.
    • Scroll wheel pill in the center, clickable for middle-click mapping. Triangular scroll-up and scroll-down arrows on the wheel highlight when scroll output is active.
    • Movement circle below the button area, with a dot that deflects to show the current mouse movement output. Hovering over the circle shows a directional arrow; clicking a quadrant maps MouseX, MouseXNeg, MouseY, or MouseYNeg.
    • Side buttons (X1, X2) on the left edge of the mouse body for back/forward button mapping.
  • Click-to-map — Click any key on the keyboard or any element on the mouse graphic to start recording a mapping for that output, just like clicking a button on the 3D controller model.

This preview gives you a visual representation of which keys and mouse buttons are currently mapped and active, making it easy to verify your Keyboard+Mouse configuration at a glance.

Keyboard and mouse preview


MIDI Preview

When a slot is set to the MIDI type, the Controller tab shows a piano keyboard and CC slider visualization. The 2D/3D toggle is hidden.

  • CC sliders — Displayed at the top as vertical bar indicators (similar to triggers), one per CC output defined in the MIDI configuration. Each slider fills from bottom to top based on the CC value (0-127). The CC number is labeled below each slider. Click a slider to start recording a mapping for that CC output.
  • Piano keyboard — A standard piano keyboard layout is drawn below the CC sliders. White and black keys are arranged in proper musical layout with note labels (e.g., "C4", "F#5") shown below white keys. Keys highlight with a pressed color when the corresponding note output is active. Black keys appear raised (higher Z-order) above white keys. Click any key to map a note output.
  • Dynamic layout — The piano and CC sections rebuild automatically when you change the MIDI configuration (note count, start note, CC count, start CC). If no notes are configured, only the CC section is shown, and vice versa.

All MIDI preview elements support click-to-map and Map All flash animation (400ms orange flash, same as all other views).


Related Pages

Clone this wiki locally