Come supportare le penne Surface in Unity?


18

Il nostro gioco funziona perfettamente con il tocco o il mouse, ma la penna Surface non sembra registrarsi come dispositivo di puntamento. Come possiamo supportare la penna in Unity in una build nativa?

Questa domanda sul sito Unity Answers suggerisce che potremmo costruirla come un'app UWP, ma ciò significa limitarci a un sottoinsieme molto limitato del framework .NET (in particolare, perdiamo molte librerie di serializzazione).


Puoi semplicemente trattarlo come input tattile?
Evorlor,

@Everlor, non si registra su Unity come input touch. Se sai come farlo, sarebbe fantastico.
Gregory Avery-Weir,

@ArcaneEngineer non sono sicuro; al momento (1) sembra molto complicato e non sono affatto sicuro di come fare (2). Supportare uno dei sistemi di input integrati di un sistema operativo non sembra che dovrebbe essere particolarmente difficile, ma non riesco a trovare risorse su di esso.
Gregory Avery-Weir,

2
Non ho trovato risposte altrove, come te. Per (2), avresti bisogno di una DLL chiamata dalla tua app Unity o di un servizio Windows (o applicazione Win se un servizio non farà il lavoro) in esecuzione insieme alla tua app. Dovresti prendere gli input in quel servizio / app, dall'API Microsoft appropriata (Penna, credo) e instradare quei dati alla tua applicazione Unity tramite IPC . L'aggancio della DLL in Unity direct sembra più semplice. Ma potrebbe ottenere l'accesso all'API in questione? - Non ne sono sicuro.
Ingegnere,

Risposte:


0

Sulla mia SP3 la penna funziona con https://docs.unity3d.com/ScriptReference/Input-mousePosition.html e restituisce un Vector3 con coordinate x, y e 0z. Sto utilizzando Unity 5.6 su Linux ma se la penna non viene visualizzata come input tattile in Windows, suppongo che abbia lo stesso comportamento.


3
Questo è un commento, non una risposta alla domanda che è "Come possiamo supportare la penna in Unity in una build nativa?" .
Ingegnere

1
Non ho abbastanza rappresentante per commentare la domanda e questo funziona. L'ho provato di nuovo con un SP3 con Windows 10 e Unity 5.2 e riportava correttamente la posizione della penna per Surface come se fosse un mouse.
user3362964,

Eccezionale! La posizione della penna viene effettivamente segnalata, ma non me ne sono resa conto perché i tocchi della penna non si registrano come clic del mouse. Hai qualche idea su come riconoscere i tocchi di penna come clic del mouse (o qualsiasi tipo di input)?
Gregory Avery-Weir,

1
Forse potresti fare qualcosa di strano nel rilevare quando la penna smette di muoversi ma non ho trovato nulla nell'API di input di Unity che rilevi correttamente i tocchi. Penso che dovresti usare uno dei suggerimenti di @Arcane Engineer e usare qualcosa di esterno che passi i dati nel tuo gioco.
user3362964
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.