Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Hapticをカスタマイズしてみよう / ZOZO Tech Talk #6 Customiz...
Search
M"e
May 16, 2022
Programming
2.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hapticをカスタマイズしてみよう / ZOZO Tech Talk #6 Customize Haptic
M"e
May 16, 2022
More Decks by M"e
See All by M"e
UIViewで光の三原色の混ざり合いを表現したい / potatotips 75 Blend Mode
endoumari
1
400
文字列をコピーできるスクリーンショットを作る/iOSDC 2020 LT PDF
endoumari
3
5.8k
ZOZOが採用しているiOSのアーキテクチャについて/zozo-tech-meetup8-ios-architecture
endoumari
0
2.8k
Dribbbleで見つけたコンセプトデザインを実装/potatotips-56-concept-design
endoumari
2
750
iOSエンジニアが悩んだUpボタンについて / 2017 potatotips 45 Up Button
endoumari
1
1.3k
URLエンコードされた Shift_JISのデコードについて / iOSDC 2017 LT SJIS decode
endoumari
1
6.4k
Other Decks in Programming
See All in Programming
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
580
パーソナライズPodcastを作った話
repunit11
0
130
Jetpack Compose Mechanisms
skydoves
2
720
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
980
残高管理から台帳サービスへの進化
artoy
1
190
Are APIs Still Relevant in the AI Era?
soyuka
0
460
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
4
4.6k
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
110
AWSに止められる覚悟してますか?
morizo_1984
2
530
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
370
ActionController meets Protocol Buffers
sorah
0
150
Featured
See All Featured
New Earth Scene 8
popppiees
4
2.7k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
A designer walks into a library…
pauljervisheath
211
25k
How STYLIGHT went responsive
nonsquared
100
6.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Embracing the Ebb and Flow
colly
88
5.2k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Navigating Weather and Climate Data
rabernat
0
550
Transcript
HapticΛΧελϚΠζͯ͠ΈΑ͏ גࣜձࣾZOZO ZOZOTOWN։ൃຊ෦ ZOZOTOWNΞϓϦ෦ iOSϒϩοΫ ԕ౻ ສཬ Copyright © ZOZO,
Inc. 1
© ZOZO, Inc. גࣜձࣾZOZO ZOZOTOWN։ൃຊ෦ ZOZOTOWNΞϓϦ෦ iOSϒϩοΫ ԕ౻ ສཬ Twitter:@re___you
#ZOZOTOWN iOSΞϓϦ։ൃ୲👩💻 #վળ׆ಈͯ͠·͢🛠 #࠷ۙങͬͯΑ͔ͬͨͷApple Watch⌚ 2
© ZOZO, Inc. 3 ࠓͷςʔϚ
© ZOZO, Inc. 4 HapticΛΧελϚΠζͯ͠ΈΑ͏
© ZOZO, Inc. 5 Apple WatchΛ͚͍ͭͯͨΒHapticͷόϦΤʔγϣϯʹؾ͍ͮͨ ☀ ىচΞϥʔϜ ಓҊͷࠨӈͷ ਐߦํ
ϚεΫ࣌ͷ iPhoneͷղআ 🔓 ώμϦɾɾɾώμϦɾɾɾώμϦ ϛΪϛΪϛΪϛΪϛΪϛΪ Χνο ͱͱΜɺͱͱΜɺͱͱΜ
© ZOZO, Inc. 6 Core HapticsొͰ Hapticͷදݱ্
© ZOZO, Inc. 7 Core Hapticsʹ͍ͭͯ
© ZOZO, Inc. 8 UIFeedbackGeneratorͱCore Haptics UIFeedbackGenerator Core Haptics •
iOS 10 ~ • ܾΊΒΕͨHapticύλʔϯͷΈ ࠶ੜՄೳ • ZOZOTOWN͓ؾʹೖΓͱ͔Ͱ ͬͯΔ • iOS 13 ~ • HapticύλʔϯΛΧελϚΠζͰ͖Δ
© ZOZO, Inc. 9 Core HapticsͷΧελϚΠζཁૉ ԻΛ࠶ੜ(.wav) ৮֮
© ZOZO, Inc. 10 Core HapticsͷΧελϚΠζͱ ৮֮ɺԻΛΈ߹Θͤͯ 1ͭͷύλʔϯΛ࡞Δ͜ͱ
© ZOZO, Inc. Core Hapticsͷׂ • Haptic ίϯςϯπͷ࡞ • CHHapticEvent:
৮֮ɺԻ • CHHapticEventParameter: CHHapticEventͷύϥϝʔλʔ • CHHapticPattern: CHHapticEventΛΈ߹Θͤͨͷ • Hapticͷ࠶ੜ • CHHapticPlayer: CHHapticPatternΛ࠶ੜ • CHHapticEngine: CHHapticPlayerΛ࡞ 11
© ZOZO, Inc. 12 Core Hapticsͷίϯςϯπߏ https://developer.apple.com/videos/play/wwdc2019/520 WWDC 2019 520
Introducing Core HapticsΑΓ
© ZOZO, Inc. 13 Core HapticsͰઃఆͰ͖Δ2छྨͷ৮֮ τϯο ϰΡʔʔʔʔʔʔʔʔ https://developer.apple.com/videos/play/wwdc2019/810 Designing
Audio-Haptic ExperiencesΑΓ
© ZOZO, Inc. 14 Core HapticsͰઃఆͰ͖Δ2छྨͷ৮֮ τϯο ϰΡʔʔʔʔʔʔʔʔ - durationΛઃఆͰ͖Δ
- duration͕0ͩͱHaptic͕࠶ੜͰ͖ͳ͍ - durationͷઃఆͳ͍ Designing Audio-Haptic ExperiencesΑΓ
© ZOZO, Inc. TransientͷCHHapticEventParameter 15 Haptic Intensity Haptic Sharpness 0
1 1 ߗ͍ײ͡ ॊΒ͔͍ײ͡
© ZOZO, Inc. ContinuousͷCHHapticEventParameter 16 Haptic Intensity Haptic Sharpness ;ΜΘΓৼಈΛײ͡Δ
͖ͬΓͱৼಈΛײ͡Δ
© ZOZO, Inc. ԻͷCHHapticEventParameter 17 • audioVolume • audioPitch •
audioPan • audioBrightness
© ZOZO, Inc. Hapticͷ࠶ੜ https://developer.apple.com/documentation/corehaptics/chhapticengine HapticίϯςϯπΛ࡞ CHHapticEngineͷυΩϡϝϯτΑΓ
© ZOZO, Inc. 19 Engine४උ class ViewController: UIViewController { //
࠶ੜதʹ։์͞Εͳ͍Α͏ʹϝϯόมʹ͢Δ private let engine: CHHapticEngine! override func viewDidLoad() { super.viewDidLoad() // engineinitviewDidLoad()ͳͲͷૣ͍λΠϛϯάͰ࡞ engine = try! CHHapticEngine(audioSession: AVAudioSession.sharedInstance()) try! engine.start() } }
© ZOZO, Inc. 20 Hapticίϯςϯπ࡞ // Transient Event let transientEvent
= CHHapticEvent(eventType: .hapticTransient, parameters: [ CHHapticEventParameter(parameterID: .hapticIntensity, value: 0.3), CHHapticEventParameter(parameterID: .hapticSharpness, value: 0.3)], relativeTime: 0.2) // Audio Event let audioResourceID = try! engine.registerAudioResource(resourceURL) let audioEvent = CHHapticEvent(audioResourceID: audioResourceID, parameters: [CHHapticEventParameter(parameterID: .audioVolume, value: 0.3)], relativeTime: 0) do { // ΠϕϯτΛͱʹHapticύλʔϯΛ࡞ let pattern = try CHHapticPattern(events: [transientEvent, audioEvent], parameters: []) } catch let error {ɾɾɾ}
© ZOZO, Inc. 21 Haptic࠶ੜ do { let pattern =
try CHHapticPattern(events: [event, audioEvent], parameters: []) let player = try engine.makePlayer(with: pattern) try player?.start(atTime: CHHapticTimeImmediate) } catch let error {ɾɾɾ}
© ZOZO, Inc. 22
© ZOZO, Inc. 23 ΧελϚΠζΛߟ͑ͯΈΔ
© ZOZO, Inc. 24 ʮΛΧʔτʹೖΕΔʯ ࣌Λߟ͑ͯΈΔ ϦϦʔε͠ͳ͍Α ͋͘·Ͱ࣮ݧͶ 👆
© ZOZO, Inc. 25 ʮΛΧʔτʹೖΕΔʯ ࣌Λߟ͑ͯΈΔ ϦϦʔε͠ͳ͍Α ͋͘·Ͱ࣮ݧͶ 👆
© ZOZO, Inc. 26 Designing Audio-Haptic Experiences https://developer.apple.com/videos/play/wwdc2019/810/
© ZOZO, Inc. 27 Appleͷࣄྫ https://developer.apple.com/videos/play/wwdc2019/810/
© ZOZO, Inc. 28 Appleͷࣄྫ Apple Watch ཉ͍͠ɾɾɾ https://developer.apple.com/videos/play/wwdc2019/810/
© ZOZO, Inc. 29 HapticsΛઃܭ͢Δͷʹॏཁͳ3ͭͷ͜ͱ ௐੑ ҼՌؔ ࣮༻ੑ
© ZOZO, Inc. 30 ҼՌؔ ඞཁͳ͜ͱ • ԿʹΑͬͯࣄ͕ى͖͔ͨ໌֬ʹ͢Δ ͳͥඞཁͳͷ͔ •
ҼՌ͕ؔ߹Θͳ͍ͱҧײΛײ͡Δ
© ZOZO, Inc. 31 ҼՌؔ Designing Audio-Haptic ExperiencesΑΓ ྫ) αοΧʔϘʔϧΛऽͬͨͱ͖ͷԻ͕ҧ͏ͱҧײ͕͋Δ
https://developer.apple.com/videos/play/wwdc2019/810/
© ZOZO, Inc. 32 ௐੑ ඞཁͳ͜ͱ • ࢹ֮(Ξχϝʔγϣϯ)ɺௌ֮(Ի)ɺ৮֮ΛҰகͤ͞Δ ͳͥඞཁͳͷ͔ •
ௐ่͕ΕΔͱମݧ͕ଛͳΘΕΔ • ྫ) αοΧʔϘʔϧΛऽΔલʹ৮͕֮ൃੜ͢Δ
© ZOZO, Inc. 33 ࣮༻ੑ ඞཁͳ͜ͱ • ΞϓϦέʔγϣϯͷମݧ͕࣮֬ʹ্͢ΔՕॴʹಋೖ͢Δ ͳͥඞཁͳͷ͔ •
HapticΛՃ͗͢͠Δͱཁ͕բΉ
© ZOZO, Inc. 34 ·ͣΧελϚΠζΛߟ͑Δ্Ͱେࣄͳ͜ͱ https://developer.apple.com/videos/play/wwdc2019/810 ৮֮ɺԻ͕ ͦΕΒ͍͜͠ͱ
© ZOZO, Inc. 35 ΛΧʔτʹೖΕΔ࣌ͷ ৮֮ͷͦΕΒ͠͞ͱʁ
© ZOZO, Inc. 36 https://developer.apple.com/videos/play/wwdc2019/810 ϙϯ ৮͕֮ͦΕΒ͍͠ͱʁ
© ZOZO, Inc. 37 https://developer.apple.com/videos/play/wwdc2019/810 ϙϯ ৮͕֮ͦΕΒ͍͠ͱʁ ୯ൃతͳ৮͕֮1
© ZOZO, Inc. 38 https://developer.apple.com/videos/play/wwdc2019/810 ৮͕֮ͦΕΒ͍͠ͱʁ βοβοβο
© ZOZO, Inc. 39 https://developer.apple.com/videos/play/wwdc2019/810 ৮͕֮ͦΕΒ͍͠ͱʁ βοβοβο ܧଓతͳ৮֮ or ୯ൃతͳ৮͕֮ෳճ
© ZOZO, Inc. 40 https://developer.apple.com/videos/play/wwdc2019/810 ৮͕֮ͦΕΒ͍͠ͱʁ Ψγϟʔϯ ͺΓʔΜ ऑ͍ ~
த͘Β͍ͷ৮֮ ڧ͍৮֮
© ZOZO, Inc. 41 https://developer.apple.com/videos/play/wwdc2019/810 ৮͕֮ͦΕΒ͍͠ͱʁ ΘΒ͔͍৮֮ Ӷ͍৮֮ ΅;ͬ Ψπϯ
© ZOZO, Inc. 42 ৮֮Իࡐ࣭ͱؔ࿈͕͋Γͦ͏
© ZOZO, Inc. 43 ͕͔͜͜Ε৮֮Λ ܾΊ͘͢Γͦ͏ ৮֮Իࡐ࣭ͱؔ࿈͕͋Γͦ͏
© ZOZO, Inc. 44 ΛΧʔτʹೖΕΔ࣌ ͲΜͳԻ͕͢ΔͩΖ͏͔ʁ
© ZOZO, Inc. 45 • ାʹٵ͍ࠐ·ΕΔγϡοͬͯԻ • ϋϯΨʔˠˠΧʔτ(͔͝?)ɺʹ͋ͨΔͱ͢Εɺΰοͱ͔ίϯ ʹͳΔ •
Ϙϑοͯײ͡ • ͷ͜͢ΕΔԻ͔ͳ͋ʮγϡοʯͬͯײ͡ • ͕མͪͨԻ͔ͳ • ϙϑͬײʢϘϑΑΓϙϑʣ • ચ୕ΧΰʹҥྨΛೖΕΔΑ͏ͳʮόαοʯͱ͍͏ײ͡ νʔϜϝϯόʔʹҙݟΛฉ͍ͯΈͨ
© ZOZO, Inc. 46 • ାʹٵ͍ࠐ·ΕΔγϡοͬͯԻ • ϋϯΨʔˠˠΧʔτ(͔͝?)ɺʹ͋ͨΔͱ͢Εɺΰοͱ͔ίϯ ʹͳΔ •
Ϙϑοͯײ͡ • ͷ͜͢ΕΔԻ͔ͳ͋ʮγϡοʯͬͯײ͡ • ͕མͪͨԻ͔ͳ • ϙϑͬײʢϘϑΑΓϙϑʣ • ચ୕ΧΰʹҥྨΛೖΕΔΑ͏ͳʮόαοʯͱ͍͏ײ͡ νʔϜϝϯόʔʹҙݟΛฉ͍ͯΈͨ
© ZOZO, Inc. 47 ୯ൃతͳ৮͕֮߹͍ͦ͏
© ZOZO, Inc. 48 ΧʔτʹೖΕΔԻΛ࠶ݱͯ͠ΈΑ͏ • ϋϯΨʔʹ͔͔ͬͨγϟπ • ΧʔτʹೖΕΔಈ࡞ ڥ
© ZOZO, Inc. 49 ΧʔτʹೖΕΔԻΛ࠶ݱͯ͠ΈΑ͏ • ϋϯΨʔʹ͔͔ͬͨγϟπ • ΧʔτʹೖΕΔಈ࡞ ڥ
γϡοɺΧϯʁ Χϯʁ
© ZOZO, Inc. 50 ԻΛݟͯΈΑ͏
© ZOZO, Inc. 51
© ZOZO, Inc. 52 • 2ͭͷԻ͕ͳ͍ͬͯΔ • খ͍͞Իͱେ͖ͳԻ • ҥࡲΕˠϋϯΨʔ
Իͨ͠Իͷܗ
© ZOZO, Inc. 53 ԻΛࢀߟʹߟ͑Δͱ • ୯ൃతͳ৮֮ • খ͘͞ॊΒ͔͍৮֮ →
1ճΑΓେ͖͘Ӷརͳ৮֮
© ZOZO, Inc. 54
© ZOZO, Inc. 55 Χʔτʹ͕ೖͬͨ ײ֮ͬΆ͍ؾ͕͢Δ
© ZOZO, Inc. 56 ৮֮Λߟ͑Δͷʹ ԻඇৗʹࢀߟʹͳΔ
© ZOZO, Inc. 57 ·ͱΊ • ΧελϚΠζʹCore HapticsΛ͏ • HapticͷઃܭʹʮҼՌؔʯʮௐੑʯʮ࣮༻ੑʯ͕ॏཁ
• ৮֮ԻΛࢀߟʹ͢ΔͱܾΊ͍͢
© ZOZO, Inc. 58 HapticΛΧελϚΠζ͠Α͏ʂ
None
None
None
None
None