Làm cách nào để hỗ trợ bút Surface trong Unity?


18

Trò chơi của chúng tôi hoạt động rất tốt với cảm ứng hoặc chuột, nhưng bút Surface dường như không đăng ký như một thiết bị trỏ. Làm thế nào chúng ta có thể hỗ trợ cây bút trong Unity trong bản dựng gốc?

Câu hỏi này trên trang Unity answer cho thấy chúng tôi có thể xây dựng nó dưới dạng ứng dụng UWP, nhưng điều đó có nghĩa là hạn chế bản thân chúng trong một tập hợp con rất hạn chế của .NET framework (cụ thể là chúng tôi mất rất nhiều thư viện Nối tiếp).


Bạn có thể chỉ coi nó là đầu vào cảm ứng?
Evorlor

@Everlor, nó không đăng ký Unity làm đầu vào cảm ứng. Nếu bạn biết cách làm cho nó làm như vậy, đó sẽ là tuyệt vời.
Gregory Avery-Weir

@ArcaneEngineer Tôi không chắc chắn; tại thời điểm này (1) có vẻ rất khó khăn và tôi không biết phải làm thế nào (2). Việc hỗ trợ một trong những hệ thống đầu vào tích hợp của HĐH dường như không quá khó khăn, nhưng tôi hoàn toàn không thể tìm thấy tài nguyên trên đó.
Gregory Avery-Weir

2
Tôi không tìm thấy câu trả lời nào khác, như bạn. Đối với (2), bạn cần một DLL được gọi bởi ứng dụng Unity hoặc dịch vụ Windows (hoặc ứng dụng Win nếu dịch vụ không thực hiện công việc) chạy cùng với ứng dụng của bạn. Bạn cần lấy các đầu vào trong dịch vụ / ứng dụng đó, từ API Microsoft thích hợp (Bút, tôi nghĩ vậy) và định tuyến dữ liệu đó đến ứng dụng Unity của bạn thông qua IPC . DLL móc vào Unity trực tiếp trông dễ dàng hơn. Nhưng nó có thể có quyền truy cập vào API được đề cập không? - Tôi không chắc.
Kỹ sư

Câu trả lời:


0

Trên SP3 của tôi, cây bút hoạt động với https://docs.unity3d.com/ScriptReference/Input-mousePocation.html và trả về Vector3 với tọa độ x, y và 0z. Tôi đang sử dụng Unity 5.6 trên Linux nhưng nếu bút không hiển thị dưới dạng đầu vào cảm ứng trong Windows, tôi sẽ cho rằng nó có hành vi tương tự.


3
Đây là một nhận xét, không phải là một câu trả lời cho câu hỏi "Làm thế nào chúng ta có thể hỗ trợ cây bút trong Unity trong một bản dựng gốc?" .
Kỹ sư

1
Tôi không có đủ đại diện để nhận xét về câu hỏi và điều này không hoạt động. Tôi đã thử nghiệm điều này một lần nữa với SP3 với Windows 10 và Unity 5.2 và nó đã báo cáo chính xác vị trí của bút bề mặt như thể đó là một con chuột.
dùng3362964

Tuyệt vời! Vị trí bút thực sự được báo cáo, nhưng tôi đã không nhận ra điều đó vì vòi bút không đăng ký khi nhấp chuột. Bạn có hiểu biết gì về cách nhận biết vòi bút khi nhấp chuột (hoặc bất kỳ loại đầu vào nào) không?
Gregory Avery-Weir

1
Bạn có thể làm điều gì đó khó khăn với việc phát hiện khi bút ngừng di chuyển nhưng tôi không tìm thấy bất cứ điều gì trong api đầu vào Unity phát hiện đúng các vòi. Tôi nghĩ rằng bạn sẽ phải sử dụng một trong những đề xuất của @Arcane Engineer và sử dụng thứ gì đó bên ngoài truyền dữ liệu vào trò chơi của bạn.
dùng3362964
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.