การออกแบบแฮปติกส์ UX

การแมปค่าคงที่ HAL-API ที่นำมาใช้ใน ขั้นตอนที่ 2 ของรายการตรวจสอบระบบสัมผัสนั้นขับเคลื่อนโดยหลักการออกแบบ UX ที่แนะนำเป็นอย่างยิ่ง หลักการออกแบบ UX จะกำหนดรากฐานว่าจะใช้อย่างไร เมื่อใด และอะไรเมื่อใช้ API ระบบสัมผัสของ Android ดู การโต้ตอบการสัมผัสขั้นสูง: เมื่อใด ทำอะไร และอย่างไรของ Haptic API ใหม่ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับหลักการพื้นฐานเหล่านี้

การทำแผนที่คงที่

รูปที่ 1 การแมปคงที่ HAL-API: โมเดลแยก

เลือกเอฟเฟกต์ระบบสัมผัส

โดยความแรงของระบบสัมผัส ( VibrationEffect )

EFFECT_CLICK เป็นจุดเริ่มต้นที่ดีที่สุดในการพิจารณาความแรงของการสัมผัสที่คุณต้องการ ( VibrationEffect ): เป็นค่ามัธยฐานระหว่างการสัมผัสที่ "เบา" ของ EFFECT_TICK และการสัมผัสที่ "หนัก" ของ EFFECT_HEAVY_CLICK เมื่อเริ่มต้นด้วย EFFECT_CLICK คุณสามารถเพิ่มหรือลดพลังแห่งแนวคิดได้โดยการเพิ่มความแข็งแกร่งด้วย EFFECT_HEAVY_CLICK หรือลดความแข็งแกร่งด้วย EFFECT_TICK โปรดทราบว่า EFFECT_DOUBLE_CLICK มอบพลังแห่งแนวคิดสูงสุดเนื่องจากถูกทำซ้ำ

ความแรงของการสัมผัส

รูปที่ 2 การตั้งค่าความแรงของระบบสัมผัส

โดยเหตุการณ์อินพุตและองค์ประกอบ UI ( HapticFeedbackConstants )

หากเป้าหมายของคุณเชื่อมโยงกับเหตุการณ์อินพุตเฉพาะ (เช่น การกดค้างหรือการปัด) หรือองค์ประกอบ UI (เช่น แป้นพิมพ์) ให้ค้นหาค่าคงที่ระบบสัมผัสที่กำหนดไว้ล่วงหน้าใน HapticFeedbackConstants ชื่อของค่าคงที่แต่ละรายการอ้างอิงถึงกรณีการใช้งานเฉพาะ เช่น KEYBOARD_PRESS หรือ LONG_PRESS

จำลองเหตุการณ์การกดปุ่มในโลกแห่งความเป็นจริง

การตอบสนองแบบสัมผัสของระบบสัมผัสของเหตุการณ์อินพุต (ปุ่มซอฟท์เสมือน) สามารถจำลองการกดปุ่มโดยใช้เอนทิตีทางกายภาพ (เช่น ปุ่มแข็งแบบกลไก)

เหตุการณ์อินพุต: โฟลว์การโต้ตอบแบบคู่

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

ข่าวกิจกรรมและการเปิดตัว Haptics

รูปที่ 3 เอฟเฟกต์สัมผัสจากเหตุการณ์อินพุตไบนารี

ความแรงของการสัมผัส: ความสามารถในการกดปุ่ม

เหตุการณ์อินพุตที่มีการมีส่วนร่วมสั้นลงและเบาลงจะสัมพันธ์กับระบบสัมผัส ที่เบากว่า เหตุการณ์อินพุตที่มีการมีส่วนร่วมนานขึ้นและลึกขึ้นจะสัมพันธ์กับระบบสัมผัส ที่แข็งแกร่งยิ่งขึ้น

กดจ่าย Haptics

รูปที่ 4 เอฟเฟกต์แบบสัมผัสตามความสามารถในการจ่าย

จำลองพื้นผิวเสมือนในเหตุการณ์การป้อนข้อมูลด้วยท่าทาง

การป้อนข้อมูลตามท่าทาง (เช่น การสครับหรือการเลื่อน) สามารถจัดวางให้สอดคล้องกับพื้นผิวระบบสัมผัสเสมือนในขณะที่นิ้วกำลังเคลื่อนที่บนหน้าจอพร้อมกับ UI แบบภาพ ตัวอย่างเช่น การสร้างการตอบสนองแบบสัมผัสซ้ำ ๆ ในขณะที่นิ้วเคลื่อนที่ไปรอบๆ UI นาฬิกาด้วยเครื่องหมายถูกเสมือน องค์ประกอบ UI

เอฟเฟกต์สำหรับพื้นผิวสัมผัสเสมือนนั้นมีไว้เพื่อทำซ้ำ ซึ่งมักจะทำให้พลังงานที่รับรู้สูงกว่าแอมพลิจูด (เมื่อมีการเรียกเอฟเฟกต์ โดยไม่เกิดซ้ำ หรือ เพียงครั้งเดียว ) ด้วยเหตุนี้ ค่าคงที่ของระบบสัมผัสที่ออกแบบมาสำหรับพื้นผิวระบบสัมผัสเสมือน (เช่น CLOCK_TICK หรือ TEXT_HANDLE_MOVE ) จึงต้องมี ความละเอียดอ่อน ในการให้ความรู้สึกของการเคลื่อนไหวผ่านสัญญาณซ้ำๆ

พื้นผิวเสมือนจริง

รูปที่ 5 เอฟเฟกต์ระบบสัมผัสเพื่อจำลองพื้นผิวเสมือน

รวมความรู้สึก

หากต้องการรวมความรู้สึกเชิงบวกหรือเชิงลบไว้ในเอฟเฟกต์ระบบสัมผัส ให้ใช้ความรู้สึกที่แรงกว่ากับความรู้สึกเชิงลบเพื่อดึงดูดความสนใจของผู้ใช้

ความรู้สึกแบบสัมผัส

รูปที่ 6 เอฟเฟกต์สัมผัสพร้อมความรู้สึก

หลีกเลี่ยงเสียงรบกวนจากการสั่นสะเทือนเป็นเวลานาน

เพื่อหลีกเลี่ยงเสียงรบกวนจากการสั่นสะเทือนที่ยาวนานสำหรับระบบสัมผัสแบบตั้งใจ ให้เร่งรูปแบบอย่างราบรื่นเพื่อสร้างเอฟเฟกต์ทางลาดขึ้น ทำสิ่งนี้ได้โดยใช้ createWaveform(long[] timings, int[] amplitudes, int repeat)

การสั่นสะเทือนที่ยาวนาน

รูปที่ 7 เอฟเฟกต์การเพิ่มระดับการสั่นสะเทือนแบบยาว