たこやき部屋

SteamVRを使って、Unityでゲームを開発したい

VRボンバーマンを作りたい その10(アイテム取得エフェクト)

VRTK Ver2.2.1の記事です。
Ver3になって使い方が色々と変わっています。ついでに名前も「SteamVR Unity Toolkit」から「Virtual Reality Toolkit」へ変わっています。
使い方はこちらの記事を参照してください。
takoyakiroom.hatenablog.com(以上、2017/02/04 追記)


今回はアイテム取得時のエフェクトを付けて、よりゲームっぽくしてみるところからスタートです。

爆弾置ける数増やすアイテムと、火力を増やすアイテムと2つ作ってきたけれど、アイテムを取った時にアイテムが身体に吸い込まれて、自分の周りに魔法陣が出てくるという、一度は体験してみたいエフェクトにしてみました。
じゃ魔法陣を描くで~!

さてさて、まず中心は12星座をあしらった六芒星となっております。
星座マークって「かにざ」とかで変換したらちゃんと出てくるんですね、機種依存文字らしいけど。
f:id:takoyakiroom:20161023000104p:plain

続いて2段目はシューティングゲーム大好きな人ならお馴染みのゼビ語です。
あの時代のゲームにこんな設定まで考えたていたとは、さすがでございます。
f:id:takoyakiroom:20161023000105p:plain

一番外側はルーン文字です。がんばって手で描いてみました。
って、ルーン文字ってUnicode3.0に入っているんですね! 今知ったわ
でもこれ誰が使うんだ!? あ、俺か・・・
f:id:takoyakiroom:20161023000107p:plain

この3つを互い違いに回転させて
f:id:takoyakiroom:20161023000116j:plain

外側から★を、これまた回転させながら射出します。
f:id:takoyakiroom:20161023000121j:plain

ゲーム画面ではこうなりました。ゲーム中の動画は記事の最後の方にあります。
f:id:takoyakiroom:20161023000127j:plain

取ったアイテムは、[Camera Rig]のCapsule Colliderの中心(このあたりが自分の身体の中心になる)に向かって小さくなりながら近づいていくようにしました。
f:id:takoyakiroom:20161023214210j:plain


次に炎に当たった時、VRの画面一瞬暗くなる処理を試しに入れてみます。

VRTKでVR画面を暗くするには「VRTK_HeadsetFade」が使えます。
使い方を見ると「Unity5.4以降では「[CameraRig]」の「Camera (head)」にある「Camera (eye)」にアタッチしろ」と書いてあるので、その通りにしてみる。
f:id:takoyakiroom:20161023220335j:plain

ところが、プログラムを実行すると「Camera (head)」が消えて、「[CameraRig]」の下に「Camera (eye)」が移動してる。
f:id:takoyakiroom:20161023220848j:plain

なので、VRTK_HeadsetFadeを呼び出す時は以下のようになります。

public void Dead()
{
    // 暗くする
    GameObject.Find("[CameraRig]/Camera (eye)").GetComponent<VRTK_HeadsetFade>().Fade(Color.black, 0.5f);
    Invoke("Unfade", 1.5f);
}

void Unfade()
{
    // 暗くしたの戻す
    GameObject.Find("[CameraRig]/Camera (eye)").GetComponent<VRTK_HeadsetFade>().Unfade(0.5f);
}

VR画面の色を暗くするのは「Fade(Color.black, 0.5f)」、戻すのは「Unfade(0.5f)」です。
「Fade」の引数1つ目は「画面を塗りつぶす色」、2つ目は「塗りつぶすまでにかける時間(秒)」。
「Unfade」は「元に戻すまでの時間(秒)」です。


最後に、今のままだと下のような状況で斜めに移動できてしまいます。
日本ファルコム」の初代「ドラゴンスレイヤー」(タモリが出て来るやつ)で経験値を貯めた時にできる、あの斜め移動です(古い)。
どうしたら対処できるんだろ、これ??
f:id:takoyakiroom:20161023222338j:plain

んでは、ゲーム中の動画とここまでのプログラムを置いておきます。
遊んでみてください。


↓ダウンロードはここから
https://drive.google.com/open?id=0Byq2RIkylpCQTmJ5NWtPV041TkU

では、また次回!!