หน้านี้แสดงการแมปที่แนะนําระหว่างค่าคงที่ HAL สาธารณะกับค่าคงที่ API หากฮาร์ดแวร์ที่ประเมินไม่ได้ใช้ค่าคงที่ HAL ให้ อัปเดตรูปแบบสำรองที่อธิบายไว้ในหน้าใช้ค่าคงที่และองค์ประกอบพื้นฐาน เพื่อสร้างเอาต์พุตที่คล้ายกัน การแมปจะได้รับการช่วยเหลือจากโมเดลเริ่มต้น 2 แบบที่แตกต่างกัน ดังนี้
โมเดลแบบแยก (เรียบง่าย)
- Amplitude เป็นตัวแปรหลักของโมเดลนี้ เอนทิตีแต่ละรายการใน HAL แสดงถึงแอมพลิจูดการสัมผัสที่แตกต่างกัน
- โมเดลนี้เป็นข้อกำหนดขั้นต่ำที่จำเป็นต่อการใช้งาน Haptic UX ขั้นพื้นฐาน
- UX การสัมผัสขั้นสูงยิ่งขึ้นต้องใช้ฮาร์ดแวร์ขั้นสูงและโมเดลขั้นสูง (โมเดลต่อเนื่อง)
โมเดลต่อเนื่อง (ขั้นสูง)
- พื้นผิวและความกว้างเป็นตัวแปรสำคัญของโมเดลนี้ เอนทิตีแต่ละรายการ
ใน HAL จะแสดงพื้นผิวสัมผัสที่แตกต่างกัน แอมพลิจูดของเอนทิตี HAL แต่ละรายการจะควบคุมโดยปัจจัยการปรับขนาด (
S
) - โมเดลนี้ต้องใช้ฮาร์ดแวร์ขั้นสูง หาก OEM ต้องการใช้ UX การสัมผัสขั้นสูงกับ
VibrationEffect.Composition
(เพื่อใช้ API การสัมผัสล่าสุดให้ได้ประโยชน์สูงสุด) เราขอแนะนำให้ติดตั้งใช้งานฮาร์ดแวร์โดยใช้โมเดลนี้
- พื้นผิวและความกว้างเป็นตัวแปรสำคัญของโมเดลนี้ เอนทิตีแต่ละรายการ
ใน HAL จะแสดงพื้นผิวสัมผัสที่แตกต่างกัน แอมพลิจูดของเอนทิตี HAL แต่ละรายการจะควบคุมโดยปัจจัยการปรับขนาด (
โมเดลไม่ต่อเนื่อง
ขอแนะนำให้แมปค่าคงที่สาธารณะทั้งหมดที่ระบุไว้ใน API กับค่าคงที่ HAL ที่เหมาะสม หากต้องการเริ่มกระบวนการนี้ ให้ดูว่าอุปกรณ์กำหนดรูปคลื่นการสั่นที่มี แอมพลิจูดแบบไม่ต่อเนื่องใน HAL ได้กี่รูป คำถามที่เฉพาะเจาะจง ซึ่งมีโครงสร้างตามแนวคิดดังกล่าวมีลักษณะดังนี้ ฉันจะกำหนดเอฟเฟกต์สัมผัสแบบแรงกระตุ้นเดียว ที่มีความแตกต่างของแอมพลิจูดที่มนุษย์รับรู้ได้ในโทรศัพท์ของฉันได้กี่รายการ คำตอบของคำถามนี้จะเป็นตัวกำหนดการแมป
การกำหนดค่าคงที่ของ HAL เป็นกระบวนการที่ขึ้นอยู่กับฮาร์ดแวร์ ตัวอย่างเช่น โทรศัพท์ระดับเริ่มต้นอาจมีความสามารถด้านฮาร์ดแวร์ในการสร้าง รูปแบบคลื่นสัมผัสเดียวเท่านั้น อุปกรณ์ที่มีคอมโพเนนต์ฮาร์ดแวร์ขั้นสูงกว่าจะสร้างช่วงระดับแอมพลิจูดแบบไม่ต่อเนื่องได้กว้างกว่า และกำหนดรูปแบบคลื่นการสั่นหลายรูปแบบใน HAL ได้ การแมปค่าคงที่ของ HAL-API จะใช้ค่าคงที่ของ HAL (ใช้แอมพลิจูด ปานกลางเป็นพื้นฐาน) จากนั้นจะจัดเรียงเอฟเฟกต์ที่แรงขึ้นหรือเบาลงจากค่าคงที่นั้น
รูปที่ 14 ช่วงคงที่ของ HAL ตามแอมพลิจูด
เมื่อกำหนดจำนวนค่าคงที่ HAL ที่มีแอมพลิจูดแบบไม่ต่อเนื่องแล้ว ก็ถึงเวลา ที่จะแมปค่าคงที่ HAL และ API ตามจำนวนค่าคงที่ HAL กระบวนการแมปนี้ สามารถแบ่งค่าคงที่ของ API แรงกระตุ้นเดียวออกเป็นกลุ่มระดับแอมพลิจูดที่แยกกันได้สูงสุด 3 กลุ่ม วิธีแบ่งกลุ่มค่าคงที่ของ API จะอิงตาม หลักการ UX สำหรับเหตุการณ์อินพุตที่เกี่ยวข้อง ดูข้อมูลเพิ่มเติมได้ที่การออกแบบ UX การสั่น
รูปที่ 15 การแมปค่าคงที่ของ HAL-API: โมเดลแยก
หากอุปกรณ์รองรับค่าคงที่ HAL เพียง 2 รายการที่มีแอมพลิจูดแยกกัน
ให้พิจารณารวมค่าคงที่ HAL ระดับแอมพลิจูดปานกลางและสูง ตัวอย่างของแนวคิดนี้ในทางปฏิบัติคือการแมป EFFECT_CLICK
และ EFFECT_HEAVY_CLICK
กับค่าคงที่ HAL เดียวกัน ซึ่งจะเป็นค่าคงที่ HAL ระดับแอมพลิจูดปานกลาง หากอุปกรณ์รองรับค่าคงที่ HAL เพียงค่าเดียวที่มีแอมพลิจูดแบบไม่ต่อเนื่อง
ให้พิจารณารวมทั้ง 3 ระดับเป็นระดับเดียว
โมเดลต่อเนื่อง
โมเดลต่อเนื่องที่มีความสามารถในการปรับขนาดแอมพลิจูดสามารถใช้เพื่อกำหนดค่าคงที่ HAL ได้ คุณใช้ปัจจัยการปรับขนาด (S
) กับค่าคงที่ของ HAL (เช่น HAL_H0
, HAL_H1
) เพื่อสร้าง HAL ที่ปรับขนาดแล้ว (HAL_H0
x S
) ได้ ในกรณีนี้ ระบบจะแมป HAL ที่ปรับขนาดแล้วเพื่อกำหนดค่าคงที่ของ API (HAL_H0
x S1
= H0S1
= EFFECT_TICK
) ดังที่แสดงในรูปที่ 16 การใช้ความสามารถในการปรับขนาดแอมพลิจูดของ
โมเดลต่อเนื่องช่วยให้อุปกรณ์จัดเก็บค่าคงที่ HAL จำนวนเล็กน้อยที่มี
พื้นผิวที่แตกต่างกันและเพิ่มความแปรปรวนของแอมพลิจูดได้โดยการปรับปัจจัยการปรับขนาด
(S
) ผู้ผลิตอุปกรณ์สามารถกำหนดจำนวนค่าคงที่ HAL ตามจำนวนพื้นผิวการสัมผัสที่แตกต่างกันที่ต้องการให้
รูปที่ 16 ช่วงคงที่ของ HAL ตามพื้นผิว (HAL_H0) และสเกลแอมพลิจูด (S)
รูปที่ 17 การแมปค่าคงที่ของ HAL-API: โมเดลต่อเนื่อง
ในโมเดลต่อเนื่อง ค่าคงที่ HAL ที่แตกต่างกันจะแสดงถึงพื้นผิวการสั่นที่แตกต่างกันแทนที่จะเป็นแอมพลิจูดที่แตกต่างกัน โดยปัจจัยการปรับขนาด (S
) สามารถกำหนดค่าแอมพลิจูดได้ อย่างไรก็ตาม เนื่องจากความรู้สึกของพื้นผิว (เช่น ความคมชัด) เกี่ยวข้องกับความรู้สึกของระยะเวลาและแอมพลิจูด
เราจึงขอแนะนำให้รวมพื้นผิวและปัจจัยการปรับขนาด (ในกระบวนการออกแบบการแมป HAL-API
)
รูปที่ 18 แสดงการแมปค่าคงที่โดยการเพิ่มความแปรปรวนจากค่าคงที่ HAL หนึ่งค่าไปยังค่าคงที่ API หลายค่าที่มีความสามารถในการปรับขนาดแอมพลิจูด
รูปที่ 18 เพิ่มความหลากหลายด้วยการปรับขนาดแอมพลิจูด
สำหรับค่าคงที่ของ API ที่ปรับขนาดได้ทั้งหมด เช่น PRIMITIVE_TICK
และ PRIMITIVE_CLICK
ใน
VibrationEffect.Composition
ระดับพลังงานของค่าคงที่ของ API จะขึ้นอยู่กับพารามิเตอร์ float scale
เมื่อมีการประกาศค่าคงที่ของ API ผ่าน addPrimitive(int primitiveID, float scale,
int delay)
PRIMITIVE_TICK
และ PRIMITIVE_CLICK
สามารถออกแบบให้มีความแตกต่างกันอย่างชัดเจนได้โดยใช้ค่าคงที่ HAL ที่แตกต่างกัน ขอแนะนำให้ใช้วิธีนี้หากคุณต้องการเพิ่มความหลากหลายให้กับพื้นผิว