37
Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd.

Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

Pepperディスプレイ のちょっとしたコツ

Headwaters Co., Ltd.

Page 2: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

ウチではこんな感じで やってます

Page 3: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

ディスプレイ開発の流れ

• PC上でタブレット画面に表示するHTMLを作成

• Choregrapheに取り込む

• Pepperのアニメーション動作と合わせて調整

Page 4: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

デバッグ• PCブラウザからタブレットに接続

• Chromeのデベロッパーツールを利用

• Logcatも活用

http://[pepperIP]/apps/[appId]

~/.local/share/PackageManager/apps/j-tablet-browser/adb logcat

Page 5: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

設計のポイント

• Pepper側を主体としてタブレットを操作することを意識する

Page 6: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

つまり?

Page 7: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

タブレットの画面遷移は aタグなどで行わず、

Pepper側からRaiseEventで操作する

Page 8: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

Htmlのボタンなどのタッチイベントも、必ずPepper側の処理を通すようにする

Page 9: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

実例

Page 10: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

求められること

•目を引く画像や動画

•リッチなアニメーション

• Pepperの動作との自然な連携

Page 11: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

悩み

•画面、画像の切り替えが遅い

•アニメーションが遅い、カクカクする

•タブレットの処理が重くなり、Pepperの動作とズレる

• WiFiが遅いことがある

Page 12: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

どうすれば?

Page 13: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

画面、画像の切り替えが遅い

•画面遷移の前に白画面が表示されてしまい、見た目が悪くなる

•画像の読み込みでチラツキが発生する

Page 14: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

かいけつ!!

Page 15: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

画面、画像の切り替えが遅い

• Htmlそのものを読み込まず、変更が必要な箇所のみ切り替える

•画像のプリロード(ALTabletService::preLoadImage)

Page 16: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

アニメーションが遅い、 カクカクする

• UFOが飛ぶアニメーションをjQueryのanimateを使ってやろうとしたら、凄くカクカクしてしまった

•結果画面でキラキラするエフェクトを表示しようとしたら、凄くカクカクしてしまった

Page 17: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

かいけつ!!

Page 18: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

アニメーションが遅い、 カクカクする

•シンプルなアニメーションを心がける

• transision: transformを利用する

•アニメーションさせる要素の数を減らす(3個まで)

Page 19: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

タブレットの処理が重くなり、Pepperの動作とズレる

•聞き取りの後にボタンが押せたり、ボタンを押した後に聞き取ったり

•操作しているうちにタブレットとPepperのアニメーションがズレてしまう

Page 20: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

かいけつ!!

Page 21: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

タブレットの処理が重くなり、Pepperの動作とズレる

•画面遷移やタブレットからのイベント処理はPepper側で制御する

Page 22: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

WiFiが遅いことがある

• Pepper側と比較してタブレット側のWiFiが不安定になりやすい傾向

•タブレット側のWiFiは設定されていないこともある

Page 23: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

かいけつ!!

Page 24: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

WiFiが遅いことがある

• Pepper側で画像をダウンロードして、タブレット側はローカルから読み込む

•タブレットのWiFi設定情報を取得して処理を分岐させる

qicli call ALTabletService.getWifiStatus

Page 25: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

Tips

•解像度の問題

•タブレットが反応しない

Page 26: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

タブレットの解像度

•現在のPepperタブレットの解像度は1707*1067

• 1280*800を1.335倍に引き伸ばして使用するのがオススメ<meta name="viewport" content="initial-scale = 1.335,

minimum-scale = 1.335, maximum-scale = 1.335"/>

Page 27: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

タブレットが反応しない

•通常は、nao restartで解決

•それでもダメなら胸のボタンで再起動

•それでもダメなら・・・

Page 28: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

Resetボタン

Page 29: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

最後の手段としてご利用ください

Page 30: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

Frameworkの紹介

• Tapper

• QiTalk

Page 31: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

Tapperとは?

• Pepperタブレット開発の雛形生成ツール

• QiMessaging JavaScript, jQueryとALProxyを連携

• https://github.com/pepper-dev/tapper

Page 32: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

Tapperとは?tapper create

Tapper create. Scene 1 mkdir: ./html mkdir: ./html/css mkdir: ./html/js mkdir: ./html/img mkdir: ./html/img/preloads create: ./html/index.html create: ./html/css/contents.css create: ./html/css/normalize.css create: ./html/js/tapper.js create: ./html/js/contents.js Succeeded.

コマンドで雛形作成

Page 33: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

Tapperとは?

index.html

// javascriptでコールする場合 Tapper.view.changeScene(1);

// ALMemoryのイベントでシーンの切り替えを行う場合

Tapper.utl.raiseEvent("Tapper/View/ChangeScene", 1);

show/hideで切り替え

Page 34: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

QiTalkとは?

• QiMessaging JavaScript, jQueryとALProxyを連携

• Pepperからの呼び出しイベント毎に対応したページ設計が可能

• https://github.com/hikouki/qitalk

Page 35: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

QiTalkとは?

ALMemoryのvalue値と ファイル名でテンプレートの関連付け

Page 36: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

QiTalkとは?

指定されたテンプレートに切り替え

preview.tpl

Page 37: Pepperディスプレイ のちょっとしたコツpepper-atelier-akihabara.jp/wp/wp-content/uploads/... · Pepperディスプレイ のちょっとしたコツ Headwaters Co., Ltd

ディスプレイ開発に幸あれ