[HIG] Playing Haptics πŸ“³

LilyΒ·2022λ…„ 9μ›” 25일
0
post-thumbnail

μ•ˆλ…•ν•˜μ„Έμš”!

ν˜Ήμ‹œ 뢐뢐폰 κΈ°μ–΅ν•˜μ‹œλŠ” λΆ„...κ³„μ‹œλ‚˜μš”?

(사진 좜처: https://m.cetizen.com/review.php?pid=1348&q=view&vcat=1&pno=1348)

어릴 λ•Œ κ°€μž₯ 가지고 μ‹Άμ—ˆλ˜ ν•Έλ“œν°μ΄μ—ˆλŠ”λ°μš”. μ§€κΈˆμ€ 진동이 ν”ν•˜μ§€λ§Œ, μ΄λ•ŒλŠ” 혁λͺ…μ΄μ—ˆμ£ .. λͺ¨λΈμ΄ 뢐뢐폰을 λ“€κ³  λˆ„μ›Œμ„œ μ˜€ν† λ°”μ΄ νƒ€λŠ” 흉내λ₯Ό λƒˆλ˜... κ΄‘κ³ κ°€ 제 λ§ˆμŒμ„ μ‚¬λ‘œμž‘μ•˜λ˜ 기얡이 아직도 μƒμƒν•˜λ„€μš”

μ˜€λžœλ§Œμ— 보고 μ‹Άμ–΄μ„œ μ°Ύμ•„λ΄€μŠ΅λ‹ˆλ‹€γ…‹γ…‹γ…‹
'λ‚΄ 손 μ•ˆμ˜ μ˜€ν† λ°”μ΄ 슀카이 뢐뢐폰' κ΄‘κ³ 

μ§€κΈˆ 봐도 κ°–κ³ μ‹Άλ‹€.. λ„ˆλž€ 뢐뢐❀️

κ·Έλž˜μ„œ μ• ν”Œμ˜ haptic κΈ°λŠ₯에 더 애착이 κ°€λŠ” 것 κ°™μ•„μš”...


μΆ”μ–΅ νŒ”μ΄μ— μ˜€λŠ˜μ€ μ„œλ‘ μ΄ κΈΈμ—ˆλ„€μš”.
μ˜€λŠ˜μ€ μ œκ°€ 개인적으둜 μ’‹μ•„ν•˜λŠ” κΈ°λŠ₯인, haptic을 μ‚¬μš©ν•˜λŠ” κ°€μ΄λ“œμ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€!πŸ˜†

πŸ™Œ μ›λ¬Έμ—μ„œ 햅틱을 μ‹€μ œλ‘œ ν”Œλ ˆμ΄ν•΄ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€
원문 : Playing haptics
μ°Έκ³  WWDC : Practice audio haptic design


Playing haptics πŸ“³

햅틱을 μ‚¬μš©ν•˜λ©΄ μ‚¬λžŒλ“€μ˜ 촉각을 λŒμ–΄λ“€μΌ 수 있고, μ‹€μ œ μ„Έκ³„μ˜ μΉœμˆ™ν•¨μ„ μ•±κ³Ό κ²Œμž„μ— κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

Apple pay νŠΈλžœμž­μ…˜μ˜ ν™•μΈμ΄λ‚˜ iOS, watchOSμ—μ„œ μ•Œλ¦Ό λ„μ°©μ‹œ μ‹œκ°μ , 청각적 ν”Όλ“œλ°± 외에 햅틱을 μž¬μƒν•΄μ„œ ν”Όλ“œλ°±μ„ 쀄 수 μžˆμŠ΅λ‹ˆλ‹€. Force Touch trackpadλ₯Ό κ°–μΆ˜ Macμ—μ„œ 앱은 컨텐츠λ₯Ό λ“œλž˜κ·Έν•  λ•Œ 햅틱을 μž¬μƒν•˜κ±°λ‚˜, λ‹€μ–‘ν•œ κ°•λ„λ‘œ ν΄λ¦­ν•˜μ—¬ ν™”λ©΄ μš”μ†Œμ—μ„œ λ‹€μ–‘ν•œ μˆ˜μ€€μ˜ λ³€ν™”λ₯Ό λ§Œλ“€μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. tvOS, iPadOSμ—μ„œλŠ” game controllerκ°€ ν–…ν‹± ν”Όλ“œλ°±μ„ μ œκ³΅ν•  수 있죠.

ν”Œλž«νΌμ— 따라, μ‹œμŠ€ν…œμ€ ν‘œμ€€ μ»΄ν¬λ„ŒνŠΈμ— λ””ν΄νŠΈλ‘œ ν–…ν‹± ν”Όλ“œλ°±μ„ μ œκ³΅ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ iPhone은 switches, sliders, picekrsκ°€ ν–…ν‹± ν”Όλ“œλ°±μ„ μžλ™μœΌλ‘œ μž¬μƒν•©λ‹ˆλ‹€. Apple watchλŠ” Taptic Engine이 λ§Œλ“  ν–…ν‹±κ³Ό audible tone을 μ‘°ν•©ν•΄μ„œ μž¬μƒν•©λ‹ˆλ‹€. (HIG μ‚¬μ΄νŠΈμ— μƒ˜ν”Œλ“€μ΄ μžˆμ–΄μš”!) λ˜ν•œ μ‹œμŠ€ν…œμ€ μ•±κ³Ό κ²Œμž„μ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” 빌트 인 ν–…ν‹± νŒ¨ν„΄μ„ μ œκ³΅ν•˜κ³ , ν–…ν‹± νŒ¨ν„΄μ„ μ»€μŠ€ν…€ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

Best practices

1. μ‹œμŠ€ν…œμ΄ μ œκ³΅ν•˜λŠ” ν–…ν‹± νŒ¨ν„΄μ€ λ¬Έμ„œν™”λœ μ˜λ―Έμ— 따라 μ‚¬μš©ν•˜μ„Έμš”

μ‹œμŠ€ν…œμ€ μŠ€νƒ λ‹€λ“œ 컨트둀과의 μƒν˜Έμž‘μš©μ‹œ μŠ€νƒ λ‹€λ“œ 햅틱을 μΌκ΄€μ μœΌλ‘œ μž¬μƒν•©λ‹ˆλ‹€. (예λ₯Όλ“€μ–΄ 피컀λ₯Ό μ‚¬μš©ν•  λ•Œ "λ“œλ₯΄λ₯΅" 햅틱이 μž¬μƒλ¨) κ·ΈλŸ¬λ―€λ‘œ μ‚¬λžŒλ“€μ€ μŠ€νƒ λ‹€λ“œ 햅틱을 이미 μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€. λ§Œμ•½ ν–…ν‹± νŒ¨ν„΄μ˜ λ¬Έμ„œν™”λœ μ‚¬μš© μ˜ˆκ°€ λ‹Ήμ‹  μ•±μ˜ μ‚¬μš© μΌ€μ΄μŠ€μ™€ μ–΄μšΈλ¦¬μ§€ μ•ŠλŠ”λ‹€λ©΄ μžμ‹ λ§Œμ˜ ν–…ν‹± νŒ¨ν„΄μ„ λ§Œλ“€μ–΄μ„œ μ‚¬μš©ν•˜μ„Έμš”.


2. 햅틱을 μΌκ΄€μ μœΌλ‘œ μ‚¬μš©ν•˜μ„Έμš”

각 ν–…ν‹±κ³Ό 햅틱을 μœ λ°œν•˜λŠ” μ•‘μ…˜ 사이에 λΆ„λͺ…ν•œ 인과 관계λ₯Ό λ§Œλ“€μ–΄μ•Όν•©λ‹ˆλ‹€. λΆ„λͺ…ν•œ 인과 κ΄€κ³„λž€'μ΄λŸ¬ν•œ 상황엔 μ΄λŸ¬ν•œ 햅틱이 μž¬μƒλ˜μ–΄μ•Όν•΄.'와 같은 연관을 μ˜λ―Έν•©λ‹ˆλ‹€. λ§Œμ•½ ν–…ν‹±μ˜ 인과 관계λ₯Ό μ œλŒ€λ‘œ λ§Œλ“€μ§€ μ•ŠλŠ”λ‹€λ©΄, μ‚¬μš©μžλŠ” ν˜Όλž€ 슀러울 수 있고, 햅틱을 λ¬΄μ˜λ―Έν•˜κ²Œ 생각할 수 μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, κ²Œμž„ 캐릭터가 λ―Έμ…˜μ„ μ‹€νŒ¨ν–ˆμ„ λ•Œ νŠΉμ • 햅틱을 μž¬μƒμ‹œν‚€λ©΄, μ‚¬λžŒλ“€μ€ κ·Έ ν–…ν‹±μ—” 뢀정적 κ²°κ³Όλ₯Ό μ—°μƒμ‹œν‚¬ κ²λ‹ˆλ‹€. 그런데 같은 햅틱을 레벨 μ—…κ³Ό 같은 긍정적 결과에도 μž¬μƒν•œλ‹€λ©΄, μ‚¬μš©μžμ—κ²Œ ν˜Όλž€μ„ μ•ΌκΈ°ν•  κ²ƒμž…λ‹ˆλ‹€.


3. λ‹€λ₯Έ ν”Όλ“œλ°±μ„ λ³΄μ™„ν•˜λŠ” λ°©μ‹μœΌλ‘œ 햅틱을 μ‚¬μš©ν•˜μ„Έμš”

μ‹œκ°μ , 청각적, 촉각적 ν”Όλ“œλ°±μ΄ μ‘°ν™”λ₯Ό 이룰 λ•Œ, μ‚¬μš©μž κ²½ν—˜μ€ 더 쑰리 있고 μžμ—°μŠ€λŸ½μŠ΅λ‹ˆλ‹€. μ‹œκ°, 청각, 촉각은 μ‹€μ œ 세상에 μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. μ˜ˆλ‘œλŠ” ν–…ν‹±μ˜ 강도와 μ„ λͺ…도λ₯Ό ν•¨κ»˜ μ‚¬μš©ν•˜λŠ” μ• λ‹ˆλ©”μ΄μ…˜μ˜ λŠλ‚Œκ³Ό μΌμΉ˜μ‹œν‚€λŠ” 것이 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ μ‚¬μš΄λ“œμ™€ 햅틱을 λ™μ‹œμ— μž¬μƒν•  μˆ˜λ„ μžˆμœΌλ‹ˆ, 개발자 λ¬Έμ„œ Delivering rich app experiences with haptics.λ₯Ό μ°Έκ³ ν•΄λ³΄μ„Έμš”


4. 햅틱을 λ‚¨μš©ν•˜μ§€ λ§ˆμ„Έμš”

햅틱을 자주 μž¬μƒν•˜λ©΄ μ„±κ°€μ‹œκ³  μ§œμ¦λ‚˜μ§€λ§Œ, μ’…μ’… μž¬μƒλœλ‹€λ©΄ 햅틱을 μ œλŒ€λ‘œ λŠλ‚„ 수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ λŒ€λΆ€λΆ„μ˜ μ‚¬λžŒλ“€μ΄ μΈμ •ν•˜λŠ” ν–…ν‹± μž¬μƒμ˜ κ· ν˜•μ„ μ°ΎκΈ° μœ„ν•΄ μ‚¬μš©μž ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. 졜고의 ν–…ν‹± κ²½ν—˜μ€ ν–…ν‹±μ˜ 쑴재λ₯Ό μΈμ‹ν•˜μ§€ λͺ»ν•˜λ‹€κ°€, κΊΌμ‘Œμ„ λ•Œ μ•Œμ•„μ°¨λ¦¬λŠ” κ²½μš°μž…λ‹ˆλ‹€.


5. 햅틱을 μ˜΅μ…”λ„λ‘œ λ§Œλ“œμ„Έμš”

햅틱을 λ„κ±°λ‚˜ μŒμ†Œκ±°ν•  수 μžˆλŠ” μ˜΅μ…˜μ„ μ œκ³΅ν•˜μ„Έμš”.


6.햅틱이 λ‹€λ₯Έ μ‚¬μš©μž κ²½ν—˜μ— 영ν–₯을 쀄 수 μžˆμŒμ„ μ•Œκ³  κ³„μ„Έμš”

햅틱은 진동을 λŠλ‚„ 만큼의 물리적 νž˜μ„ λ§Œλ“€μ–΄λƒ…λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ 햅틱이 카메라, μžμ΄λ‘œμŠ€μ½”ν”„, λ§ˆμ΄ν¬μ™€ 같이 μ‚¬μš©λ  λ•Œ μ‚¬μš©μž κ²½ν—˜μ„ μ €ν•΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


Custom haptics

κ²Œμž„μ€ κ²Œμž„ν”Œλ ˆμ΄λ₯Ό ν–₯상 μ‹œν‚€κΈ°μœ„ν•΄ μ’…μ’… 햅틱을 μ»€μŠ€ν…€ν•©λ‹ˆλ‹€. κ²Œμž„λ³΄λ‹€λŠ” 덜 ν”ν•˜μ§€λ§Œ, κ²Œμž„μ΄ μ•„λ‹Œ 앱도 ν’λΆ€ν•˜κ³  즐거운 κ²½ν—˜μ„ μ œκ³΅ν•˜κΈ° μœ„ν•΄ 햅틱을 μ»€μŠ€ν…€ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€.

μ‚¬μš©μžμ˜ inputμ΄λ‚˜ μ»¨ν…μŠ€νŠΈμ— κΈ°λ°˜ν•΄μ„œ λ‹€μ΄λ‚˜λ―Ήν•˜κ²Œ λ‹€λ₯Έ ν–…ν‹± νŒ¨ν„΄μ„ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.
κ²Œμž„μ„ 예둜 보면, κ²Œμž„ 캐릭터가 λ‚˜λ¬΄μ—μ„œ 점프할 λ•Œ λŠλΌλŠ” μž„νŒ©νŠΈκ°€ 캐릭터가 μ œμžλ¦¬μ—μ„œ μ ν”„ν•˜λŠ” μž„νŒ©νŠΈλ³΄λ‹€ 클 수 μžˆμŠ΅λ‹ˆλ‹€. 좩돌과 hit같은 κ²½ν—˜μ€ λ‹€κ°€μ˜€λŠ” λ°œκ±ΈμŒμ΄λ‚˜ μœ„ν—˜μ˜ 정도와 같은 λ―Έμ„Έν•œ 상황에 따라 λ‹€λ₯΄κ²Œ 느껴질 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

ν–…ν‹± νŒ¨ν„΄μ€ μ—¬λŸ¬κ°œμ˜ μ΄λ²€νŠΈλ“€λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” μ΄λ²€νŠΈλ‘œλŠ” transient event와 continous eventκ°€ μžˆμŠ΅λ‹ˆλ‹€.

  • μΌμ‹œμ (Transient) 이벀트 : 짧고, μ»΄νŒ©νŠΈν•΄μ„œ νƒ­μ΄λ‚˜ impulse같이 λŠκ»΄μ§‘λ‹ˆλ‹€. μ‹œμŠ€ν…œμ˜ ν”Œλž˜μ‹œ 라이트 λ²„νŠΌμ„ μ‚¬μš©ν•˜λŠ”κ²Œ transient event의 μ˜ˆμž…λ‹ˆλ‹€.
  • 연속적(Continous) 이벀트 : μ§€μ†λ˜λŠ” κΈ΄ 진동 κ°™μŠ΅λ‹ˆλ‹€. λ©”μ‹œμ§€ μ•±μ—μ„œ laser effect둜 보내기가 μ˜ˆμž…λ‹ˆλ‹€.

μ•„λž˜ 그림처럼, μ΄λ²€νŠΈλ“€μ„ μ‹œκ°„μ— 따라 λ°°μΉ˜ν•¨μœΌλ‘œμ¨ νŒ¨ν„΄μ΄ λ§Œλ“€μ–΄μ§‘λ‹ˆλ‹€.

λ˜ν•œ ν–…ν‹± 이벀트의 μ’…λ₯˜μ— λ¬΄κ΄€ν•˜κ²Œ, ν–…ν‹±μ˜ sharpness(μ„ λͺ…도)와 intensity(농도)도 μ‘°μ ˆκ°€λŠ₯ν•©λ‹ˆλ‹€.

  • sharpnessλŠ” ν–…ν‹± κ²½ν—˜μ„ 물리적 감각에 λŒ€μ‘ν•˜λŠ” νŒŒν˜•μœΌλ‘œ μΆ”μƒν™”ν•˜λŠ” λ°©λ²•μœΌλ‘œμ„œ 생각해볼 수 μžˆμŠ΅λ‹ˆλ‹€. μ„ λͺ…도, 뾰쑱함을 μ§€μ •ν•˜λ©΄ κ²½ν—˜μ˜ μ˜λ„λ₯Ό 전달할 수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μ„ λͺ…도λ₯Ό μ‚¬μš©ν•΄μ„œ λΆ€λ“œλŸ½κ³  λ‘₯κΈ€λ©° 유기적인 κ²½ν—˜μ„ μ „λ‹¬ν•˜κ±°λ‚˜ μ„ λͺ…ν•˜κ³  μ •λ°€ν•˜κ³  기계적인 κ²½ν—˜μ„ 전달 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • intensityλŠ” ν–…ν‹±μ˜ 강도λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

transient event, continuous eventλ₯Ό μ‘°ν•©, sharpness와 intensityλ₯Ό μ‘°μ ˆν•˜κ³  μ„ νƒμ μœΌλ‘œ μ˜€λ””μ˜€ 컨텐츠λ₯Ό ν¬ν•¨ν•¨μœΌλ‘œμ¨ 넓은 λ²”μœ„μ˜ ν–…ν‹° κ²½ν—˜μ„ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.
개발자 κ°€μ΄λ“œλŠ” Core Hapticsλ₯Ό μ°Έκ³ ν•˜μ„Έμš”!


Platform consideration - iOSμ—μ„œ ν–…ν‹± λ§Œλ“œλŠ” 방법

iPhoneμ—μ„œ 햅틱을 λ„£λŠ” 방법은 두가지가 μžˆμŠ΅λ‹ˆλ‹€. (Core hapticκΉŒμ§€ ν¬ν•¨ν•˜λ©΄ 3가지)

  1. standard UI Components μ‚¬μš© - swithces, sliders, pickers (λ””ν΄νŠΈλ‘œ μ• ν”Œμ΄ λ””μžμΈν•œ μ‹œμŠ€ν…œ 햅틱이 μž¬μƒλ©λ‹ˆλ‹€)

  2. UIFeedbackGenerator μ‚¬μš© - 미리 λ§Œλ“€μ–΄λ‘” ν–…ν‹± νŒ¨ν„΄(Notification, impact, selection)을 μ‚¬μš©ν•˜λ©΄λ©λ‹ˆλ‹€.
    여기에가면 ν–…ν‹± νŒ¨ν„΄μ„ μž¬μƒν•΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

  3. Core Haptics ν”„λ ˆμž„μ›Œν¬ μ‚¬μš© - ν–…ν‹± μ»€μŠ€ν„°λ§ˆμ΄μ¦ˆ κ°€λŠ₯


마무리

햅틱을 λ§Œλ“€ λ•Œ μœ μ˜ν•  점듀과 햅틱을 μ»€μŠ€ν…€ν•˜κ²Œ λ§Œλ“œλŠ” 방법, 햅틱을 κ΅¬ν˜„ν•˜λŠ” 방법듀에 λŒ€ν•΄ μ•Œμ•„λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

개인 앱을 μΆœμ‹œν•˜κ²Œ λœλ‹€λ©΄ κΌ­ μ‚¬μš©ν•΄λ³΄κ³  μ‹Άλ„€μš”!γ…Žγ…Ž

profile
i🍎S κ°œλ°œμ„ ν•©λ‹ˆλ‹€

0개의 λŒ“κΈ€