Як підтримати поверхневі ручки в Unity?


18

Наша гра чудово працює з дотиком або мишкою, але поверхнева ручка, схоже, зовсім не реєструється як вказівний пристрій. Як ми можемо підтримувати ручку в Unity у рідній формі?

Це запитання на сайті Unity Answers передбачає, що ми могли б створити його як додаток UWP, але це означає обмеження себе дуже обмеженим набором фреймворків .NET (конкретно, ми втрачаємо багато бібліотек серіалізації).


Чи можете ви просто трактувати це як сенсорний ввід?
Еворлор

@Everlor, він не реєструється в Unity як сенсорний вхід. Якщо ви знаєте, як зробити так, це було б приголомшливо.
Григорій Евері-Вейр

@ArcaneEngineer Я не впевнений; на даний момент (1) виглядає дуже хитро, і я не впевнений, як це зробити (2) взагалі. Підтримка однієї з вбудованих систем введення ОС не здається, що це має бути особливо складним, але я не можу знайти ресурси для цього взагалі.
Григорій Ейвери-Вейр

2
Я не знайшов відповіді в іншому місці, як ти. Для (2) вам знадобиться DLL, викликана вашим додатком Unity, або служба Windows (або програма Win, якщо служба не виконає цю роботу), що працює поруч із вашим додатком. Вам потрібно захопити вхідні дані в цій службі / додатку з відповідного API Microsoft (перо, я думаю) і направити ці дані до програми Unity через IPC . DLL підключення до Unity direct виглядає простіше. Але чи міг він отримати доступ до відповідного API? - Я не впевнений.
Інженер

Відповіді:


0

На моєму SP3 перо працює з https://docs.unity3d.com/ScriptReference/Input-mousePosition.html і повертає Vector3 з координатами x, y та 0z. Я використовую Unity 5.6 в Linux, але якщо ручка не відображається як сенсорний вхід у Windows, я вважаю, що вона має таку саму поведінку.


3
Це коментар, а не відповідь на питання, яке є: "Як ми можемо підтримувати ручку в Єдності в рідній збірці?" .
Інженер

1
У мене недостатньо респондентів, щоб коментувати це питання, і це спрацює. Я знову перевірив це на SP3 з Windows 10 та Unity 5.2, і він правильно повідомляв про розташування поверхневої ручки, як якщо б це була миша.
користувач3362964

Дивовижно! Позиція ручки справді повідомляється, але я її не усвідомлював, оскільки крани ручки не реєструються як кліки миші. Чи маєте ви якесь уявлення про те, як розпізнати дотики ручки як клацання миші (або будь-який тип введення)?
Gregory Avery-Weir

1
Ви можете, можливо, зробити щось гакітне з виявленням, коли ручка перестає рухатись, але я не знайшов нічого у вхідному api Unity, який би правильно визначав крани. Я думаю, вам доведеться скористатися однією з пропозицій @Arcane Engineer і використати щось зовнішнє, що передає дані у вашу гру.
користувач3362964
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.