docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class Vector3Composite

    A 3D vector formed from six floating-point inputs.

    Inheritance
    object
    InputBindingComposite
    InputBindingComposite<Vector3>
    Vector3Composite
    Inherited Members
    InputBindingComposite<Vector3>.valueType
    InputBindingComposite<Vector3>.valueSizeInBytes
    InputBindingComposite<Vector3>.ReadValue(ref InputBindingCompositeContext, void*, int)
    InputBindingComposite<Vector3>.ReadValueAsObject(ref InputBindingCompositeContext)
    InputBindingComposite.FinishSetup(ref InputBindingCompositeContext)
    InputBindingComposite.GetExpectedControlLayoutName(string, string)
    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
    Vector2Composite

    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
    Vector2Composite

    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
    Vector2Composite

    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
    Vector2Composite

    mode

    How to synthesize a Vector3 from the values read from up, down, left, right, forward, and backward.

    Declaration
    public Vector3Composite.Mode mode
    Field Value
    Type Description
    Vector3Composite.Mode

    Determines how X, Y, and Z of the resulting Vector3 are formed from input values.

    See Also
    Vector2Composite

    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
    Vector2Composite

    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
    Vector2Composite

    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
    InputBindingComposite.EvaluateMagnitude(ref InputBindingCompositeContext)
    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
    EvaluateMagnitude()

    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 context.

    Overrides
    InputBindingComposite<Vector3>.ReadValue(ref InputBindingCompositeContext)
    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).

    See Also
    ReadValue<TValue>()
    ReadValue<TValue>()

    See Also

    Vector2Composite
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)