| Home Page | Recent Changes | Preferences

# PlayerInput

UT2003 :: Object >> PlayerInput (Package: Engine)

The PlayerInput class processes the input from the player. Pretty straight forward.

PlayerInput is declared as within PlayerController. This gives it access to all of PlayerController's variables. As far as I can tell, the player inputs are stored in PlayerController and PlayerInput uses the following variables in PlayerController as the player's input.

    var input float
        aBaseX, aBaseY, aBaseZ, aMouseX, aMouseY,
        aForward, aTurn, aStrafe, aUp, aLookUp;

    var input byte
        bStrafe, bSnapLevel, bLook, bFreeLook, bTurn180, bTurnToNearest, bXAxis, bYAxis;

    var EDoubleClickDir DoubleClickDir;     // direction of movement key double click (for special moves)

So far it only appears as though the PlayerInput class applies mouse smoothing, inverting, acceleration, and handles dodging. So this class appears to be more of an input post-processor than an input handler. Another thing is how exactly does this class neutralize input if it simply conditions already defined input. For example:

    // Ignore input if we're playing back a client-side demo.
    if( Outer.bDemoOwner && !Outer.default.bDemoOwner )
         return;

The PlayerController class applies the inputs processed by the PlayerInput class to the viewscreen. For this it uses the UpdateRotation function. The UpdateRotation function applies the mouse movement using the following two statements.

        ViewRotation.Yaw += 32.0 * DeltaTime * aTurn;
        ViewRotation.Pitch += 32.0 * DeltaTime * aLookUp;

As you can see the aTurn and aLookUp variables of the PlayerInput class are used. So if one would like to override a players input it would be advisable to override UpdateRotation for that purpose.

## Known Subclasses

- XBoxPlayerInput

## Discussion

JoeDark: Please excuse this page, I've been away from uscript for quite a while and this is my start back into it. This page is more a stream of conciousness and observations than any sort of reference. I'm hoping someone with some working knowledge of this class will contribute.

Foxpaw: This looks like it is in fact the class that does the actual reading of inputs. (hence the input variables) That would also explain how it could modify the inputs.

Category Class (UT2003)

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In