内容紹介
WiiRemoteを利用したインタラクティブ技術のプログラミング学習書
話題の家庭用ゲーム機「Wii」の特徴的なコントローラーである「WiiRemote」をPCで使うプログラミングが注目されている。高性能な加速度センサーや赤外線センサーを持ち、Bluetooth接続が可能で、プログラミング可能なデバイスを、個人レベルで自作したり入手したりすることはできなかった。WiiRemoteの登場とともにそれが安価で手軽に入手可能になり、多くの人々が興味を持っている。
本書は、WiiRemoteの応用に興味があるプログラミング初学者向けに、WiiRemoteをPCから扱うためのプログラミングを解説する。ハードウェア寄りのゲームプログラミング入門書として、ステップバイステップでソースコードを解説する。具体的なサンプルを開発しながら、インタラクション技術を独習できる。言語はC/C++、C#およびActionScript 3、Processingなどをサポート。
このような方におすすめ
・工学系/芸術系学生
・研究室配属直後の教育用
・メディアアーティスト
・中学~高校プログラミング研究部向け課題図書
・次世代ゲーム企画者、プログラマ志望者
・産業応用アプリケーション開発者
・ホビープログラマ
目次
主要目次
第1章 WiiRemoteのススメ
第2章 PC上で利用するWiiRemote事始め
第3章 まずは実験してみよう
第4章 C++とC#で学ぶWiiRemoteプログラミング
第5章 WiiFlashを使ってみよう(ActionScript編)
第6章 WiiFlashを使いこなそう(Processing編)
第7章 WiiYourself!とC++で学ぶインタラクション基盤技術
第8章 インタラクション技術の実践的開発プロセス
第9章 アイディアストック・演習問題集
第10章 未来につながるWiiRemote
詳細目次
刊行によせて
はじめに
第1章 WiiRemoteのススメ
1.1 WiiRemoteの基礎知識
革命の主人公「Wiiリモコン」
WiiRemoteの仕組み
1.2 WiiRemoteで何が作れる?
巨大なイカロボット「IKABO」を操作する(未来大IKABO Project)
自由に氷柱を生やす「Glacon」(奈良先端大)
ニオイの吹き矢「La fleche de l'odeur」(金沢高専)
WiiBoardによる文学作品「人間椅子」(東京大学)
赤外線を使ったモーションキャプチャ「SoundQuest」(フランス・ラヴァル)
第2章 PC上で利用するWiiRemote事始め
2.1 WiiRemoteをPCで利用する
ハードウェア構成
ソフトウェア構成
2.2 Bluetooth製品を選ぶ
IVT BlueSoleil
東芝製スタック
Microsoft製スタック
Broadcom製スタック
その他の環境について
第3章 まずは実験してみよう
3.1 WiiRemoteとPCをBluetoothで接続する
Bluetoothをインストールする際の注意
PTM-UBT3S(東芝製スタック)でのペアリング
Lenovo ThinkPadでのペアリング
ASUS EeePC S101でのペアリング
3.2 WiinRemoteで実験
世界最速公開のツール「WiinRemote」
WiinRemoteの入手とインストール
WiinRemoteを使いこなそう
重力を観察してみよう
PowerPointでプレゼンテーション
3.3 GlovePIEで実験
GlovePIEとは
GlovePIEのインストール
GlovePIEの基本操作
3.4 GlovePIEで作る「高機能赤外線マウス」
高機能赤外線マウスを設計する
ボタンアクションの実装
デバッグ機能
GUIを使ったスクリプト記述支援
サンプルスクリプトを読もう
コマンドラインによる起動の自動化
第4章 C++とC#で学ぶWiiRemoteプログラミング
4.1 プログラミング環境のセットアップ
Visual C++ 2008 Express Editionのセットアップ
Visual C# 2008 Express Editionのセットアップ
4.2 WiimoteLibの概要
WiimoteLibのライセンス
WiimoteLibのセットアップ
4.3 WiimoteLibをプロジェクトに組み込む【C#編】
空のプロジェクトの作成
WiimoteLibの追加
4.4 WiimoteLibをプロジェクトに組み込む【C++編】
空のプロジェクトの作成
WiimoteLibの追加
4.5 バイブレータのON/OFF
WiimoteLibの宣言と接続
バイブレーターON/OFFボタンの作成
実行してみよう
解説:WiimoteLibの基本API
4.6 LEDの点灯と消灯
WiimoteLibの宣言と接続
LEDカウントアップボタンの作成
実行してみよう
解説:LEDの点灯制御
4.7 ボタンイベントの取得
ラベルの作成
ボタン入力に対応してラベルの表示を変える
実行してみよう
解説:ボタンイベントの取得
4.8 ランチャーを作る
外部プログラムの起動
実行してみよう
解説:ボタンイベントによるアプリ起動
4.9 加速度センサーを使う
加速度センサーについて
加速度センサーの値を表示
実行してみよう
解説:レポートタイプと加速度センサー
加速度センサーで作るWiiRemote太鼓
4.10 赤外線センサーを使う
赤外線探知機
実験:赤外線を見てみよう
解説:レポートの設定/赤外線4点検出
赤外線を数える
座標を描画
実行してみよう
解説:赤外線座標の取得
第5章 WiiFlashを使ってみよう[ActionScript編]
5.1 WiiFlashとは
WiiFlashの仕組み
環境設定
WiiFlashのデモファイルでテストする
ボタンアクションの取得を使ったサンプル
5.2 作例1:座布団(ザプトン)
Flashで姿勢が悪い人を救いたい
重心移動の変化量を使ったアプリ
5.3 作例2:ChunChun
WiiRemoteを使ったゲーム
サンプル制作の流れ
第6章 WiiFlashを使いこなそう[Processing編]
6.1 ProcessingからWiiRemoteにつなぐ
6.2 ProcessingからWiiFlashを使うには
Processingのセットアップ
6.3 Processingのサンプルを動かす
6.4 WiiFlashを使ったサンプルを動かす
Wiimoteの使い方
6.5 サンプルスケッチをWiiRemote対応にする
FireCubeWii
DirectionalWii
WaveSignalWii
WiiFlashがProcessingからも使える理由
第7章 WiiYourself!とC++で学ぶインタラクション基盤技術
7.1 古き良きC++用API「WiiYourself!」
WiiYourself!の特徴
WiiYourself!の入手
WiiYourself!付属デモのテスト
7.2 WiiYourself!のリビルド
DDKのセットアップ
プロジェクトファイルの変換と設定
WiiYourself!の構成とライブラリのビルド
コマンドラインプログラム「Hello, world!」
WiiYourself!をプログラムに組み込む
7.3 Win32で作るWiiRemoteテルミン
テルミンを作ろう
ボタン操作テルミン
加速度センサーによるテルミン
7.4 計測器としてのWiiRemote
「WiiRemote計測器」重力・姿勢・動作周波数
考察:ゲーム機として、計測器として
7.5 WiiYourself!によるスピーカー再生
専用WAVファイルの準備
WAVファイルのロード
第8章 インタラクション技術の実践的開発プロセス
8.1 仕様と開発の流れの整理
8.2 開発プロセス
プロジェクトの新規作成とフォームデザイン
基本コードの作成
コードのブロック化と関数化
フォームのボタン処理
赤外線センサーによるマウスポインタ移動
ボタンイベントの検出
ボタンイベント処理のクラス化
DLLインポートによるWin32APIの利用
8.3 ユーザーテストとフィードバック開発
他人に触ってもらい、観察する
その他のボタンアクションの実装アイディア
キーボード入力の発行
8.4 装飾要素
数式によるLED出力関数
赤外線受信の安定化
文字列を描画したい
「かたむく指」を描画
第9章 アイディアストック・演習問題集
9.1 プログラミング編:XNAを使ったリアルタイム3DCGでの利用
XNAのインストール
ゲームプロジェクトの作成
WiimoteLibの組み込み
3Dモデルファイルの準備
.xファイルの読み込みと表示
完成版「WiiRemoteXNA」
演習問題 XNAの利用
9.2 ゲーム応用編(1):レースゲームへの応用
AceSpeeder2
レースゲーム用モーション認識
演習問題 レースゲームへの応用
9.3 ゲーム応用編(2):「振る」の認識・剣術アクションへの応用
フェンシングゲーム「JaWii's Virtual Fencing」
古式フェンシング指南ゲームの開発
モーション検出のための評価関数を作る
演習問題 振りの検出
9.4 作品編(1):WiiBoardを用いた「オーラ診断」
プログラミング初心者4人が作った「オーラ診断」
補足:「BBOSC」とは?
演習問題 MacとWiiBoardの利用
9.5 作品編(2):Second Lifeで使う
演習問題 Second Life + GlovePIEを極めよう
9.6 モノ編(1):センサーバーを自作する
センサーバーの仕組み
目には見えない「近赤外線」
電子部品をそろえる・工作する
演習問題 赤外線センサーバーの自作
9.7 モノ編(2):ロボット兵器「WiiRemoteTank」
ロボット兵器「WiiRemoteTank」
「WiiRemoteTank」の開発
演習問題 WiiRemoteによるロボット開発
9.8 サービス編:体が不自由な方のためのインタフェース
演習問題 体が不自由な方のためのインタフェース
9.9 研究編(1):赤外線を極める
赤外線奥行き測定の基本理論
実験:赤外線特性の測定
演習問題 赤外線を極める
9.10 研究編(2):Johnny Chung Lee 氏から学ぼう
演習問題 研究しよう
9.11 プログラミング上級編:自分でAPIを作る
演習問題 APIを作ろう
第10章 未来につながるWiiRemote
10.1 Brian Peek氏とgl.tter氏インタビュー
Brian Peek氏-WiimoteLibの作者
gl.tter氏-WiiYourself!の作者
10.2 新しいエンタテイメント、インタラクションを作るには
WiiMotionPlusの衝撃と可能性
Microsoft「Project Natal」の衝撃
実は「老舗」のソニー
10.3 予言の書
10年前の出来事
今後10年先に起こること
あとがき
謝辞
サンプルダウンロードについて
参考文献
著者紹介
索引
続きを見る