Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
エンジニア向けのマイクロインタラクション⼊⾨ 株式会社ICS 池⽥ 泰延 平成30年11⽉30⽇ @ DIST.
Slide 2
Slide 2 text
⾃⼰紹介 池⽥ 泰延 (Yasunobu Ikeda) 株式会社 ICS 代表 / 筑波⼤学 ⾮常勤講師 @clockmaker
Slide 3
Slide 3 text
ICS MEDIA - Webデザイナー/フロントエンジニアのメディア https://ics.media/
Slide 4
Slide 4 text
エンジニアがインタラクションを作る⽅法
Slide 5
Slide 5 text
エンジニアがインタラクションを作る⽅法 1. デザイナーが作ったモーションを組み込む 2. プログラムでモーションを実装する
Slide 6
Slide 6 text
デザイナーが作ったモーションを組み込む
Slide 7
Slide 7 text
アニメーションデータをエンジニアに どうやって渡すか?
Slide 8
Slide 8 text
デザイナーとエンジニアの分業も可能 イラストやアニメ だけ制作 インタラクションの 実装なら任せな
Slide 9
Slide 9 text
アニメーションのフ ォーマッ ト ソフ ト内でアニメーションを定義 動画として書き出す スクリプトとして書き出す
Slide 10
Slide 10 text
アニメーションのフ ォーマッ ト ソフ ト内でアニメーションを定義 動画として書き出す スクリプトとして書き出す ファイルから実装者が読み解くしかない 表現が忠実。 データ容量が巨⼤になりがち 動的なデータに対して、 組み込める。 軽量
Slide 11
Slide 11 text
ツールの使い分け スクリプト書き出し XD できない After Effects プラグインで 利⽤可能 Animate 利⽤可能
Slide 12
Slide 12 text
アニメーションのスクリプト化 • データ容量が少なくなる • 再⽣コン トロールが容易 • インタラクション開発も可能
Slide 13
Slide 13 text
Animate + HTML Canvas CreateJS (再⽣エンジン) 標準機能で 書き出し
Slide 14
Slide 14 text
After Effects + Bodymovin + Lottie Web iOS Android React Native Bodymovin (プラグイン) Lottie (再⽣エンジン)
Slide 15
Slide 15 text
• 映画やTV、 ビデオ、 ウ ェブ • モーショングラフ ィ ッ クスやビ ジュアルエフ ェク トの制作 After Effects
Slide 16
Slide 16 text
Bodymovin https://www.adobeexchange.com/creativecloud.details. .html
Slide 17
Slide 17 text
After Effects + Bodymovinのアニメーション
Slide 18
Slide 18 text
After Effects + Bodymovinのアニメーション
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
Micro-Interaction Toolkit https://www.lottiefiles.com/collections/micro-interaction-toolkit
Slide 21
Slide 21 text
• 元Flash Professionalというアニメーション制作ツール • ゲーム制作 • 広告コンテンツ • キャラクターアニメーション Animate
Slide 22
Slide 22 text
Animateのアニメーション 精密なアニメーション制作が可能 ベクターツールが充実
Slide 23
Slide 23 text
実演
Slide 24
Slide 24 text
Animate + SVG
Slide 25
Slide 25 text
• カスタムプラ ッ トフ ォームSDK • Animate CCのタイムラインは拡張機能によって、 様々な媒 体に出⼒できるようになる • PixiJS / GAF / OpenFL / AwayJS / SnapSVG Animate CC
Slide 26
Slide 26 text
⽇本全国花粉⾶散マップ Pollen Map in Japan | ICS http://ics-web.jp/projects/pollenmap/
Slide 27
Slide 27 text
HTML 製のデザインツール Particle Develop - ICS https://ics-creative.github.io/project-particle-develop/
Slide 28
Slide 28 text
スクリプト書き出しの⽐較 表現の制約 媒体 After Effects + Bodymovin ベクターのみ HTML + SVG iOS / Android Animate + HTML Canvas 無し HTML Canvas Animate + SnapSVG 無し HTML + SVG Animate + Pixi.js 無し WebGL
Slide 29
Slide 29 text
プログラムでモーションを実装する
Slide 30
Slide 30 text
デザイナーとエンジニアの分業も可能 インタラクションの 実装は俺がすべてやる
Slide 31
Slide 31 text
Creative Icons
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
• DOMとWebGLの⼆段構え • DOMはVue.jsで実装 • WebGLはThree.jsで実装 技術
Slide 34
Slide 34 text
• WebGLでは3D空間を描画 • DOMではアイコンを配置 アーキテクチ ャー WebGL DOM(Vue.js) 重ねる
Slide 35
Slide 35 text
Three.js側で プロジェクション座標を計算 座標をDOMに割り当てる x y left top
Slide 36
Slide 36 text
Three.js側のコード
Slide 37
Slide 37 text
Vue.js側のコード
Slide 38
Slide 38 text
• CSS Transitionが楽すぎる • 座標が切り替わったら⾃動的にトラジションしてくれる なぜDOMを使うか
Slide 39
Slide 39 text
No content
Slide 40
Slide 40 text
• Vue.jsのタグで出現 ・ 消去のモーションが楽 • CSSクラスを割り振ってくれる なぜDOMを使うか
Slide 41
Slide 41 text
• nth-child()にtransition-delayを 仕込む •ふわっふわっ〜☁という 出現モーションができあがる 順番に出す
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
• Vue.jsはDOMの管理に便利だが、 毎フレームの更新が苦⼿ • 性能観点で別のフレームワークへ切り替えるか 今後の展望
Slide 44
Slide 44 text
Angular vs Vue.js vs React
Slide 45
Slide 45 text
パフ ォーマンス⽐較 React Angular Vue MB MB MB React Angular Vue fps fps fps React v Angular Vue . React v Angular Vue . メモリ使⽤量 描画性能 ⼩さいほど省メモリ ⼤きいほど⾼速
Slide 46
Slide 46 text
マイクロインタラクションの世界では 接続型アニメーションが今後増えていく トレンドのマイクロインタラクション
Slide 47
Slide 47 text
Native-Like Animations for Page Transitions on the Web | CSS-Tricks https://css-tricks.com/native-like-animations-for-page-transitions-on-the-web/
Slide 48
Slide 48 text
ご清聴ありがとうございました ご質問等はTwitterまでお気軽に連絡ください 池⽥ 泰延 @clockmaker Copyright ICS INC. All rights reserved.