Class Vector3Composite
A 3D vector formed from six floating-point inputs.
Inherited Members
Namespace: UnityEngine.InputSystem.Composites
Assembly: Unity.InputSystem.dll
Syntax
[DisplayStringFormat("{up}+{down}/{left}+{right}/{forward}+{backward}")]
public class Vector3Composite : InputBindingComposite<Vector3>
Remarks
Depending on the setting of mode, the vector is either in the [-1..1] range on each axis (normalized or not depending on mode) or is in the full value range of the input controls.
action.AddCompositeBinding("3DVector")
.With("Forward", "<Keyboard>/w")
.With("Backward", "<Keyboard>/s")
.With("Left", "<Keyboard>/a")
.With("Right", "<Keyboard>/d")
.With("Up", "<Keyboard>/q")
.With("Down", "<Keyboard>/e");
Fields
backward
Binding for the button that represents the right (that is, (0,0,-1)
) direction of the vector.
Declaration
public int backward
Field Value
Type | Description |
---|---|
int |
Remarks
This property is automatically assigned by the input system.
See Also
down
Binding for the button that represents the down (that is, (0,-1,0)
) direction of the vector.
Declaration
public int down
Field Value
Type | Description |
---|---|
int |
Remarks
This property is automatically assigned by the input system.
See Also
forward
Binding for the button that represents the right (that is, (0,0,1)
) direction of the vector.
Declaration
public int forward
Field Value
Type | Description |
---|---|
int |
Remarks
This property is automatically assigned by the input system.
See Also
left
Binding for the button that represents the left (that is, (-1,0,0)
) direction of the vector.
Declaration
public int left
Field Value
Type | Description |
---|---|
int |
Remarks
This property is automatically assigned by the input system.
See Also
mode
Declaration
public Vector3Composite.Mode mode
Field Value
Type | Description |
---|---|
Vector3Composite.Mode | Determines how X, Y, and Z of the resulting |
See Also
right
Binding for the button that represents the right (that is, (1,0,0)
) direction of the vector.
Declaration
public int right
Field Value
Type | Description |
---|---|
int |
Remarks
This property is automatically assigned by the input system.
See Also
up
Binding for the button that represents the up (that is, (0,1,0)
) direction of the vector.
Declaration
public int up
Field Value
Type | Description |
---|---|
int |
Remarks
This property is automatically assigned by the input system.
See Also
Methods
EvaluateMagnitude(ref InputBindingCompositeContext)
Determine the current level of actuation of the composite.
Declaration
public override float EvaluateMagnitude(ref InputBindingCompositeContext context)
Parameters
Type | Name | Description |
---|---|---|
InputBindingCompositeContext | context | Callback context for the binding composite. Use this to access the values supplied by part bindings. |
Returns
Type | Description |
---|---|
float |
Overrides
Remarks
This method by default returns -1, meaning that the composite does not support magnitudes. You can override the method to add support for magnitudes.
See EvaluateMagnitude() for details of how magnitudes work.
See Also
ReadValue(ref InputBindingCompositeContext)
Read a value for the composite given the supplied context.
Declaration
public override Vector3 ReadValue(ref InputBindingCompositeContext context)
Parameters
Type | Name | Description |
---|---|---|
InputBindingCompositeContext | context | Callback context for the binding composite. Use this to access the values supplied by part bindings. |
Returns
Type | Description |
---|---|
Vector3 | The current value of the composite according to the state made
accessible through |
Overrides
Remarks
This is the main method to implement in custom composites.
public class CustomComposite : InputBindingComposite<float>
{
[InputControl(layout = "Button")]
public int button;
public float scaleFactor = 1;
public override float ReadValue(ref InputBindingComposite context)
{
return context.ReadValue<float>(button) * scaleFactor;
}
}</code></pre></example>
The other method to consider overriding is EvaluateMagnitude(ref InputBindingCompositeContext).