วิธีสนับสนุนปากกา Surface ใน Unity


18

เกมของเราใช้งานได้ดีด้วยการสัมผัสหรือเมาส์ แต่ปากกาพื้นผิวดูเหมือนจะไม่ได้ลงทะเบียนเป็นอุปกรณ์ชี้ตำแหน่งเลย เราจะสนับสนุนปากกาใน Unity ได้อย่างไร

คำถามนี้บนไซต์ Unity Answers แสดงให้เห็นว่าเราสามารถสร้างเป็นแอพ UWP ได้ แต่นั่นหมายถึงการ จำกัด ตัวเองให้อยู่ในเซตย่อยที่ จำกัด ของกรอบงาน. NET (โดยเฉพาะเราสูญเสียไลบรารี่ Serialization จำนวนมาก)


คุณสามารถใช้เป็นอินพุตสัมผัสได้หรือไม่?
Evorlor

@Everlor มันไม่ได้ลงทะเบียนกับ Unity ว่าเป็น touch input ถ้าคุณรู้วิธีที่จะทำมันจะน่ากลัว
Gregory Avery-Weir

@ArcaneEngineer ฉันไม่แน่ใจ; ในขณะนี้ (1) ดูยุ่งยากมากและฉันไม่แน่ใจว่าจะทำอย่างไร (2) เลย การสนับสนุนหนึ่งในระบบอินพุตในตัวของ OS นั้นไม่ได้ดูเหมือนว่ามันจะยากเป็นพิเศษ แต่ฉันไม่สามารถหาทรัพยากรได้เลย
เกรกอรี่เอเวอรี่ - ฝาย

2
ฉันไม่พบคำตอบที่อื่นเช่นคุณ สำหรับ (2) คุณจะต้องมี DLL ที่เรียกใช้โดยแอป Unity ของคุณหรือบริการ Windows (หรือแอปพลิเคชัน Win หากบริการไม่ทำงาน) จะทำงานควบคู่ไปกับแอปของคุณ คุณจะต้องคว้าปัจจัยการผลิตในการที่ให้บริการ / แอปจากไมโครซอฟท์ที่เหมาะสม API (ปากกาผมคิดว่า) และเส้นทางที่ข้อมูลเพื่อการประยุกต์ใช้ความสามัคคีของคุณผ่านทาง IPC DLL hooking เป็น Unity direct ดูง่ายขึ้น แต่สามารถเข้าถึง API ที่เป็นปัญหาได้หรือไม่ - ฉันไม่แน่ใจ.
วิศวกร

คำตอบ:


0

บน SP3 ของฉันปากกาสามารถทำงานได้กับhttps://docs.unity3d.com/ScriptReference/Input-mousePosition.htmlและส่งคืน Vector3 ที่มีพิกัด x, y และ 0z ฉันใช้ Unity 5.6 บน Linux แต่หากปากกาไม่แสดงเป็นอินพุตแบบสัมผัสใน Windows ฉันจะถือว่ามันทำงานเหมือนกัน


3
นี่คือความคิดเห็นไม่ใช่คำตอบสำหรับคำถามที่ว่า"เราจะสนับสนุนปากกาใน Unity ในงานสร้างแบบดั้งเดิมได้อย่างไร" .
วิศวกร

1
ฉันมีตัวแทนไม่เพียงพอที่จะแสดงความคิดเห็นต่อคำถามและสิ่งนี้ใช้ได้ ฉันทดสอบมันอีกครั้งด้วย SP3 กับ Windows 10 และ Unity 5.2 และรายงานตำแหน่งของปากกาพื้นผิวอย่างถูกต้องราวกับว่ามันเป็นเมาส์
user3362964

! น่ากลัว ได้รับรายงานตำแหน่งปากกาแน่นอน แต่ฉันไม่ได้ตระหนักถึงมันเพราะก๊อกปากกาไม่ลงทะเบียนเมื่อคลิกเมาส์ คุณมีข้อมูลเชิงลึกเกี่ยวกับวิธีการจดจำก๊อกปากกาเมื่อคลิกเมาส์ (หรืออินพุตใด ๆ )?
เกรกอรี่เอเวอรี่ - เวียร์

1
คุณอาจจะทำอะไรที่แฮ็คด้วยการตรวจจับเมื่อปากกาหยุดเคลื่อนไหว แต่ฉันไม่พบอะไรเลยใน Api อินพุตของ Unity ที่ตรวจพบก๊อกได้อย่างเหมาะสม ฉันคิดว่าคุณจะต้องใช้คำแนะนำ @Arcane Engineer อย่างใดอย่างหนึ่งและใช้สิ่งภายนอกที่ส่งผ่านข้อมูลไปยังเกมของคุณ
user3362964
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.