Unityを使ったキャラクターと人体の同期(前編)

2014年10月1日(水)
薬師寺 国安

Unityの画面構成

画面構成は図12のようになります。まだキャラクターの配置などしていませんので、何も表示されてない部分(ビュー)もありますが、何をする場所かがわかればいいと思います。

図12: Unityの画面構成(クリックで拡大)

1.Scene(シーン)とGame(ゲーム)のビュー

Scene画面では、作成するゲーム内のGameObject(プレイヤー、カメラ位置、ゲームの要素)が映っており、それらを確認しながら位置の調整ができます。Game画面では、カメラを通して見えるゲームの画面が表示されます。

2.Hierarchy(ヒエラルキー)ビュー

オブジェクトの構造を表示する画面です。オブジェクトがどのような階層で配置されているかを確認できます。またオブジェクトのドラッグ&ドロップで階層を変えることが可能です。

3.Project(プロジェクト)ビュー

データファイルをツリー上に表示する画面です。ファイルの編集等を行うことができます。

4.Inspector(インスペクター)パネル

オブジェクトやファイルの内容を表示する画面です。各種設定の変更等を行うことができます。今回、Kinect v2からUnityちゃんを操作する場合は、この「Inspector」から、各関節を関連付ける作業が必要になります。この画面はとっても重要な画面です。次回に詳説します。

5.ツールバー

オブジェクトやゲームを操作する部品が配置されています。

6.ステータスバー

エラーメッセージ等を表示します。図12の画面でも、このステータスバーに警告メッセージが表示されていますが、無視して構いません。

まずは、「UnityChan」を配置して、動かしてみましょう。

Unityちゃんを動かしてみよう

まず、図11の3内の「Project」にある「UnityChan」フォルダ内の「prefabs」フォルダにある「unitychan」を2の「Hierarchy」内にドラッグ&ドロップします(図13)。

図13: 「unitychan」を2の「Hierarchy」内にドラッグ&ドロップする

すると、図14のようにScene画面内にUnityちゃんが配置されます。

図14: Unityちゃんが配置された(クリックで拡大)

Unityちゃんがどのようにカメラに映っているかは、カメラのアイコンをクリックして確認します。画面の右下に「Camera Preview」が表示されます(図15)。

図15: Camera Previewが表示された(クリックで拡大)

図15を見るとわかりますが、Unityちゃんが遠くのほうに小さく表示されています。もっと大きく表示するためにはカメラをUnityちゃんに近づけます。前方に向いているカメラの「青矢印(→)」をドラッグすると、カメラがUnityちゃんに近づきます(図16)。

図16: カメラをUnityちゃんに近づけた(クリックで拡大)

図16をみるとUnityちゃんはカメラに近づきましたが、黒く影のように映っています。これは光源がないからです。ここでライトを当てます。「Hierarchy」の下にある「Create」の「▼」をクリックします。すると各オブジェクトが表示されますので、そのなかから「Directional Light」を選択します(図17)。

図17: 「Directional Light」を選択する

「Directional Light」を追加して、再度カメラをクリックすると、今度は影のようではなく、ちゃんと表示されます(図18)。

図18: Unitychanにライトが当たって表示された(クリックで拡大)

しかし、図18を見るとUnityちゃんは後ろ向きで表示されています。これを前向きに変更しましょう。
「Hierarchy」内の「unitychan」を選択します。すると「Scene」上のUnityちゃんが選択状態になり、「Inspector」の中に、各設定画面が表示されます。その中の「Transform」にある「Rotation」の「Y」の値が「0」になっているので「180」に変更します。180度回転させる訳です。これで、Unityちゃんがきちんとカメラの方を向いて表示されます(図19)。

図19: Unityちゃんがカメラ方向に向いて表示された(クリックで拡大)

図19の状態から、図12の5の「ツールバー」にある「▶」アイコンをクリックすると、Unityちゃんの「Game」画面に切り替わります。まだUnityちゃんは動きませんが、右隅上にある「Next」や「Back」ボタンをクリックすると、Unityちゃんのいろいろな動作を確認できます(図20)。

図20: Unityちゃんのいろいろな動作を確認できる

今回は、ここまでです。最終回となる次回では、いよいよKinect v2からUnityちゃんの動きを操作します。まったくのノンコーディングで実現できます。そのためには、Unityちゃんを動かすための「Controller」のダウンロードが必要になります。さらに、UnityちゃんをKinect v2と同期させる方法も解説していきます。お楽しみに。

薬師寺国安事務所

薬師寺国安事務所代表。Visual Basic プログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。
1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。1997年に薬師寺聖とコラボレーション・ユニット PROJECT KySS を結成。2003年よりフリーになり、PROJECT KySS の活動に本格的に参加、.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。Windows Phoneアプリ開発を経て、現在はWindows ストア アプリを多数公開中

Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています