AR表示したものを動かしていきます
AR表示させるまで
今回は第1回の続きとしてブログを書いてます
Unityちゃんのダウンロード
無料で提供されています。
(1) Unity画面の「Asset Store」をクリックします
(2)「Search for assets」に「Unitychan」と入力して検索して「”Unity-Chan!” Model」を選択して「Import」をクリック
(3) このような表示が出るので「Import」をクリック
(4) ImageTargetにあるSphereを右クリック「Delete」で削除してください
(5) ProjectのAssetsに「unity-chan!」が追加されるので「unity-chan!→Unity-chan! Model→Prefabs」の中の「unitychan」をImageTargetにドラッグ
ドラッグ後の状態
(6) Assetsの「Open C# Project」で「AutoBlink.cs」を開いて8行目「using System.Security.Policy」をコメントアウトしてください
(7) Webカメラをつけ実行ボタンを押してUnityちゃんが表示されるか確認してください。画面上にある「Next」「Back」をクリックするとポーズが変わります
動かすための設定
(1) 「Hierarchy」 ウィンドウでUnitychanを選択した状態で、「Inspector」 ウィンドウの 「Animator」 内にある 「Controller」 の右にある丸いボタンをクリックします
(2) 「UnityChanLocomotions」を選択します
(3) 「UnityChanLocomotions」をダブルクリックします。 すると下記画面が出る
(4) 「Assets → unity-chan! → Unity-chan! Model → Scripts」の中の「UnityChanControlScriptWithRgidBody」をunitychanにドラッグ
ドラッグした後のUntiychanの「Inspecter」に「UnityChanControlScriptWithRgidBody」が追加されていますその時に「Idle Changer」「Face Update」「Auto Blink」についているチェックを外してください
その後、「RigidBody」の「Use Gravity」のチェックを外して「Is Kinematic」にチェックを入れてください
(5) 「Assets → unity-chan! → Unity-chan! Model → Scripts」の中の「UnityChanControlScriptWithRgidBody」をダブルクリックしてください
(6) 下記で記載しているコードをコメントアウトか削除してください
この処理を行わないとエラーが出ます
62行目付近 cameraObject = GameObject.FindWithTag(“MainCamera”); //メインカメラを取得する
125行目付近 cameraObject.SendMessage (“setCameraPositionJumpView”); // ジャンプ中のカメラに変更
173行目付近 cameraObject.SendMessage(“setCameraPositionFrontView”); // カメラを正面に切り替える
(7) 下記で記載しているコードを削除するかコメントアウトしてください
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);
ソースを変更して移動速度や動きを変えてみてください