KeyLogic
Een input plugin wat fungeert als tussenlaag tussen de gebruiker/designer en het ingebouwde UnityEngine.Input systeem. Met Keylogic kan een game developer/designer/artist zelf InputActions maken in een daarvoor gebouwde editor.
In deze Editor kan de gebruiker een naam voor de actie invoeren, wat voor soort Actie het is (Axis, Key), wat voor soort interactie het is (OnKeyDown, OnKeyUp, Continuous) en hier een standaard toetsenbord/muis of gamepad knop aan verbinden. Ook is het mogelijk om modifier keys te gebruiken zodat combinaties als shift + e een mogelijkheid worden.
Deze InputActions worden als Control Scheme opgeslagen in een ActionDatabase ScriptableObject. Hierdoor ontstaat de mogelijkheid om verschillende Control Schemes in verschillende contexten te gebruiken. Als voorbeeld: Een Control Scheme voor menu navigatie en een andere voor player movement.
Zodra de gebruiker tevreden is over de gemaakte ControlSchemes is er de optie om deze te exporteren naar C#. Zo kan de InputAction als enum worden aangeroepen. Dit voorkomt typefouten. Uiteraard blijft het ook mogelijk om gewoon strings te gebruiken.
KeyLogic zal als USP de mogelijkheid hebben om deze Control Scheme door de speler in-game aan te laten passen. De speler heeft een overzicht van de Control Scheme die de designer heeft aangemerkt als “aanpasbaar” door de speler.
Wanneer de speler een Control Scheme selecteert, kan de speler alle InputActions bekijken en indien gewenst een eigen aangepaste toets(combinatie) binden aan een InputAction. Deze informatie wordt dan vervolgens lokaal opgeslagen.
Why?
Het huidige Input systeem van Unity is vrij beperkt en heeft geen mogelijkheid tot aanpassing nadat de applicatie gebouwd is. Daarnaast is er geen standaard manier om toetsencombinaties te gebruiken en aan te passen in zowel de editor als in-game. Met KeyLogic wordt het mogelijk om dit alles aan te passen.
Voor wie?
Mensen die basis scripting kennis van Unity hebben tot aan ontwikkelaars die geen tijd willen besteden aan het opzetten van een aanpasbaar control scheme.
Definities
InputAction
Basis actie met de volgende eigenschappen:
KeyAction
Stamt af van InputAction. Specifiek gericht op toetsen.
AxisAction
Stamt af van InputAction. Specifiek gericht op assen.
InputActionDatabase
Collectie van alle InputActions
Feature set:
KeyLogic
Input systeem.
Users can use this editor window to manage saved data and create new data. This window can be used to create new control-schemes and manage Actions and their corresponding bindings. When done creating actions, this window can generate these actions for typesafe use in scripts.