第2回 AR表示したものを動かしてみよう

AR表示したものを動かしていきます

AR表示させるまで

第1回に書いてますのでそちらを見てください
今回は第1回の続きとしてブログを書いてます

Unityちゃんのダウンロード

今回AR表示させるものはUnityちゃんというキャラクターです。
無料で提供されています。

(1) Unity画面の「Asset Store」をクリックします

asset store

(2)「Search for assets」に「Unitychan」と入力して検索して「”Unity-Chan!” Model」を選択して「Import」をクリック

unitychanimport1

(3) このような表示が出るので「Import」をクリック

unitychanimport2

(4) ImageTargetにあるSphereを右クリック「Delete」で削除してください

ARオブジェクト削除

(5) ProjectのAssetsに「unity-chan!」が追加されるので「unity-chan!→Unity-chan! Model→Prefabs」の中の「unitychan」をImageTargetにドラッグ

ARオブジェクト

ドラッグ後の状態

ARオブジェクト追加

(6) Assetsの「Open C# Project」で「AutoBlink.cs」を開いて8行目「using System.Security.Policy」をコメントアウトしてください

scriptコメントアウト

(7) Webカメラをつけ実行ボタンを押してUnityちゃんが表示されるか確認してください。画面上にある「Next」「Back」をクリックするとポーズが変わります

実行1

ページトップ

動かすための設定

(1) 「Hierarchy」 ウィンドウでUnitychanを選択した状態で、「Inspector」 ウィンドウの 「Animator」 内にある 「Controller」 の右にある丸いボタンをクリックします

animator

(2) 「UnityChanLocomotions」を選択します

動かすscript選択

(3) 「UnityChanLocomotions」をダブルクリックします。 すると下記画面が出る

scriptanimator1

scriptanimator2

(4) 「Assets → unity-chan! → Unity-chan! Model → Scripts」の中の「UnityChanControlScriptWithRgidBody」をunitychanにドラッグ

script登録

ドラッグした後のUntiychanの「Inspecter」に「UnityChanControlScriptWithRgidBody」が追加されていますその時に「Idle Changer」「Face Update」「Auto Blink」についているチェックを外してください
その後、「RigidBody」の「Use Gravity」のチェックを外して「Is Kinematic」にチェックを入れてください
script追加

(5) 「Assets → unity-chan! → Unity-chan! Model → Scripts」の中の「UnityChanControlScriptWithRgidBody」をダブルクリックしてください

script開く

(6) 下記で記載しているコードをコメントアウトか削除してください

この処理を行わないとエラーが出ます

45行目付近 private GameObject cameraObject; // メインカメラへの参照

62行目付近 cameraObject = GameObject.FindWithTag(“MainCamera”); //メインカメラを取得する

125行目付近 cameraObject.SendMessage (“setCameraPositionJumpView”); // ジャンプ中のカメラに変更

173行目付近 cameraObject.SendMessage(“setCameraPositionFrontView”); // カメラを正面に切り替える

(7) 下記で記載しているコードを削除するかコメントアウトしてください

200行目付近
void OnGUI ()
{
GUI.Box (new Rect (Screen.width – 260, 10, 250, 150), “Interaction”);
GUI.Label (new Rect (Screen.width – 245, 30, 250, 30), “Up/Down Arrow : Go Forwald/Go Back”);
GUI.Label (new Rect (Screen.width – 245, 50, 250, 30), “Left/Right Arrow : Turn Left/Turn Right”);
GUI.Label (new Rect (Screen.width – 245, 70, 250, 30), “Hit Space key while Running : Jump”);
GUI.Label (new Rect (Screen.width – 245, 90, 250, 30), “Hit Spase key while Stopping : Rest”);
GUI.Label (new Rect (Screen.width – 245, 110, 250, 30), “Left Control : Front Camera”);
GUI.Label (new Rect (Screen.width – 245, 130, 250, 30), “Alt : LookAt Camera”);
}

ページトップ

実行

(1) 実行ボタンを押しunitychanが表示されたらキーボードの矢印キーやスペースキーで動かすことができます

上矢印キー 前に移動
左右矢印キー 向きを変える
下矢印キー 後ろに移動
動かない状態でスペースキー 伸びのポーズをする
前移動している状態でスペースキー ジャンプする

※上矢印キーを押して後ろに移動した場合は、以下のようにvの前に「-」につけて実行してみてください
83行目付近 velocity = new Vector3(0, 0, -v);

ソースを変更して移動速度や動きを変えてみてください


ページトップ