Controller Sensor
Outputs signals when the player presses buttons, moves sticks, etc. (Tg)
By default, when a new sensor is placed in the scene a wire is connected from “Is Dead” to “Respawn,” and from “Circle Button” to “De-possess.” (Tg)
The outputs from the controller sensor can be overridden by wiring a value into that output. (Tg)
The orientation of the controller sensor will dictate where the orbiting camera will start from. The sensor should face the front of the character, which will cause the orbiting camera to start on the other side facing the back of the character. (Tg)
Gizmo: Shows a preview of the imp or the axis relative to the possessed object. This can be moved, rotated, and scaled. (Tg) (Tg)
# Memory: Costs 0.0061% of the things limit per gadget.
# Object Ownership
When an object is possessed through a controller sensor, the player possessing that object “owns” the following (Tg):
- The possessed object.
- Any object contained within the possessed object (eg. within the group or surface-snapped to it).
- any object emitted by an Emitter contained within it.
This can also be set on sculpts groups puppets by wiring a Player Info value into their labels tabs.
# Output Settings
Sliders and buttons for controller outputs can be set by wire, which will be passed through to the output.
They can also be set using keyframes or similar recording gadgets. However a button setting can only be recorded as “on.” And sliders (eg. R2) will use the higher between the recorded value and its normal output.
Note that these sliders don’t do anything beyond give a visualisation of what the triggers are doing. Any changes made by dragging the slider with Cross button will be immediately overridden by the actual trigger value.
# Controller Death
A posessable controller can automatically “die,” if it has been offscreen for too long.
When dead, the controller sensor will not respond in any way, until respawned.
# Controller Mapping View
The outputs of this gadget work for Dualshock and Dualsense controllers, but also Moves controllers. At the bottom of each tab with controls outputs is a Controller Mapping View setting.
Using this, we can set the tweak menu to show us the moves controls versions for each of the button presses and gestures.
Note, this does not affect the functioning of the controller sensor. To use get a move controller’s output, it will come through the same wire as a gamepad controller’s output.
There is no need to change this setting during play.
The documentation below shows tables of how the controls map between gamepads and Moves. (See Controller I/O Page 1, Controller I/O Page 2, and Controller I/O Page 3.)
# Controller I/O Page 1
# L2 Button, R2 Button
Sends the amount the trigger is being pulled: 0 for not at all, 1 for when it is pulled all the way, 0.5 for pulled halfway.
# L1 Button, R1 Button, Triangle Button, Square Button, Circle Button, Cross Button
Sends a signal while the corresponding button is pressed.
# Controller Mapping View
The outputs on this tab map between gamepad controls and move controls in the following way:
Controller | Moves |
---|---|
L2 | Secondary motion controller T button |
R2 | Primary motion controller T button |
L1 | Secondary motion controller move button |
R1 | Primary motion controller move button |
Triangle button | Primary motion controller triangle button |
Square button | Primary motion controller square button |
Circle button | Primary motion controller circle button |
Cross button | Primary motion controller cross button |
# Controller I/O Page 2
# Left Stick, Right Stick
The X and Y values sent are relative to the current view’s angle, for example as through a camera, such that pushing “up” is always pointing away from the current view in scene-space and “left” is always pointing to the left of the current view in scene-space. (Tg) (Tg)
Use Left Stick (Local) and Right Stick (Local) to get the position of the sticks.
Note, the sticks have vertical and horizontal deadzones. A custom deadzone can be added using a timeline. (Tg)
The right stick controls the camera, unless something is wired into the right stick’s output. (Tg) (Tg)
# Directional Buttons
The X and Y (or A and B) values sent are relative to the current view, such as through a camera, such that pushing “up” is always pointing away from the current view in scene-space and “left” is always pointing to the left of the current view in scene-space. (Tg)
# Motion Sensor
The controller’s axes of tilt in radians, relative to the current player view. (Tg)
- X (camera-relative): is the pitch (nod) of the controller.
- Y (camera-relative): is the yaw (shake head) of the controller.
- Z (camera-relative): is the roll (barrel roll) of the controller.
# Touchpad Button, L3 Button, R3 Button
Sends a signal while the corresponding button is held down.
# Controller Mapping View
The outputs on this tab map between gamepad controls and move controls in the following way:
Controller | Moves |
---|---|
Left stick | Gyroscope2 + Secondary motion controller T button |
Right stick | No mapping |
Directional buttons | Face buttons |
Motion sensor movement | 1Gyroscope |
Touch pad press | Motion controllers touch spheres |
L3 | Secondary sphere to Primary base |
R3 | Primary sphere to Secondary base |
# Controller I/O Page 3
# Left Stick Local, Right Stick Local
The X and Y values are taken directly from the sticks themselves, and are not relative to the current view. (Tg)
The right stick controls the default camera, unless something is wired into the right stick’s output. (Tg)
# Up Button, Down Button, Left Button, Right Button
Sends a signal while the corresponding button is held. (Tg)
# Enter, Back
Sends a signal while the corresponding regional button for such a function is held. (Tg)
For example, in Japan a circle symbol means “Yes,” and an x symbol means “No.” And so in video games Circle button is used to enter, go forward, or confirm, and Cross button is used to exit, go back, or cancel.
# Controller Mapping View
The outputs on this tab map between gamepad controls and move controls in the following way:
Controller | Moves |
---|---|
Left stick | Gyroscope2 + Secondary motion controller T button |
Right stick | no mapping |
Up button | Secondary motion controller triangle button |
Down button | Secondary motion controller cross button |
Left button | Secondary motion controller square button |
Right button | Secondary motion controller circle button |
# Camera Properties
The controller sensor has a camera built in and ready to use. It focuses on and revolves around the controller sensor gadget itself.
# Camera Height
The height relative to the controller sensor that the camera focuses on, multiplied by the current camera distance. (Tg) (Tg)
# Camera Distance
The desired camera distance from the controller sensor. (Tg)
If the camera would go inside an object that is camera-blocking, it will move closer to the focal point to avoid this.
# Camera Tilt
The tilt around the camera’s X axis (looking up/down) relative to the focal point. So when the value is high, it looks down on the sensor. (Tg)
When the value is a low negative, it looks up towards the sensor as it would if the player moves the camera down low enough.
When the value is 0, the target angle is parallel to the “ground” or X-axisZ-axis plane. (Tg)
By default, this angle can be adjusted while playing using the right stick. As the controller sensor moves though, the camera will try to match the desired angle. (Tg)
# Field of View
What angle of the view is seen on the screen. (Tg)
To get an orthographic view for an isometric game for example, use a camera that is very far away with a very low FOV. This will limit the effect perspective has as the camera moves. (Tg)
# Aperture
Other objects in the scene will be different depths from the camera from any given view. (Tg)
Note, objects within a head tracker are also affected by aperture blurriness. (Tg)
The difference in depth from the camera is used to calculate how blurry they should be. The strength of this blurriness is defined by the aperture. A high aperture means more blur effect.
This scene blur can impact rendering performance.
# VR Scale
Affects the perceived depth of objects in the scene, as if they were smaller and closer to the camera, or larger and farther away.
# Platforming Shadow
Only takes effect when the sensor is affecting an object.
This darkens all objects to black directly below any visible part of the object the controller is attached to, regardless of a sculpt’s “cast shadows” option. This setting specifies the strength of this effect. (Tg) This setting controls the opacity of the shadow.
# Offscreen Indicator
When on and multiple players are possessing controller sensors, an indicator is shown at the edge of the screen when this controller sensor’s object is off-screen and the built-in camera is at minimum zoom and cannot let all player-possessed puppets stay on-screen at once. (Tg)
This indicator will flash if the “stay onscreen” setting is turned on.
# Stay Onscreen
When on and the controller sensor is offscreen (see offscreen indicator to see how this is defined), a countdown will be started as set in the global settings gadget. When the countdown is up, that controller sensor will “die.” (Tg)
# Important Properties & I/O (Input and Output)
Player and imp settings.
# Possession Mode
How the player can interact with the controller sensor or the attached object.
# Player 1, Player 2, Player 3, Player 4
When on, a switch allows the corresponding player to interact with the controller sensor. (Tg)
# ‘Follow Imp’ Behaviour
When using the “follow imp” setting, dictates how the attached object orients itself relative to the imp. (Tg)
# Allow Imp During Possession
When on, the imp will not move to the gizmo, but will move independently of it. Note that even when this setting is on, if the imp is hidden by global settings or the current camera’s settings, the imp will be invisible. (Tg)
When off, when a controller sensor is possessed, the imp zooms into its gizmo location, makes a “zip” sound and causes whatever object it has possessed to glow momentarily.
# Force Possession
When on, the imp will immediately possess the controller sensor when it becomes powered and the player is not yet possessing a controller sensor. (Tg) (Tg)
While on, the controller sensor cannot be depossessed.
# Depossess
When triggered, the controller sensor is possessed, and Force Possession is not active, the player depossesses this controller sensor even if the imp is hidden. (Tg) (Tg)
# Possession Visual
How the imp will be displayed once the attached object is possessed.
Note, if a Hand/Imp Tracker is following the player, the imp will not be displayed by the controller sensor.
# Imp Docking Tag
The imp will appear at the tag's transform (including position, rotation, and scale). The Tag’s white gizmo will also change into a preview of the imp when possessed. (Tg)
Note that anything apart from a tag’s Scene Space Transform output cannot be wired into this input.
# Disable Controls
When sent an “on” signal, the controller sensor will send no outputs from the player that has possessed it. (Tg)
# Miscellaneous I/O Tab
# Possessed
Sends a signal when the controller sensor is currently possessed. (Tg)
# Player Ownership
Sends a “player info” fat wire regarding who is currently possessing this controller sensor. (Tg)
# Microphone
Sends the current volume (envelope) being picked up by the possessing player’s microphone. (Tg)
# Respawn
When triggered, the possessed object is destroyed and recreated in a set position and orientation. (Tg) This position will be the last activated checkpoint if there is one. If there is no such checkpoint active, the original position the object started will be used instead.
In the time between the existing object being destroyed and a new one being created, if there is another possessable controller sensor in the scene the camera will attempt to adjust to orbit it. (Tg) (Tg)
# Die
When triggered, the controller sensor permanently stops sending output. (Tg)
Doesn’t do anything automatically beyond that, even if placed inside a possessable object or puppet. (Tg)
# Is Dead
Sends a signal while the controller sensor is in the “dead” state. (Tg)
# Offscreen
Sends a signal while the player is offscreen.
# Offscreen Death
Sends a signal when the controller sensor dies as a result of being offscreen for too long. (Tg)
# Camera Transform
The camera’s transform. (Tg)
# Hover Position
The position in the scene that the imp is hovering over. Lags when the distance from the camera changes. (Tg)
A Hand/Imp Tracker and Laser Scope can be used instead to get a less laggy hover position. (Tg)
# Using Motion Controllers
Sends a signal while the player is using motion controllers. (Tg)