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
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
140
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
160
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
4
190
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
330
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.5k
iOSDC2026登壇資料.pdf
riofujimon
0
200
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
390
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
120
setup-vp GitLab対応の裏側
naokihaba
0
140
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
1
650
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
580
App Intentsのビルドプロセスを支える技術
kntkymt
0
480
Featured
See All Featured
The Curse of the Amulet
leimatthew05
3
15k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
エンジニアに許された特別な時間の終わり
watany
109
250k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Ethics towards AI in product and experience design
skipperchong
2
400
How to Ace a Technical Interview
jacobian
280
24k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Balancing Empowerment & Direction
lara
6
1.3k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Side Projects
sachag
456
43k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
310
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