การออกแบบ Haptics UX

การแมปค่าคงที่ HAL-API ที่นำมาใช้ใน ขั้นตอนที่ 2 ของรายการตรวจสอบการสั่นนั้นขับเคลื่อนโดยหลักการออกแบบ UX ที่แนะนำเป็นอย่างยิ่ง หลักการออกแบบ UX กำหนดรากฐานของวิธีการ เวลา และสิ่งที่จะใช้เมื่อใช้ Android haptics API ดู Haptics ขั้นสูง: เมื่อใด อะไร และอย่างไรของ 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 เอฟเฟกต์สัมผัสโดยเหตุการณ์อินพุตไบนารี

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

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

กด Affordance Haptics

รูปที่ 4 ผลกระทบจากการสัมผัสโดยการจ่ายเงิน

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

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

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

พื้นผิวเสมือน

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

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

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

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

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

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

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

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

รูปที่ 7 เอฟเฟกต์ทางลาดขึ้นการสั่นสะเทือนที่ยาวนาน