ユニティちゃんのLiveプロジェクトが公開され、さわって遊んでUnityの楽しさを更に味わえるようになりました。
また、このLive 『Candy Rock Star』のデータを利用した動画・ゲームなどのコンテストが開催されています。
特設サイトはこちら: ユニティちゃんディレクター杯|UNITY-CHAN DIRECTOR CUP
さて、このLive、かなり迫力のあるプロジェクトなのですが、Oculusを使ってライブ会場の臨場感を味わいながら、ユニティちゃんがあなただけを見つめて歌ってくれるように改造してみましょう。しかも、あなたはステージ最前列かぶりつきでユニティちゃんを独占しちゃいます。
参考にさせていただいたサイト。ありがとうございます。
- ユニティちゃんライブ公開!とりあえず役立ちそうな情報とか、入手方法とかまとめてる:テラシュールブログ
- Unityでキャラクターに見つめてもらう:銀の弾丸、はじめました
- JUST LOOKING AROUND
まずは、Unity-Chan公式サイトのダウンロードページから『Candy Rock Star』のプロジェクトファイルをダウンロードしましょう。
続いて、必要プラグインをダウンロードしてインポートしておきます。
必要なプラグインは下記の2つ。
これから修正を加える概要はこんなかんじです。
プロジェクトを開いて、Mainシーンを読み込んでもらえればわかるのですが、ヒエラルキービューにはユニティちゃんもステージも表示されません。これは、スクリプトから動的に各プレハブをインスタンス化しているためです。各オブジェクトを編集するためにはプレハブを編集し、変更をプレハブに適用する必要があります。(この概念がわかるとあとはスムーズに行くと思います)
ユニティちゃんのプレハブ「CandyRockStar」を編集するために、新しいシーンを作成し、
プロジェクトビュー内の「Assets」-「UnityChan」-「Prefab」内のCandyRockStarをヒエラルキービューにドラッグします。
仮にこのシーンは「TempScene1」とでも名付け保存しておいてください。
では、CandyRockStarプレハブに修正を加えていきましょう。
まずは、ユニティちゃんの視点の先を変更するスクリプトをアタッチします。
ヒエラルキービュー内の「CandyRockStar」に対して、「Assets」-「Head Look Controller」-「Scripts」内の’Head Look Controller’スクリプトをアタッチし、下記を参考にプロパティの設定を行います。
次に、ユニティちゃんが見つめる先のターゲットを追加し、スクリプトをアタッチします。
ヒエラルキービューでSphereを追加し、「Assets」-「Head Look Controller」-「Scripts」内の’CusorHitr’スクリプトをアタッチし、下記を参考にプロパティの設定を行います。
プロパティの設定が終わったら先ほど追加したSphereの名前を「LookupTarget」に変更してCandyRockStarの子オブジェクトになるように移動しましょう。これで、このLookupTargetはCandyRockStarプレハブの一部になります。
実行して、SceneビューでLookup Targetを移動してみましょう。ユニティちゃんが踊りながらターゲットの方に顔を向けることを確認できると思います。
では、この変更がMainシーンにも反映されるようにしましょう。
ヒエラルキービューでCandyRockStarを選択した状態で「GameObject」メニュー内の「Apply Changes To Prefab」を選択し、プレハブへの変更を適用します。これで、このプレハブを呼び出す全てのシーンにこのプレハブの変更が反映されるようになります。
続いて、Oculusの設定に移ります。
「Assets」-「Scenes」内のMainシーンを開きましょう。このシーンにはほとんど何も含まれていませんが、実行するとスクリプトから各プレハブがインスタンス化され表示されます。
ヒエラルキービューにOculusカメラを追加しましょう。「Assets」-「OVR」-「Prefabs」内の’OVRCameraController’をヒエラルキービューにドラッグします。
追加後、下記を参考にプロパティを設定します。これだけでOculusでの利用が可能になります。
追記2014/11/06
Oculus SDK 0.4.3からOVRCameraControllerの名称がOVRCameraRigに変更になりました。SDK 0.4.3以降を利用している方は読み替えてください。
ようてん@youten_redo さんご指摘ありがとうございました。
続いて、CandyRockStarに追加した視点の先「LookupTarget」の座標をOculusカメラの位置に移動するようにしましょう。
新しいスクリプトを作成しUpdate()関数内で座標の移動を行います。LookupTargetの座標はプレハブ内でユニティちゃんに対して相対的に設定されているためユニティちゃんが動くとそれに合わせてLookupTargetの位置も移動してしまいます。ですのでStart()内ではなくUpdate()関数内で毎回座標を変更してあげるようにしましょう。
新しいC#スクリプトを「UpdateLookupTarget」という名前で作成します。作成したらOVRCameraControllerにアタッチします。
UpdateLookupTargetスクリプトをダブルクリックし下記のように変更します。
using UnityEngine; using System.Collections; public class UpdateLookupTarget : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { GameObject.Find ("LookupTarget").transform.position = transform.position; } }
これで完成。ユニティちゃんがずっとあなたを見つめ、あなただけのために歌ってくれます。
