この記事ではUnityのPlaymakerを使用してStylyのVR空間でスローモーションを作る方法を紹介します。 マウスのボタンとHTC Viveのコントローラでの操作になります。
完成のイメージはこのようになります。 トリガーを押しているときだけ時間がスローモーションになります。
サンプル
STYLY GALLERYからサンプル空間を体験できます。
記事で紹介しているUnityプロジェクトのダウンロードはこちらからできます。 Slowmotion_Sample プロジェクトデータには各種プラグインは入っていませんので使用する際はご自身でインストールしてからご利用ください。 Playmaker SteamVR Plugin
PlaymakerとSteam VR Plugin
アセットストアからそれぞれダウンロードしてUnityで使用できる状態にします。
Playmakerは有料アセットです。 Playmaker
Steam VRは無料で使用できます。 SteamVR Plugin
Bulletの作成
スローモーションを感じるための動くアセットとして弾丸を作ります。
Sphereの名前を”Bullet”としてスケールをそれぞれ0.1にしました。 Bulletを選んだ状態でPlaymaker Editorを開きます。
右クリックから”Add FSM”を選びます。
新しくStateが作られました。 FSMの名前をBulletspeedに変更しました。 続いてBulletへのActionを追加していきます
Action Browserをクリックします。
BrowserからTransformのTranslateを選択してAdd Action To Stateをクリックします。 これでActionが追加されました。 弾丸のスピードを設定します。
ここではZに7を設定しました。
これをPrefabにします。
弾丸が出る場所を作る
Bulletspawnという名前のCubeを作りMesh Rendererのチェックを外します。
BulletspwanにもPlaymakerでFSMを作成します。
Add ActionからFind Game Objectを追加します。
With TagからMainCameraを選択してMainCameraのタグを持ったオブジェクトをFindします。
New Variableから新規の変数を作りそこに格納します。
ここではmainCameraという変数名にしました。 Add Stateをして新たにStateを作ります。
TransformからLook Atを追加します。
Look Atのターゲットを先ほど作ったMainCameraにしてKeep Verticalのチェックを外します。 State1のTransitionをFINISHEDにします。
そこからState2につないでいきます。
次にState3を作り、Create ObjectのActionを追加します。
Createするオブジェクトを指定します。
Game Objectには”Bullet”をSpawn Pointには”Bulletspawn”を指定します。
Send EventのActionを追加してTransitionをFINISHEDにします。 State2からState3につなぎます。
繰り返しになるようにState3からState2にもつなぎます。
1秒ごとに発射されるようにWaitを追加します。
時間は1秒にしました。 Finish EventはFINISHEDにします。 このままだと弾丸がずっと飛び続けてしまうので適当なところでDestroyします。
Destroy ObjectでBulletを指定してDelayする時間を4秒にしました。 この記事ではUnityのPlaymakerを使って弾丸を自動生成する方法を紹介しました。 次の記事ではこの弾丸の動きをスローモーションにする方法を紹介します。 続き
UnityからSTYLYにアセットをアップロードする方法