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
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
180
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
280
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
160
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
920
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
520
Family mrubyの進捗
kishima
1
130
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
390
アクセシビリティから考える情報設計
high_g_engineer
0
390
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
170
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
Security issues being discussed on Web Platforms
petamoriken
0
1.2k
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
570
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
480
Designing for humans not robots
tammielis
254
26k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Scaling GitHub
holman
464
140k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
Embracing the Ebb and Flow
colly
88
5.2k
How to Talk to Developers About Accessibility
jct
2
550
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
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