先日、とあるプレゼンの機会でPythonベースのプレゼンソフト「impressive」とWiiリモコンを使ったところ、なかなかの反響を頂いたので備忘録もかねてやり方をエントリーに起こしておきます。
必要なハードウェア
外部出力を持ったノートPC
後述するソフトウェアでOpenGLを使用しますので、ある程度のスペックがあることが望ましいです。ここ数年のPCならばオンボードVGAでも十分動きます。
Wiiリモコン
- Wiiリモコン プラス (シロ) (「Wiiリモコンジャケット」同梱)
- 任天堂
- 2010/11/11
- 3,220 円 (15%OFF)
- (価格情報は 2011/02/15 現在のものです)
- Amazon.co.jp で詳細を見る
「Wiiモーションプラス」が内蔵されていない通常の「Wiiリモコン」でも大丈夫です。
Bluetoothアダプタ(オプション)
- PLANEX Bluetooth ver2.1+EDR Microサイズ USBアダプタ (Class1/100m) BTMICROEDR1XZ [フラストレーションフリーパッケージ(FFP)]
- プラネックス
- 2010/06/15
- 980 円 (51%OFF)
- (価格情報は 2011/02/15 現在のものです)
- Amazon.co.jp で詳細を見る
Bluetooth搭載PCの場合は不要ですが、非搭載PCの場合はWiiリモコンの信号を受信するのために必要です。
センサーバー(オプション)
Wiiリモコンに内蔵されている傾きセンサーを使ってマウスポインタを操作することもできるので、こちらは必須ではありません。ただ、レーザーポインタのようにある一点を狙ってマウスカーソルを誘導したい場合は、このセンサーが必要となります。
必要なソフトウェア
Bluetoothドライバ
先ほどのPLANEXの製品の場合はダウンロード|BT-MicroEDR1X:PLANEXからダウンロードできます。あらかじめドライバをインストールしてからBluetoothアダプタを接続するようにして下さい。
impressive
PDFや連番画像を表示できるプレゼンソフトです。ダウンロードはImpressiveから。impressiveというソフト自体はWindows, Mac OS X, Linuxとマルチプラットフォームに対応しています。
WiinRemote
こちらはWindows専用ソフト。WiiリモコンをHIDとして認識させ、ボタンに任意のキーやマウスボタンを割り当てることが可能です。Macの場合はDarwiinRemoteを、Linuxの場合はwiimotulator.pyを使えば同様のことが出来るようです。
そのほか必要となるモノ
プレゼンに使うPDFファイル
impressiveが扱えるファイルはPDFと各種画像ファイルのみなので、パワーポイントやKeynoteで作成したプレゼンはそのままでは開けません。あらかじめPDF形式で出力しておきます。なお、プレゼンの中に日本語が含まれている場合は「フォントを埋め込んだPDF」にしないと文字化けする可能性がありますのでご注意を。
数十MB~数百MBの空き容量
impressiveにはキャッシュ機能があり、一度表示したプレゼンは2回目以降高速に表示することが可能です。そのキャッシュファイルを生成する為にはPDFと同じディレクトリに数十MBからプレゼンのファイル容量によっては1GB程度の空き容量が必要となります。
参考までに画像たっぷり6MBのPDFファイルのキャッシュファイルを生成したところ、280MBほどの容量を消費しました。
初期設定
Bluetoothドライバのインストール
インストーラーにしたがって、Bluetoothのドライバをインストールします。
Wiiリモコンの認識
続いてWiiリモコンをPCに認識させます。Bluetoothアダプタによっては、Wiiリモコンの1ボタンと2ボタンを押すタイプと、電池蓋を開けたところにあるSyncボタンを押すタイプがあります。
WiinRemoteのインストール
Wiiリモコンが認識されていれば起動するだけで利用可能になります。センサーバーを利用する場合はOptionのPreferencesからCursorをIR Sensorにすればマウスポインタも操作できるようになるはずです。
impressiveのインストール
Windows版のimpressiveには必要なコンポーネント類が含まれているので解凍するだけでOK。中にdemo.pdfというファイルが入っていますので、とりあえず動作を確認したい方はコマンドプロンプトでimpressiveを解凍したフォルダに移動してから次を入力します。
impressive.exe demo.pdf
基本的にはWiiリモコンの右or下キーで次のスライドへ、左or上キーで前のスライドに戻ります。スライドショーを終了するにはキーボードのEsc キーまたはQ キーを押します。
impressiveの使い方
先ほどのdemo.pdfの実行で、デフォルトでも十分かっこいいトランジションが含まれていることがわかったかと思います。そのほか、impressiveは次のようなキーボード操作に対応しています。自分のよく使うキーをWiinRemoteで割り当てると良いと思います。
キー | 動作 |
---|---|
Q, Esc | スライドショーを終了する |
→, ↓, Page Down, Space | 次のスライドへ |
←, ↑, Page Up, Backspace | 前のスライドへ |
Home | 最初のスライドへ |
End | 最後のスライドへ |
Tab | スライド一覧を表示 |
T | スライド右上に経過時間を表示 |
R | T キーで表示される経過時間をリセット |
Z | マウスカーソル付近をズーム/ズーム解除 |
ズーム中にマウスの右ボタンをドラッグ | ズームする場所を移動 |
Enter, Return | マウスカーソル付近にスポットライトを当てる。上記ズームと併用可能。もう一度押すと解除 |
B | 画面をブラックアウト。もう一度押すと解除 |
W | 画面をホワイトアウト。もう一度押すと解除 |
オススメはスポットライト機能とズーム機能。この2つだけでもimpressiveを使う価値は十二分にあります。パワーポイントでもアニメーション効果を使えば同様のことができますが、いずれも事前に設定しておく必要があるため、「キミ、今のスライドのここを拡大してくれる?」といったクライアントの急な要望には答えられない欠点があります。
その点impressiveのズーム機能はマウスカーソル付近をボタン一発で拡大できますので、突然の要望にも臨機応変に応えることが出来ます。
また発表者に注目を集めたいときに一時的に画面を真っ暗にするBキーも使いました。スライドの最初と最後に使うのも効果的です。
ちなみに、impressiveの初期設定では最後のスライドで「次のスライド」を実行しても先に進みません。そのため「スライドショーの最後です。クリックで終了します」という表示が出るパワーポイントとは違い、連打してたらスライドショーが終了していた、といった心配もありません。
キャッシュ機能を使って高速化
デフォルト設定のimpressiveは起動と同時にPDFの読み込みを開始し、スライド実行中にバックグラウンドで次のスライドと、Tabキーを押したときのスライド一覧画像を生成しています。非力なPCの場合、これらの作業がプレゼンのレスポンスに影響を及ぼす場合があります。事前にキャッシュファイルを生成しておくことで、スライド読み込み速度を飛躍的に向上させることが可能となります。
impressiveのディレクトリに「presentation.pdf」というファイルを置き、1024×768のプロジェクタで実行すると想定した場合、本番前に次のコマンドを実行しておきます。
impressive.exe --aspect 4:3 --geometry 1024x768 --output ./presentation ./presentation.pdf
こうすることで、impressiveディレクトリ以下に「presentation」という名前のディレクトリが生成され、中に1024×768の大きさのPNGファイルが出力されていきます。ただ、場合によってはズーム機能などを利用した際に画質が荒くなる場合があります。ハードディスク容量に余裕がある場合は以下のコマンドの方が高画質なPNGファイルを生成できます。
impressive.exe --aspect 4:3 --geometry 2048x1536 --output ./presentation -s ./presentation.pdf
このコマンドは2048×1536サイズのPNGファイルを生成する為、スライド枚数によってはかなりの時間が掛かります。150枚のスライドの場合、所要時間は30分ほどかかりました。画質を犠牲にするか、速度を犠牲にするかは内容や実行するPCによると思います。
無事にpresentationディレクトリに画像が生成されたら、次のコマンドを入力すればスライドショーが開始されます。
impressive.exe -A 1024:768 --cache persistent --cachefile ./slide.cache presentation
先ほどのコマンドは「スライド1枚1枚を画像で書き出す」コマンドでした。今回のコマンドにもキャッシュ関係のものが含まれています。これは「Tabキーを押したときのスライド一覧」を生成するコマンドです。実際、プレゼン実行中にTabキーを押すとサムネイル画像が1枚1枚生成されていくことがわかるかと思います。この処理もslide.cacheというファイルに書き出すことで、2回目以降のスライド一覧表示速度を上げることが出来ます。
私は最初のコマンドを「first.bat」、スライドショー実行のコマンドを「presen.bat」というバッチファイルに保存しておき、「first.bat」→「presen.bat」という流れを本番前に実行しておくようにしました。スライドショー開始時にはもう一度「presen.bat」を実行します。こうすることで、サムネイル・スライドともにキャッシュされたファイルを利用する為、なめらかなスライド遷移が可能になりました。
トランジションをカスタマイズ
デフォルトでも美しいトランジション効果が得られるimpressiveですが、初期設定ではランダムで適用されるようになっています。自分でトランジション効果を選ぶにはimpressiveディレクトリにtrans.infoというファイルを生成し、以下の書式で入力していきます。
PageProps = {
1: {
'transition': PageTurn
},
2: {
'transition': Crossfade
},
(省略)
150: {
'transition': Crossfade
}
}
「1:{」から「}」まではスライド枚数分用意して下さい。transitionの後の値を以下から選ぶことで、そのスライドのトランジション効果を指定できます。
パラメータ | 効果 |
---|---|
Crossfade | シンプルなクロスフェード |
FadeOutFadeIn | ブラックフェードアウトした後、フェードイン |
None | 効果無し |
PagePeel | ページ開きエフェクト |
PageTurn | ページめくりエフェクト |
SlideDown, SlideLeft, SlideRight, SlideUp | 上下左右方向にスライドイン |
SpinOutIn | スピンアウトしながら次のスライドへ |
SpiralOutIn | スパイラルアウトしながら次のスライドへ |
SqueezeDown, SqueezeLeft, SqueezeRight, SqueezeUp | 上下左右方向にスクイーズ |
WipeBlobs | 3×3の水玉模様 |
WipeCenterIn, WipeCenterOut | 中央へ、中央から円状にワイプイン |
WipeDown, WipeLeft, WipeRight, WipeUp | 上下左右方向にワイプイン |
WipeDownRight, WipeUpLeft | 右下、左上方向にワイプイン |
ZoomOutIn | 現在のスライドをズームアウトしたあと、次のスライドへ |
そして、「presen.bat」を次のように修正します。
impressive.exe -A 1024:768 -I trans.info --cache persistent --cachefile ./slide.cache presentation
これで、trans.infoファイルが読み込まれ、自分の決めたトランジションが適用されるようになります。なお、全てのスライドをフェードで統一したい場合は、trans.infoファイルを用意せずに、presen.batを次のように修正すればOKです。
impressive.exe -A 1024:768 --transition Crossfade --cache persistent --cachefile ./slide.cache presentation
おわりに
Impressiveのmanualページにはさらに詳細なパラメータ一覧や、「トランジションの効果時間」を設定する方法など、細かいカスタマイズ方法が記載されています。パワーポイントでは物足りないという方はimpressiveとWiiリモコンを使って自分だけの印象的なプレゼンを作ってみては如何でしょうか。